This patchset introduces config file support for l3fwd and its lookup methods LPM, FIB, and EM, similar to that of l3fwd-acl. This allows for route rules to be defined in configuration files and edited there instead of in each of the lookup methods hardcoded route tables.
V6: * Move config file parsing functions to separate files as to not bloat l3fwd code. V5: * Reintroduce hardcoded tables as to not break dts and allow for hardcoded tables to be used if no config files presented. V4: * Fix nondeterministic bug of segfault on termination of sample app. Sean Morrissey (2): examples/l3fwd: add config file support for LPM/FIB examples/l3fwd: add config file support for EM doc/guides/sample_app_ug/l3_forward.rst | 89 +++++-- examples/l3fwd/em_default_v4.cfg | 17 ++ examples/l3fwd/em_default_v6.cfg | 17 ++ examples/l3fwd/em_route_parse.c | 280 ++++++++++++++++++++++ examples/l3fwd/l3fwd.h | 7 + examples/l3fwd/l3fwd_em.c | 220 ++++++----------- examples/l3fwd/l3fwd_fib.c | 50 ++-- examples/l3fwd/l3fwd_lpm.c | 46 ++-- examples/l3fwd/l3fwd_route.h | 89 ++++++- examples/l3fwd/lpm_default_v4.cfg | 17 ++ examples/l3fwd/lpm_default_v6.cfg | 17 ++ examples/l3fwd/lpm_route_parse.c | 302 ++++++++++++++++++++++++ examples/l3fwd/main.c | 50 +++- 13 files changed, 992 insertions(+), 209 deletions(-) create mode 100644 examples/l3fwd/em_default_v4.cfg create mode 100644 examples/l3fwd/em_default_v6.cfg create mode 100644 examples/l3fwd/em_route_parse.c create mode 100644 examples/l3fwd/lpm_default_v4.cfg create mode 100644 examples/l3fwd/lpm_default_v6.cfg create mode 100644 examples/l3fwd/lpm_route_parse.c -- 2.25.1