-
Notifications
You must be signed in to change notification settings - Fork 0
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
RIOT - The friendly Operating System for the Internet of Things
Homepage | [GitHub] (https://github.com/RIOT-OS/) | Developers Mailing List | Users Mailing List | Twitter @RIOT_OS
- Family: ARM
- Board: Airfy Beacon
- Board: Arduino Due
- Board: CC2538DK
- Board: CC2650STK
- Board: HikoB Fox
- Board: IoT LAB M3
- Board: LimiFrog-v1
- Board: mbed_lpc1768
- Board: MSB-IoT
- Board: MSBA2
- Board: Nucleo-L1
- Board: Nucleo-F446
- Board: Nucleo-F334
- Board: Nucleo-F303
- Board: Nucleo-F091
- Board: Mulle
- Board: OpenMote
- Board: PCA1000x (nRF51822 Development Kit)
- Board: Phytec phyWAVE-KW22
- Board: RFduino
- Board: SAMR21-xpro
- Board: SAML21-xpro
- Board: Seeeduino Arch-Pro
- Board: SODAQ Autonomo
- Board: Spark Core
- Board: STM32F0discovery
- Board: STM32F3discovery
- Board: STM32F4discovery
- Board: UDOO
- Board: yunjia-nrf51822
- Board: Zolertia remote
- Family: ATmega
- Board: Arduino Mega2560
- Board: Arduino Uno
- Board: Arduino Duemilanove
- Family: MSP430
- Board: MSB-430H
- Board: TelosB
- Board: WSN430
- Board: Zolertia Z1
- Board: eZ430-Chronos
- Family: native
- Board: native
- Family: x86
- Board: Intel Galileo