Hi Werner,

Thanks a lot for your email and your patches. I'm sorry it took me so 
long to reply.

> Good news: I got it to talk to Contiki. While I'm not sure it's
> working perfectly, a lot of things look right and pings between
> the two systems pass nicely.
This is a excellent news indeed!

> I tried a two-node setup with a Contiki leaf and a Linux root,
> and didn't experiment with any more complex topology.
This is a very encouraging start. I'm working on a IEEE 802.15.4 PHY 
emulator. Once this is done, I should be able to build some complex 
topologies, mixing Contiki and Linux nodes.

Also, are you sure that you meant to say "leaf" here? A leaf node in 
RPL is a node that implements a pretty limited subset of RPL. See 
Section 8.5 of RFC 6550 [1].

> There are two bugs left that complicate things. First, I had to
> change the order of linker arguments to get RplIcmp to load
> properly:
>
> 
> https://github.com/frtos-wpan/frtos-wpan/blob/master/patches/rplicmp-fix-shlib-dep.patch

Applied. Thanks! Let me know if the commit message is OK with you [2]. 
If you find it easier/faster, please don't hesitate to send my a pull 
request next time.

> The other bug seems to be in the Linux kernel: it assumes that an
> ICMPv6 message is at least 8 bytes. The DODAG Information
> Solicitation (DIS) Contiki sends is only 6 bytes, and I haven't
> found anything in RFC 4443 and RFC 6550 that would disallow having
> such a short ICMPv6 message.
I agree with your interpretation of the RFC. It's a good catch.

> The short RPL DIS is rejected by the kernel and thus never reaches
> simpleRPL. simpleRPL eventually reveals its presence and the two
> then start talking, but losing the DIS can delay node bringup
> considerably (minutes if not hours instead of seconds).
In my test environment setup, using KVM, the DIS seemed to work 
correctly. I'll have to investigate a bit more, after a few quick 
checks, it appears that a similar size limitation exists when sending 
ICMP packets (i.e. kernel would increase the size of DIS message before 
sending).

> A tentative fix is here:
> 
> https://github.com/wpwrak/ben-wpan-linux/commit/2532be747cc973b1a36f80bc773c6784ae9b0ffe
This patch will cause some side effects. It seems that some other code 
relies on the union in the "struct icmp6hdr" (defined in 
uapi/linux/icmpv6.h) being filled correctly. I would need a refresher on 
the skb structure before I could improve your patch.


> Thanks a lot for simpleRPL !
Thank you!

Regards,
Tony

[1]: https://tools.ietf.org/html/rfc6550#section-8.5
[2]: 
https://github.com/tcheneau/RplIcmp/commit/8fd6125d82e30b4b5d92d0acaa2e2ff469e4cde4

------------------------------------------------------------------------------
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

Reply via email to