This series adds live packet capture from a running DPDK primary over the telemetry socket. A new capture library installs Rx/Tx callbacks on an ethdev port and writes pcapng to a caller-supplied path or FIFO, with an optional libpcap filter and per-queue selection.
Advantages of this: - no primary/secondary needed; works on Linux and FreeBSD. can also work on Windows with pcap support. - installation is just putting script in Wireshark directory. - script has no dependency on DPDK libraries; can be packaged with Wireshark. - allows for live capture - supports BPF (with JIT) for filtering How it works: - The capture library registers telemetry commands (/ethdev/capture/*) - Callbacks are installed on the specified port/queues to copy packets - Packets are formatted as pcapng and written to the specified output - No packet data passes through the telemetry socket itself The pcapng statistics interface has been extended to include the filter-accepted packet count, which was previously missing. Testing: - Run: dpdk-wireshark-extcap.py --extcap-interfaces to list available ports - The script should be installed in Wireshark's extcap directory for GUI integration - Comprehensive unit tests are included in app/test/test_capture.c - Tested on Linux and FreeBSD v3 - fixed AI review feedback Stephen Hemminger (4): pcapng: extend interface statistics capture: infrastructure wireshark packet capture test: add test for capture hooks usertools: add script for wireshark capture MAINTAINERS | 4 + app/dumpcap/main.c | 16 +- app/test/meson.build | 1 + app/test/test_capture.c | 660 +++++++++++++ app/test/test_pcapng.c | 10 +- doc/guides/prog_guide/capture_lib.rst | 168 ++++ doc/guides/prog_guide/index.rst | 1 + doc/guides/rel_notes/release_26_11.rst | 14 + doc/guides/tools/index.rst | 1 + doc/guides/tools/wireshark_extcap.rst | 144 +++ lib/capture/capture.c | 1202 ++++++++++++++++++++++++ lib/capture/capture_impl.h | 56 ++ lib/capture/filter.c | 110 +++ lib/capture/meson.build | 19 + lib/meson.build | 1 + lib/pcapng/rte_pcapng.c | 50 +- lib/pcapng/rte_pcapng.h | 33 +- usertools/dpdk-wireshark-extcap.py | 416 ++++++++ usertools/meson.build | 1 + 19 files changed, 2874 insertions(+), 33 deletions(-) create mode 100644 app/test/test_capture.c create mode 100644 doc/guides/prog_guide/capture_lib.rst 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

