[dpdk-dev] [PATCH v4 0/4] lib/rib: Add Routing Information Base library

Bruce Richardson bruce.richardson at intel.com
Fri Jun 29 17:48:21 CEST 2018


On Fri, Apr 27, 2018 at 01:03:30AM +0300, Medvedkin Vladimir wrote:
> This patch series introduces new library librte_rib which potentially could
> replace librte_lpm.
> 
> RIB is an alternative to current LPM library.
> It solves the following problems
>  - Increases the speed of control plane operations against lpm such as
>    adding/deleting routes
>  - Adds abstraction from dataplane algorithms, so it is possible to add
>    different ip route lookup algorythms such as DXR/poptrie/lpc-trie/etc
>    in addition to current dir24_8
>  - It is possible to keep user defined application specific additional
>    information in struct rte_rib_node which represents route entry.
>    It can be next hop/set of next hops (i.e. active and feasible),
>    pointers to link rte_rib_node based on some criteria (i.e. next_hop),
>    plenty of additional control plane information.
> 
> v4:
>   fix various bugs
>   make struct rte_rib opaque
>   make inline functions instead of macro
>   remove RTE_RIB_MALLOC node allocation type
>   add new lookup functions
>   remove rte_dir24_8_lookup()
>   add rte_dir24_8_get_lookup()
>   add meson support
>   add fib configuration
> 
> 
> Medvedkin Vladimir (4):
>   Add RIB library
>   Add dir24_8 implementation for rib library
>   Add autotests for RIB library
>   Add support for lpm and rib bulk lookup
> 
Some general comments on this set:

* run checkpatches and check-git-log from devtools on the set, a number of
  warnings are thrown up by both [e.g. no initial-caps for patch titles]
* before merge to DPDK this probably needs to be split up into smaller
  patches with more limited set of functionality in each one. For example,
  the create/destroy, add/delete and lookup functions can probably go in
  separate patches to make reviews easier.




More information about the dev mailing list