mbox

[v6,0/2] Add l2reflect measurement application

Message ID 20220902084533.675698-1-felix.moessbauer@siemens.com (mailing list archive)
Headers

Message

Moessbauer, Felix Sept. 2, 2022, 8:45 a.m. UTC
  Dear DPDK community,

this patch provides the l2reflect measurement tool
which will be discussed in our 2022 DPDK Userspace Summit talk:
"Using DPDK OVS for deterministic low latency communication"

While the code still might need some polish, we believe it is
a good starting point for discussions about low latency networking
in DPDK.

The tool can also be used in a CI environment to contineously
measure latencies across the evolution of DPDK and Linux.

Best regards,
Felix Moessbauer
Siemens AG

Changes since v5:

- rebased against current main
- updated API to DPKD 22.x
- use RTE tracing
- rework handling of mempool
- fixes around configurable packet size
- backportet changes from out-of-tree version

Changes since v4:

All mentioned points from Thomas Monjalon's review are adressed.
This includes:

- remove obsolete makefile
- remove authors from headers
- include sbdirs in alphabetical order
- use rte functions to compare mac addrs
- use rte functions to format mac addrs
- use jansson instead of cjson for json creation
- print histogram to stderr to decouple from TUI
- add option to disable color (autodisable if redirected)
- improve documentation on how to use the tool
- improve inline documentation (mainly l2reflect_rx_filter)

This patch is still targeted towards dpdk/main until the
final decision is made to put it in DTS.
Further, currently only linux is supported due to the RT tuning
stuff and a missing windows testing environment on our side.
We would be happy about contributions to port that to other
platforms as well.

Changes since v3:

- check for sys/io.h header
- fix linking issues on gcc 10

Changes since v2:

- add missing internal dependency
- improve wording of commit message

Changes since v1:

- move to app folder, as suggested by maintainer
- fix issues reported by checkpatch



Felix Moessbauer (2):
  Fix build of apps with external dependencies
  Add l2reflect measurement application

 app/l2reflect/colors.c    |   34 ++
 app/l2reflect/colors.h    |   19 +
 app/l2reflect/l2reflect.h |   53 ++
 app/l2reflect/main.c      | 1007 +++++++++++++++++++++++++++++++++++++
 app/l2reflect/meson.build |   21 +
 app/l2reflect/payload.h   |   26 +
 app/l2reflect/stats.c     |  225 +++++++++
 app/l2reflect/stats.h     |   67 +++
 app/l2reflect/utils.c     |   67 +++
 app/l2reflect/utils.h     |   20 +
 app/meson.build           |    3 +-
 11 files changed, 1541 insertions(+), 1 deletion(-)
 create mode 100644 app/l2reflect/colors.c
 create mode 100644 app/l2reflect/colors.h
 create mode 100644 app/l2reflect/l2reflect.h
 create mode 100644 app/l2reflect/main.c
 create mode 100644 app/l2reflect/meson.build
 create mode 100644 app/l2reflect/payload.h
 create mode 100644 app/l2reflect/stats.c
 create mode 100644 app/l2reflect/stats.h
 create mode 100644 app/l2reflect/utils.c
 create mode 100644 app/l2reflect/utils.h
  

Comments

Stephen Hemminger Sept. 12, 2023, 2:30 p.m. UTC | #1
On Fri,  2 Sep 2022 10:45:31 +0200
Felix Moessbauer <felix.moessbauer@siemens.com> wrote:

>  app/l2reflect/colors.c    |   34 ++
>  app/l2reflect/colors.h    |   19 +
>  app/l2reflect/l2reflect.h |   53 ++
>  app/l2reflect/main.c      | 1007
> +++++++++++++++++++++++++++++++++++++ app/l2reflect/meson.build |
> 21 + app/l2reflect/payload.h   |   26 +
>  app/l2reflect/stats.c     |  225 +++++++++
>  app/l2reflect/stats.h     |   67 +++
>  app/l2reflect/utils.c     |   67 +++
>  app/l2reflect/utils.h     |   20 +
>  app/meson.build           |    3 +-

This belongs in the examples not the app subdirectory.
When you resubmit the patch please move it.