[PATCH v5 0/2] Add config file support for l3fwd
Ananyev, Konstantin
konstantin.ananyev at intel.com
Sun Feb 6 16:16:22 CET 2022
> > 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.
> >
> > V4:
> > * Fix nondeterministic bug of segfault on termination of
> > sample app.
> > V5:
> > * Reintroduce hardcoded tables as to not break dts and
> > allow for hardcoded tables to be used if no config
> > files presented.
> >
> > 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/l3fwd.h | 41 +++
> > examples/l3fwd/l3fwd_em.c | 471 +++++++++++++++++-------
> > examples/l3fwd/l3fwd_fib.c | 50 +--
> > examples/l3fwd/l3fwd_lpm.c | 315 +++++++++++++++-
> > examples/l3fwd/l3fwd_route.h | 41 +++
> > examples/l3fwd/lpm_default_v4.cfg | 17 +
> > examples/l3fwd/lpm_default_v6.cfg | 17 +
> > examples/l3fwd/main.c | 68 +++-
> > 11 files changed, 949 insertions(+), 194 deletions(-)
> > create mode 100644 examples/l3fwd/em_default_v4.cfg
> > create mode 100644 examples/l3fwd/em_default_v6.cfg
> > create mode 100644 examples/l3fwd/lpm_default_v4.cfg
> > create mode 100644 examples/l3fwd/lpm_default_v6.cfg
> >
>
> Why not use the DPDK cfgfile library and format?
> It is model after standard INI format.
It is probably some sort of misunderstanding:
This patch doesn't add configuration file for some l3fwd run-time parameters
(number of ports/queues, queue/cpu mappings, etc.).
It allows user to specify he's own routing table instead of hard-coded ones.
For routing table .ini file format is not really suitable.
Instead we follow format similar to what is used in other DPDK apps
(l3fwd-acl, ipsec-secgw, test-acl, test-fib, test-sad, etc.) for these purposes:
list of route entries, each entry occupies exactly one line.
As an example:
/examples/l3fwd/lpm_default_v4.cfg
#Copy of hard-coded IPv4 FWD table for L3FWD LPM
R198.18.0.0/24 0
R198.18.1.0/24 1
R198.18.2.0/24 2
R198.18.3.0/24 3
....
I suppose it is self-explanatory, intuitive and close enough
to what user used for with unix-like route config tools.
Konstantin
More information about the dev
mailing list