Closed fkerem closed 2 years ago
Found the same case in other issue which was closed without a proper response: contiki-ng/contiki-ng#779
First of all, your BR is likely also the RPL root, which is the entity that distributes routable prefixes (such as Unique Local Address prefixes, i.e., fd00::/8, or global address prefixes, i.e., 2000::/3). Now, a node becomes root when rpl_dag_root_start()
is called, in which the prefix to be distributed in DIOs is set via rpl_dag_root_set_prefix()
as follows:
Then you just follow the function calls through rpl_dag_root_set_prefix()
, which is pretty uneventful:
And finally you arrive at set_global_address()
:
If you were to look further into the default prefix to be distributed you'd see that the ULA prefix is default, which makes sense because that ensures global-like routing behavior within your organization without conflicting with the true global address space (because the routers at the border of your organization MUST NOT route ULAs). Now, I'd wager the problem lies somewhere in the difference in implementation between rpl_dag_root_start()
in RPL-lite and RPL-classic but you'd have to look into it yourself.
Thanks for the comments -- we have merged PR #1666.
Hi,
Even though I try to assign a public IP prefix, the border router with the configuration
MAKE_ROUTING=MAKE_ROUTING_RPL_CLASSIC
assigns local prefixes (fd00::xxx). I don't have the same issue with RPL_LITE, it assigns the public prefix correctly. How can I fix this?Here is the tunslip6 command:
./tunslip6 2001:0660:3207:421::33/64 -v2 -L -s /dev/ttyA8_M3 -B 500000
BR with RPL_CLASSIC:
BR with RPL_LITE:
Appreciate your help.