DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [RFC 0/1] app/testpmd: add l3fwd mode to testpmd
@ 2021-04-30 21:37 Kathleen Capella
  2021-04-30 21:37 ` [dpdk-dev] [RFC 1/1] " Kathleen Capella
  2021-07-02 10:15 ` [dpdk-dev] [RFC 0/1] " Andrew Rybchenko
  0 siblings, 2 replies; 5+ messages in thread
From: Kathleen Capella @ 2021-04-30 21:37 UTC (permalink / raw)
  Cc: dev, nd, Kathleen.Capella, honnappa.nagarahalli, dharmik.thakkar,
	Kathleen Capella

Performance of the LPM mode in L3fwd example application is used as an industry
standard to compare between various platforms.

Unfortunately, L3fwd example application lacks debugging capabilities to
understand the performance bottlenecks and fix them.

While debugging performance issues we need all the flexibility possible.
Some of the capabilities we have used are:
1) ability to print hardware and software statistics - xstats, stats at
   port/queue level, burst stats to identify any headroom available,
   CPU cycles/packet etc
2) ability to modify all possible configurable parameters for the PMD
   as well as the application at run time without recompiling the code.
   Some of the parameters we have used are RX/TX queue depths, burst size,
   number of receive queues, PMD specific parameters etc. This
   configurability at runtime helps to understand and debug L3fwd
   performance issues quickly and effectively.

It is possible to add all these capabilities to L3fwd example application.
However, doing that we will result in L3fwd example application losing
its purpose (of being a sample application). At the same time, testpmd
application has all these capabilities to debug an application. In my opinion
it makes sense to add L3fwd mode to testpmd.

This patch adds l3fwd mode into testpmd to take advantage of the
existing infrastructure in testpmd.

I'd like to hear from the community if the structure of this change makes sense,
namely, adding l3fwd as a separate fwd_engine into testpmd.

This feature is not yet implemeted for SSE or AltiVec.

Kathleen Capella (1):
  app/testpmd: add l3fwd mode to testpmd

 app/test-pmd/config.c         |  66 +++++++
 app/test-pmd/l3fwd.c          | 356 ++++++++++++++++++++++++++++++++++
 app/test-pmd/l3fwd.h          | 143 ++++++++++++++
 app/test-pmd/l3fwd_common.h   | 268 +++++++++++++++++++++++++
 app/test-pmd/l3fwd_lpm.h      | 107 ++++++++++
 app/test-pmd/l3fwd_lpm_neon.h | 169 ++++++++++++++++
 app/test-pmd/l3fwd_neon.h     | 234 ++++++++++++++++++++++
 app/test-pmd/meson.build      |   3 +-
 app/test-pmd/testpmd.c        |   4 +-
 app/test-pmd/testpmd.h        |  20 ++
 10 files changed, 1368 insertions(+), 2 deletions(-)
 create mode 100644 app/test-pmd/l3fwd.c
 create mode 100644 app/test-pmd/l3fwd.h
 create mode 100644 app/test-pmd/l3fwd_common.h
 create mode 100644 app/test-pmd/l3fwd_lpm.h
 create mode 100644 app/test-pmd/l3fwd_lpm_neon.h
 create mode 100644 app/test-pmd/l3fwd_neon.h

-- 
2.25.1


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2021-08-24 14:47 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-30 21:37 [dpdk-dev] [RFC 0/1] app/testpmd: add l3fwd mode to testpmd Kathleen Capella
2021-04-30 21:37 ` [dpdk-dev] [RFC 1/1] " Kathleen Capella
2021-07-02 10:15 ` [dpdk-dev] [RFC 0/1] " Andrew Rybchenko
2021-08-24 13:00   ` Ferruh Yigit
2021-08-24 14:46     ` Honnappa Nagarahalli

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).