Comment # 8
on bug 10462
from Kevin Bracey
Hmm. I can see that fixes it, but now I see the code...
I think it's simpler to just move lowpan_dlsrc_to_ifcid(pinfo) from the top of
dissect_6lowpan to before you start on the dispatch codes. dissect_6lowpan_mesh
is already updating the pinfo->src/dst addresses.
It would have to become "lowpan_src_to_ifcid" though, as it's not dl_src that's
updated by dissect_6lowpan_mesh, but src+net_src. I gather "src" is always
latest info, so I guess that's okay.
For a while, reading it, I was a bit worried about the IP-in-IP case, but I now
see that's handled by recursion rather than a linear parse like the mesh
header, so it doesn't need to write to src_iid/dst_iid, it just modifies the
local siid and diid pointers before the next call down, which is fine.
Which I think is an argument for not writing back to siid in the mesh header
parser - it means the very-similar-looking prototype for dissect_6lowpan_iphc()
and dissect_6lowpan_mesh() would be actually doing very different things with
the siid and diid arguments... Maybe making them const pointers on
dissect_6lowpan_iphc() would be good documentation.
You are receiving this mail because:
- You are watching all bug changes.