sys/net/network_layer added a core implementation of a FIB #2211
sys/net/network_layer added a core implementation of a FIB #2211miri64 merged 1 commit intoRIOT-OS:masterfrom
Conversation
|
Wouldn't |
sys/net/include/fib/fib.h
Outdated
There was a problem hiding this comment.
Didn't we talk about this previously, to use kernel_pid_t as type for iface_id?
There was a problem hiding this comment.
Yeah it was an attempt to save a byte for each entry.
I change it :)
Hmm don't know, its more forwarding than routing |
873c9bb to
e7b924f
Compare
|
actually I think network layer is the correct place for this module. |
|
I think it's pretty arbitrary, since the network layer uses it to find the next hop and routing (which is more or less part of the network layer) is filling it. |
|
@BytesGalore, @authmillenon: does it makes sense to convert the test application into a unit test? |
|
@haukepetersen definitely. I will migrate the tests this afternoon/tomorrow morning |
|
nice! |
|
While researching for IPv6's neighbor cache I stumbled upon the data structure Destination Cache which is pretty similar (or probably the same thing, just another term for) the FIB, except that it is suggested to store things like path MTU or round-trip timers. Do we want to add such things to the FIB
|
|
No. Keep the FIB as simple as possible. And from what I read this destination cache is quite different from a FIB (e.g., it includes off-link destinations, too). |
|
Usually I wouldn't expect to ask the FIB for the PMTU, or other path specific information directly. But this is just my individual opinion and does not take IPv6 capabilities of RIOT into account. [1] https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/include/net/ip6_fib.h |
|
I fully agree with @BytesGalore here. |
|
If you rebase, I start reviewing this, since I come to the point, were I need it in IPv6 :D |
sys/Makefile.include
Outdated
There was a problem hiding this comment.
move fib/fib.h to sys/include/net/ng_fib.h and all its sub-headers to sys/include/net/ng_fib/ and remove this line to make this part of NTSF.
|
Apart from my issue with |
|
So you did not consider to move |
|
ah sorry I did that but forgot to commit the changes 😊 |
|
squashed |
|
ACK when Travis is happy :) |
|
To make travis happy I need to suppress a cppcheck warning due to a buffer I reuse in a unittest twice. |
There was a problem hiding this comment.
s# \*/$#since we test prefix matching \*/#?
|
Re-ACK, please squash. |
|
re-squashed |
|
Waiting for Travis… |
There was a problem hiding this comment.
done and squashed since the change will not destroy anything (hopefully)
There was a problem hiding this comment.
(please squash immediately to speed things up ;-))
There was a problem hiding this comment.
There is still a whitespace at the end.
There was a problem hiding this comment.
I think github tricks us, inspecting the file in raw shows the whitespace is gone :)
There was a problem hiding this comment.
You're right... Travis just passed this test.
|
And go \o/ |
sys/net/network_layer added a core implementation of a FIB
|
Woohooo 😄 |
This PR introduces a Forwarding Information Base (FIB) implementation.
It will replace the
ip_get_next_hop()call on registered functions from routing protocols (RPs), e.g. here.universal address containerthat allows to use one added entry multiple times.