Status of RPL in RIOT-OS, wrt standards came out today. Yes. I’m an author. But, I thought I’d start this topic to track how RIOT-OS implements or does not implement according to the specifications. Can we add an RPL tag?


Regarding RPL Option / RPI Option: it is not supported yet (even the old RFC-6553-style ones). Mainly, but not exclusively because IPv6 options are not really flashed out in GNRC at the moment.

There is an old PR trying to integrate them, but that one is awefully out of date since the whole handling of the IPv6 extension headers was heavily refactored in the meantime. As mentinoned in that PR, I am working on an updated version to that, but I am only making very slow process since I am mostly occupied with other stuff these days. So any help on that front is very welcome.

Regarding the state of other things RPL, maybe @cgundogan or @benpicco can tell more.

Ah, I am sad to learn that my knowledge of RPI in RIOT-OS is so weak as to not know we lack any headers. What about RH3? If you flag me directly in github, I will review more.

Do you mean RPL source routing headers? At least the handling part is implemented for those.

Just for the understanding of someone who’s just trying to see RPL as more than a black box that makes things work: AIU RIOT currently only does storing routing. Is any of the tunneling text in RFC9008 applicable for that case, or does that only apply to non-storing cases anyway?

(I’m using as intro materials to RPL, is that still good?)

I’d forgotten about the IETF94 RTGAREA presentation; I think Ines did the talking, and I had a conflict. Those slides still are pretty good, even though IETF94 seems like two lifetimes ago.

RFC9008 deals with the RH3 and RPI headers for both storing and non-storing mode. There are 12 scenarios for each of the two cases.