Restructering RPL

Hi,

in near future I´m planing restructering RPL (+ implement non-storing mode) and to some extend the routing layer. Based on already given feedback I ended up with a picture of present vs. future architecture. I would be pleased to have some additional feedback from whoever is interested. Thanks in advance.

Cheers

Fabian

RPL_current_future.pdf (679 KB)

Hi, if you’re at it it would be nice if you can refactor the code to module conventions i.e. moving the types and prototypes that should be publicly available to sys/net/include/rpl.h (and rename them uniquely) in a similar fashion as I did a while ago for sixlowpan and destiny.

Cheers, Martine

Hi Fabian,

thanks for the nice overview of the current and the possible future state of the RPL implementation in RIOT. I like your plan for modular reorganisation of RPL. The encapsulation enables extensions and ease maintenance on specific parts.

Im working with security in RPL and would like to provide an exchangeable 'security module' that protects RPL against routing attacks. It would perfectly fit between RPL DODAG and RPL Core in your plan. Right now we have an implementation of the security architecture TRAIL (https://github.com/RIOT-OS/RIOT/pull/386) that is heavy entangled with the current state of RPL. In short it protects against deliberate rank announcements.

I would like to collaborate to define interfaces for possible security mechanisms in the future RPL implementation.

Best regards, Martin