Thread (61 messages) 61 messages, 8 authors, 2019-11-06

Re: [dpdk-dev] [PATCH v5 00/12] lib: add RIB and FIB liraries

From: Morten Brørup <hidden>
Date: 2019-09-12 12:00:53

Hi Vladimir,
-----Original Message-----
From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Medvedkin,
Vladimir

Hi Brørup,

On 12/09/2019 08:37, Morten Brørup wrote:
quoted
quoted
-----Original Message-----
From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Vladimir
Medvedkin
quoted
quoted
This is heavily reworked version of previous RIB library series:
https://mails.dpdk.org/archives/dev/2018-April/099492.html
[snip]
quoted
quoted
Second library is FIB that is Forwarding Information Base. It
represents
dataplane related struct and algorithms for longest prefix match.
Internally it consists of two parts - RIB (control plane ops) and
implementation for the dataplane tasks.
Initial version provides two implementations for both ipv4 and ipv6:
dummy (uses RIB as a dataplane) and DIR24_8 (same as current LPM)
Due to proposed design it allows to extend FIB with new algorithms
in
quoted
quoted
future
(for example DXR, poptrie, etc).
The feedback following here is meant as a comment, not an objection.
Feel free to ignore!
quoted
This FIB library is designed for IP based forwarding only.

How about forwarding based on other criteria?
E.g. the FIB in a standard Ethernet switch is based on VLAN+MAC.

Such a FIB would probably require a different library, based on a
hash structure, and would also require a compare-and-set function
callable from the data plane in order to provide wire speed learning.
quoted
So I suggest that the documentation highlights that this FIB library
is for IP based forwarding. Optionally also reconsider the name of the
library and its functions, structures etc..

Thanks for the feedback.

Yes, at the moment FIB has only longest prefix match algorithms.
However, it is possible to add different exact match algorithms for
VLAN+MAC/MPLS/etc processing.

It is always hard to find proper name for library/function/variable, so
if you think that fib name is not relevant feel free to suggest better
:)
You can use ip_/ipv4_/ipv6_ somewhere in the common prefix, like the ip_frag library, and unlike many other libraries. :-)

And again: Feel free to ignore!
--
Regards,
Vladimir
Med venlig hilsen / kind regards
- Morten Brørup
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help