From: "Ananyev, Konstantin" <konstantin.ananyev@intel.com>
To: Stephen Hemminger <stephen@networkplumber.org>
Cc: "Morrissey, Sean" <sean.morrissey@intel.com>,
"dev@dpdk.org" <dev@dpdk.org>,
"Medvedkin, Vladimir" <vladimir.medvedkin@intel.com>,
"Richardson, Bruce" <bruce.richardson@intel.com>
Subject: RE: [PATCH v5 0/2] Add config file support for l3fwd
Date: Tue, 8 Feb 2022 10:44:31 +0000 [thread overview]
Message-ID: <DM6PR11MB4491F160B1CFFFC207ED8F059A2D9@DM6PR11MB4491.namprd11.prod.outlook.com> (raw)
In-Reply-To: <20220207190419.2a1ca44b@hermes.local>
> > > > 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
>
> I was think either, use existing cfgfile and a a section of LPM
LPM can have thousands or even millions entries,
it probably wouldn't be nice to pollute all of them in .ini file
together with usual settings.
At least my preference would be to have them in separate file - clean and simple
> so that it could be an example and also have some generic code for handling
> prefix entries.
Didn't get your sentence above about 'generic code for handling prefix entries'.
Could you possibly elaborate.
> Or have a generic library for reading LPM entries. L3fwd is supposed
> to be as small as possible (it no longer is), and the real work should
> be done by libraries to make it easier to build other applications.
I never heard users ask about such thing,
but if there is a demand for that, then I suppose it could be considered.
CC-ing LPM/FIB maintainers to comment.
Though I believe it should be a subject of separate patch and discussion
(I think many questions will arise - what format should be, how to support
different types of user-data, to make it generic enough, etc.).
Konstantin
next prev parent reply other threads:[~2022-02-08 10:44 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-12-16 15:01 [PATCH v1 " Sean Morrissey
2021-12-16 15:01 ` [PATCH v1 1/2] examples/l3fwd: add config file support for LPM/FIB Sean Morrissey
2021-12-16 15:01 ` [PATCH v1 2/2] examples/l3fwd: add config file support for EM Sean Morrissey
2021-12-20 11:08 ` [PATCH v2 0/2] Add config file support for l3fwd Sean Morrissey
2021-12-20 11:08 ` [PATCH v2 1/2] examples/l3fwd: add config file support for LPM/FIB Sean Morrissey
2021-12-20 15:42 ` Ananyev, Konstantin
2021-12-20 11:08 ` [PATCH v2 2/2] examples/l3fwd: add config file support for EM Sean Morrissey
2021-12-20 15:53 ` Ananyev, Konstantin
2021-12-21 12:30 ` [PATCH v3 0/2] Add config file support for l3fwd Sean Morrissey
2021-12-21 12:30 ` [PATCH v3 1/2] examples/l3fwd: add config file support for LPM/FIB Sean Morrissey
2021-12-21 12:30 ` [PATCH v3 2/2] examples/l3fwd: add config file support for EM Sean Morrissey
2022-01-10 14:00 ` Ananyev, Konstantin
2022-01-26 12:44 ` [PATCH v4 0/2] Add config file support for l3fwd Sean Morrissey
2022-01-26 12:44 ` [PATCH v4 1/2] examples/l3fwd: add config file support for LPM/FIB Sean Morrissey
2022-01-26 12:44 ` [PATCH v4 2/2] examples/l3fwd: add config file support for EM Sean Morrissey
2022-02-04 19:59 ` [PATCH v5 0/2] Add config file support for l3fwd Sean Morrissey
2022-02-04 19:59 ` [PATCH v5 1/2] examples/l3fwd: add config file support for LPM/FIB Sean Morrissey
2022-02-08 2:21 ` Han, YingyaX
2022-02-04 19:59 ` [PATCH v5 2/2] examples/l3fwd: add config file support for EM Sean Morrissey
2022-02-04 22:26 ` [PATCH v5 0/2] Add config file support for l3fwd Stephen Hemminger
2022-02-06 15:16 ` Ananyev, Konstantin
2022-02-08 3:04 ` Stephen Hemminger
2022-02-08 10:44 ` Ananyev, Konstantin [this message]
2022-02-08 16:15 ` Medvedkin, Vladimir
2022-02-08 17:49 ` Stephen Hemminger
2022-02-08 18:10 ` Bruce Richardson
2022-02-09 12:00 ` Ananyev, Konstantin
2022-02-09 13:54 ` Bruce Richardson
2022-02-09 16:00 ` Medvedkin, Vladimir
2022-02-22 9:59 ` Thomas Monjalon
2022-02-22 10:39 ` Ananyev, Konstantin
2022-02-22 13:46 ` Thomas Monjalon
2022-02-22 15:13 ` Ananyev, Konstantin
2022-02-22 16:48 ` Thomas Monjalon
2022-02-24 11:06 ` Ananyev, Konstantin
2022-02-24 13:46 ` Thomas Monjalon
2022-02-24 13:58 ` Bruce Richardson
2022-02-25 10:36 ` Ananyev, Konstantin
2022-02-25 10:40 ` Bruce Richardson
2022-02-25 12:21 ` Ananyev, Konstantin
2022-02-25 12:50 ` Morten Brørup
2022-02-25 5:18 ` Honnappa Nagarahalli
2022-03-01 14:49 ` [PATCH v6 " Sean Morrissey
2022-03-01 14:49 ` [PATCH v6 1/2] examples/l3fwd: add config file support for LPM/FIB Sean Morrissey
2022-03-01 14:49 ` [PATCH v6 2/2] examples/l3fwd: add config file support for EM Sean Morrissey
2022-03-08 8:57 ` [PATCH v6 0/2] Add config file support for l3fwd Thomas Monjalon
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=DM6PR11MB4491F160B1CFFFC207ED8F059A2D9@DM6PR11MB4491.namprd11.prod.outlook.com \
--to=konstantin.ananyev@intel.com \
--cc=bruce.richardson@intel.com \
--cc=dev@dpdk.org \
--cc=sean.morrissey@intel.com \
--cc=stephen@networkplumber.org \
--cc=vladimir.medvedkin@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).