This patch series adds two inbuilt nodes ip4_lookup_fib and ip6_lookup_fib in graph library. These nodes uses the existing Forwarding Information Base (FIB) library to create FIB, to do route addition and route lookup.
Two new commands (for ipv4 and ipv6) for providing the lookup mode is added in the dpdk-graph application. fib or lpm can be given as lookup mode. If these new lookup mode commands are not given, the dpdk-graph uses lpm (Longest Prefix Match) or lpm6 by default. If fib is given as lookup mode then the ip4_lookup_fib or ip6_lookup_fib nodes are used by the application. Ankur Dwivedi (12): fib: move macro to header file node: add IP4 lookup FIB node node: add IP4 FIB route add node: add process callback for IP4 FIB node: add next node in packet classification app/graph: add IP4 lookup mode command fib: move macro to header file node: add IP6 lookup FIB node node: add IP6 FIB route add node: add process callback for IP6 FIB node: add next node in packet classification app/graph: add IP6 lookup mode command app/graph/commands.list | 2 + app/graph/ip4_route.c | 34 +++- app/graph/ip6_route.c | 33 +++- app/graph/l3fwd.c | 24 +++ app/graph/module_api.h | 13 ++ doc/guides/tools/graph.rst | 24 ++- lib/fib/rte_fib.c | 3 - lib/fib/rte_fib.h | 3 + lib/fib/rte_fib6.c | 11 +- lib/fib/rte_fib6.h | 3 + lib/node/ip4_lookup_fib.c | 327 ++++++++++++++++++++++++++++++++++++ lib/node/ip6_lookup_fib.c | 316 ++++++++++++++++++++++++++++++++++ lib/node/meson.build | 4 +- lib/node/pkt_cls.c | 2 + lib/node/pkt_cls_priv.h | 2 + lib/node/rte_node_ip4_api.h | 19 +++ lib/node/rte_node_ip6_api.h | 19 +++ 17 files changed, 812 insertions(+), 27 deletions(-) create mode 100644 lib/node/ip4_lookup_fib.c create mode 100644 lib/node/ip6_lookup_fib.c -- 2.25.1