[dpdk-dev] [RFC 0/1] app/testpmd: add l3fwd mode to testpmd
Andrew Rybchenko
andrew.rybchenko at oktetlabs.ru
Fri Jul 2 12:15:37 CEST 2021
@Xiaoyun could you share your thoughts on it?
As far as I remember there is no agreement on the topic. Adding
more people in Cc.
On 5/1/21 12:37 AM, Kathleen Capella wrote:
> 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
>
More information about the dev
mailing list