[dpdk-dev] [PATCH v5 00/12] lib: add RIB and FIB liraries
Morten Brørup
mb at smartsharesystems.com
Thu Sep 12 14:00:47 CEST 2019
Hi Vladimir,
> -----Original Message-----
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Medvedkin,
> Vladimir
>
> Hi Brørup,
>
> On 12/09/2019 08:37, Morten Brørup wrote:
> >> -----Original Message-----
> >> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Vladimir
> Medvedkin
> >>
> >> This is heavily reworked version of previous RIB library series:
> >> https://mails.dpdk.org/archives/dev/2018-April/099492.html
> >>
[snip]
> >> 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
> >> future
> >> (for example DXR, poptrie, etc).
> > The feedback following here is meant as a comment, not an objection.
> Feel free to ignore!
> >
> > 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.
> >
> > 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
More information about the dev
mailing list