Wireshark-bugs: [Wireshark-bugs] [Bug 10462] 6LoWPAN Mesh headers not treated as encapsulating a
Date: Thu, 18 Sep 2014 06:22:26 +0000

Comment # 8 on bug 10462 from
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.