[riot-users] How to configure RPL on a linux based border gateway?

Michael Richardson mcr at sandelman.ca
Wed Oct 23 14:48:53 CEST 2019

Philipp Blum <philipp-blum at jakiku.de> wrote:
    > I just tested the updated 6LoWPAN BLE adaption layer. Nimble + RIOT
    > works like a charm and it is simple to use. :) Really happy about it.

    > I just have a question about RPL and the border router. I configured a
    > 6LoWPAN network with 5 nodes. All are able to find each other. The root
    > is connected to my Notebook. I am able to ping the RPL root, but not the
    > other nodes. I can only reach all nodes within the RPL network. So, I
    > guess my Notebook also needs to be part of the RPL network in order to
    > route down the packages to the leafs, right?


    > So, how can I configure my
    > linux in order to be part of the RPL network? And how should I bridge
    > the network to the outside world? Or should the nordic connected to my
    > Notebook be the root?

That's a different option.

    > If it needs to be the root, how can I configure
    > this node to route all packages from my notebook down and all packages
    > coming from the leafs up? (Only, if the address is not within the RPL
    > network, of course.) To make it short: How do I need to configure my
    > border gateway so that all nodes have access to the outside world and
    > the outside world to my nodes?

Your choices are:
  1) configure/run RPL on Linux.
  2) run a copy of the RIOT-OS image on Linux as a process, connecting it
  3) make a directly (USB) connected mote be the RPL root.

I wish I could tell you that (1) is easy.  My code base at https://unstrung.sandelman.ca
only implements storing mode, and it hasn't gotten the attention it deserves
of late.  Further, the Linux kernel does not support (or tolerate), the RPL RPI
header needed by storing mode.  If you turn off RPI headers, that can be
tolerated if you want to use storing mode and you don't care about loop
detection.   But Linux also doesn't support the RH3 header needed for
non-storing mode.

Here is an article from a bunch of years ago:

There are two other RPL daemon implementations:
  a) https://mailarchive.ietf.org/arch/msg/roll/xc-T_ffsohltziUvGnp-uJQ9RKc
     Not sure if he has RPI patches too.

  b) https://github.com/linux-wpan/rpld  about two months old.

For (2), the idea is that you'd connect the image to a radio on your laptop,
and to a tun device.  Ideally, that RPL root would do DHCPv6-PD to get a
range, or your'd configure it yourself.  I have done this a long time ago
with Contiki.  I had patches, but they didn't get upstream.

For (3), you just have to get SLIP running on the serial USB and connect to a
tun device.   This is how most gateways have been built to date.
I'm sorry, I don't have a formula for RIOT-OS, as I'm also new, but I ran
this for years with Contiki/Contiki-NG.

]               Never tell me the odds!                 | ipv6 mesh networks [
]   Michael Richardson, Sandelman Software Works        |    IoT architect   [
]     mcr at sandelman.ca  http://www.sandelman.ca/        |   ruby on rails    [

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 487 bytes
Desc: not available
URL: <http://lists.riot-os.org/pipermail/users/attachments/20191023/da9c0088/attachment.sig>

More information about the users mailing list