-
Notifications
You must be signed in to change notification settings - Fork 2k
NSTF: FIB Status and future plans
#Current Status of the FIB
Currently the RIOT FIB is a standalone implementation, meaning that beside the unittests [1] and the shell commands [2] its not used productively in the current or ng_
network-stack.
-
With #2765 I started to integrate the FIB to the RPL implementation, which is pretty far now. @cgundogan pointed me to an implementation flaw regarding handling of DAOs and routes for sub-DODAGs in storing MOP [3].
After some discussion I opened #2818 to provide a function to cope with the DAO problem in conjunction with the FIB, which seems to be a reasonable way to handle this. -
To provide a more flexible and modular behaviour I've opened PR #2763, allowing for easily extending the FIB with new functions.
Basically this PR enables to exchange/extend the access functions to the FIB by including specific headers. (could be something for #2818 to be only loaded conditionally when RPL is used). -
There are also two cosmetic/bugfix PRs open for the FIB namely #2782 and #2783.
-
I started to assist @Lotterleben to integrate the FIB in aodvv2.
-
The FIB is blocking on
fib_get_next_hop(...)
calls. Its the same behaviour as using the current RPL implementation, however Prof. Thomas C. Schmidt pointed me that its a very bad behaviour to block the caller, i.e. the network-layer, until a next-hop is found or the call returns without success (And I totally agree). So something must be done to solve this. -
The FIB allows for registration of Reactive Routing Protocols (RRPs) that are triggered for route requests and, resulting from using FIB in aodvv2, to inform the RRP if a route has been used.
(Again Prof. Thomas C. Schmidt pointed me on that one) Since the FIB provides setting a lifetime for its entries to automatically delete them if it expires, it could be beneficial or even necessary to inform proactive routing protocols about it, so that they can refresh/revive for instance an IP prefix in the FIB. -
Implementing security hooks in the FIB to allow for attestation/verification of next-hop entries before they are recorded in the FIB-Table. (But this can be only done if the FIB is in a solid state)
[1] https://github.com/RIOT-OS/RIOT/tree/master/tests/unittests/tests-fib
[2] https://github.com/RIOT-OS/RIOT/blob/master/sys/shell/commands/sc_fib.c
[3] https://github.com/RIOT-OS/RIOT/pull/2765#discussion_r28314044