This patch series is currently work in process by me. There is also a known issue with the payload calculation for fragmented 6lowpan pakets.
I rework the uncompress_address function. The point is that the uncompression of a non-multicast address and multicast address is very different, so I split this in two function, according to rfc6282. - Small test with Linux - Linux works Maybe we can code some testing code to test all permuation with SAM, DAM, and M values. This would be nice, to see if any commit broke the address compression/uncompression. Please test this series to find some problems and reply to this mail. - Works with Contiki (layer based addresses) I use a not mainlined contiki device (Some device which I port contiki on it) with the examples/ping-ipv6 demo and enabled DEBUG. Contiki startup: Rime started with address 0.0.0.0.20.90.235.183 MAC 00:00:00:00:14:5a:eb:b7 nullmac nullrdc, channel check rate 128 Hz, radio channel 26 Tentative link-local IPv6 address fe80:0000:0000:0000:0200:0000:145a:ebb7 Starting PING6 process Linux setup from ifconfig: lowpan0 Link encap:UNSPEC HWaddr AA-AA-AA-AA-AA-AA-AA-AA-00-00-00-00-00-00-00-00 inet6 addr: fe80::a8aa:aaaa:aaaa:aaaa/64 Scope:Link inet6 addr: fe80::1/64 Scope:Link inet6 addr: 2001::1/64 Scope:Global UP BROADCAST RUNNING MULTICAST MTU:1281 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) wpan0 Link encap:UNSPEC HWaddr AA-AA-AA-AA-AA-AA-AA-AA-00-00-00-00-00-00-00-00 UP BROADCAST RUNNING NOARP MTU:127 Metric:1 RX packets:90 errors:0 dropped:0 overruns:0 frame:0 TX packets:700 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:300 RX bytes:5997 (5.8 KiB) TX bytes:52143 (50.9 KiB) Then I run 'ping6 fe80:0000:0000:0000:0200:0000:145a:ebb7%lowpan0' Contiki output: In Process PING6 Wait for DAD Sending Echo Request to fe80:0000:0000:0000:a8aa:aaaa:aaaa:aaaa from fe80:0000:0000:0000:0200:0000:145a:ebb7 Sending Echo Request to fe80:0000:0000:0000:a8aa:aaaa:aaaa:aaaa from fe80:0000:0000:0000:0200:0000:145a:ebb7 Sending Echo Request to fe80:0000:0000:0000:a8aa:aaaa:aaaa:aaaa from fe80:0000:0000:0000:0200:0000:145a:ebb7 Sending Echo Request to fe80:0000:0000:0000:a8aa:aaaa:aaaa:aaaa from fe80:0000:0000:0000:0200:0000:145a:ebb7 Sending Echo Request to fe80:0000:0000:0000:a8aa:aaaa:aaaa:aaaa from fe80:0000:0000:0000:0200:0000:145a:ebb7 END PING6 Linux behavior: The point is that Linux doesn't get this response, I think Contiki send some MAC-Layer which is doesn't support now. I need some time to working on this, why Linux doesn't get any response, but contiki is sending it. Maybe somebody knows why? v2: - add patch to add uncompress multicast addresses - add patch for new uncompress address function Alexander Aring (7): 6lowpan: fix small comment issue 6lowpan: fix return value with comment operator 6lowpan: init 6lowpan header and ipv6hdr to zero 6lowpan: remove setting some memory regions to zero 6lowpan: use _saddr and _daddr instead of skb data 6lowpan: add function to uncompress multicast addr 6lowpan: lowpan_uncompress_addr with address_mode net/ieee802154/6lowpan.c | 220 ++++++++++++++++++++++++++--------------------- net/ieee802154/6lowpan.h | 8 +- 2 files changed, 128 insertions(+), 100 deletions(-) -- 1.8.3.2 ------------------------------------------------------------------------------ See everything from the browser to the database with AppDynamics Get end-to-end visibility with application monitoring from AppDynamics Isolate bottlenecks and diagnose root cause in seconds. Start your free trial of AppDynamics Pro today! http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk _______________________________________________ Linux-zigbee-devel mailing list Linux-zigbee-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-zigbee-devel