[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