On Tue, 11 Jul 2017 19:33:04 +0000 Medvedkin Vladimir <medvedk...@gmail.com> wrote:
> Hi, > > I want to introduce new library for ip routing lookup that have some > advantages > over current LPM library. In short: > - Increases the speed of control plane operations against lpm such as > adding/deleting routes > - Adds abstraction from dataplane algorythms, 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_v4_node which represents route entry. > It can be next hop/set of next hops (i.e. active and feasible), > pointers to link rte_rib_v4_node based on some criteria (i.e. > next_hop), > plenty of additional control plane information. > - For dir24_8 implementation it is possible to remove > rte_lpm_tbl_entry.depth > field that helps to save 6 bits. > - Also new dir24_8 implementation supports different next_hop sizes > (1/2/4/8 bytes per next hop) > > It would be nice to hear your opinion. The draft is below. > > Medvedkin Vladimir (1): > lib/rib: Add Routing Information Base library > > config/common_base | 6 + > doc/api/doxy-api.conf | 1 + > lib/Makefile | 2 + > lib/librte_rib/Makefile | 43 ++++ > lib/librte_rib/rte_dir24_8.c | 411 +++++++++++++++++++++++++++++++++++++++ > lib/librte_rib/rte_dir24_8.h | 144 ++++++++++++++ > lib/librte_rib/rte_rib.c | 454 > +++++++++++++++++++++++++++++++++++++++++++ > lib/librte_rib/rte_rib.h | 260 +++++++++++++++++++++++++ > 8 files changed, 1321 insertions(+) > create mode 100644 lib/librte_rib/Makefile > create mode 100644 lib/librte_rib/rte_dir24_8.c > create mode 100644 lib/librte_rib/rte_dir24_8.h > create mode 100644 lib/librte_rib/rte_rib.c > create mode 100644 lib/librte_rib/rte_rib.h > In network paralance a RIB is usually a full route table and FIB is the forwarding table in use. You probably don't want to call this a RIB. It looks more like an abstraction above FIB. https://networkengineering.stackexchange.com/questions/38588/rib-vs-fib-differences http://aftabsiddiqui.com/index.php/ip-routing-table-rib-and-forwarding-table-fib/