NSTF: FIB Status and future plans
#Current Status of the FIB
Currently the RIOT FIB is a standalone implementation, meaning that beside the unittests  and the shell commands  its not used productively in the current or
List of things in progress
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 .
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).
I started to assist @Lotterleben to integrate the FIB in aodvv2.
List of things TODO (right after the above)
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)