All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stephen Hemminger <stephen@networkplumber.org>
To: dev@dpdk.org
Cc: Stephen Hemminger <stephen@networkplumber.org>
Subject: [RFC 0/4] alternative capture mechanism
Date: Tue,  9 Jun 2026 14:02:01 -0700	[thread overview]
Message-ID: <20260609210540.768074-1-stephen@networkplumber.org> (raw)

This is an RFC for an alternative way to capture packets from a DPDK
application. I did brief demo of similar mechanism at DPDK summit but
this is more complete. Capture runs in the primary process and is driven
entirely over telemetry; no secondary process is involved.

A client asks the application to start capturing and passes it a file
descriptor to write to. The application writes pcapng to that descriptor.
A Wireshark extcap script is the intended front end, but the control path
is just telemetry and the output is just a pipe, so other front ends are
possible.

  1/4  telemetry: let a command receive file descriptors from the client
  2/4  capture: the library
  3/4  test: functional test
  4/4  app: the Wireshark extcap script and its documentation

Setup and usage are in doc/guides/tools/wireshark_extcap.rst.

Primary process only for now; secondary-process capture is possible as
follow-on. Posting as RFC to get feedback on the approach.

The extcap script is dual licensed (BSD-3-Clause OR GPL-2.0-or-later) as
it may be more useful in the Wireshark tree.

Stephen Hemminger (4):
  telemetry: allow commands to receive file descriptors
  capture: infrastructure wireshark packet capture
  test: add test for capture hooks
  usertools/dpdk-wireshark-extcap.py: script for external capture

 MAINTAINERS                            |   4 +
 app/test/meson.build                   |   1 +
 app/test/test_capture.c                | 365 +++++++++++
 doc/guides/rel_notes/release_26_07.rst |  12 +
 doc/guides/tools/index.rst             |   1 +
 doc/guides/tools/wireshark_extcap.rst  | 155 +++++
 lib/capture/capture.c                  | 821 +++++++++++++++++++++++++
 lib/capture/capture_impl.h             |  56 ++
 lib/capture/filter.c                   | 108 ++++
 lib/capture/meson.build                |  19 +
 lib/meson.build                        |   1 +
 lib/telemetry/rte_telemetry.h          |  66 ++
 lib/telemetry/telemetry.c              | 115 +++-
 usertools/dpdk-wireshark-extcap.py     | 274 +++++++++
 14 files changed, 1986 insertions(+), 12 deletions(-)
 create mode 100644 app/test/test_capture.c
 create mode 100644 doc/guides/tools/wireshark_extcap.rst
 create mode 100644 lib/capture/capture.c
 create mode 100644 lib/capture/capture_impl.h
 create mode 100644 lib/capture/filter.c
 create mode 100644 lib/capture/meson.build
 create mode 100755 usertools/dpdk-wireshark-extcap.py

-- 
2.53.0


             reply	other threads:[~2026-06-09 21:05 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-06-09 21:02 Stephen Hemminger [this message]
2026-06-09 21:02 ` [RFC 1/4] telemetry: allow commands to receive file descriptors Stephen Hemminger
2026-06-16 12:32   ` Bruce Richardson
2026-06-16 14:26     ` Stephen Hemminger
2026-06-09 21:02 ` [RFC 2/4] capture: infrastructure wireshark packet capture Stephen Hemminger
2026-06-09 21:02 ` [RFC 3/4] test: add test for capture hooks Stephen Hemminger
2026-06-09 21:02 ` [RFC 4/4] usertools/dpdk-wireshark-extcap.py: script for external capture Stephen Hemminger
2026-06-16 12:37 ` [RFC 0/4] alternative capture mechanism Bruce Richardson
2026-06-16 14:28   ` Stephen Hemminger

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=20260609210540.768074-1-stephen@networkplumber.org \
    --to=stephen@networkplumber.org \
    --cc=dev@dpdk.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.