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