rib: add RIB library
authorVladimir Medvedkin <vladimir.medvedkin@intel.com>
Fri, 1 Nov 2019 15:21:34 +0000 (15:21 +0000)
committerThomas Monjalon <thomas@monjalon.net>
Tue, 5 Nov 2019 23:08:56 +0000 (00:08 +0100)
commit5a5793a5ffa2231ae759de824fb8bfc970e5d4f7
treecde2826d9916b9046066cf4ea2d9e3a6842f60de
parent38383890b21f995c3dafa177298d744e1db0be84
rib: add RIB library

Add RIB (Routing Information Base) library. This library
implements an IPv4 routing table optimized for control plane
operations. It implements a control plane struct containing routes
in a tree and provides fast add/del operations for routes.
Also it allows to perform fast subtree traversals
(i.e. retrieve existing subroutes for a given prefix).
This structure will be used as a control plane helper structure
for FIB implementation. Also it might be used standalone in other
different places such as bitmaps for example.
Internal implementation is level compressed binary trie.

Signed-off-by: Vladimir Medvedkin <vladimir.medvedkin@intel.com>
12 files changed:
MAINTAINERS
config/common_base
doc/api/doxy-api.conf.in
doc/guides/rel_notes/release_19_11.rst
lib/Makefile
lib/librte_rib/Makefile [new file with mode: 0644]
lib/librte_rib/meson.build [new file with mode: 0644]
lib/librte_rib/rte_rib.c [new file with mode: 0644]
lib/librte_rib/rte_rib.h [new file with mode: 0644]
lib/librte_rib/rte_rib_version.map [new file with mode: 0644]
lib/meson.build
mk/rte.app.mk