[PATCH v25 00/24] net/pcap: bug fixes and new features
Stephen Hemminger
stephen at networkplumber.org
Sun Apr 19 18:09:33 CEST 2026
This series contains improvements to the PCAP PMD including new
features, bug fixes, code cleanup, and a comprehensive test suite.
New features:
- Nanosecond precision timestamps (when libpcap supports it)
- VLAN tag support
- Link state reporting in interface mode
- Link status change (LSC) interrupt support in interface mode
- EOF notification via link status change for rx_pcap mode
- Advertise RTE_ETH_TX_OFFLOAD_MULTI_SEGS capability
- Configurable snapshot length via snaplen devarg
- Rx scatter offload support with mbuf pool validation
Bug fixes:
- Fix build on Windows from RTE_LOG_LINE changes.
- Fix multi-segment transmit to dynamically allocate instead of
silently truncating packets larger than 9K stack buffer
- Fix Tx burst error handling: distinguish malformed mbufs (counted
as errors) from pcap_sendpacket backpressure (break and retry)
- Reject non-Ethernet interfaces to prevent malformed packets
and kernel warnings on FreeBSD/macOS loopback
Code cleanup:
- Convert internal flags from int to bool
- Remove unnecessary casts of void* from rte_zmalloc
- Replace rte_malloc/rte_memcpy with libc equivalents in osdep code
- Include headers explicitly rather than relying on indirect includes
- Reduce scope of file-level variables
Testing:
- Add comprehensive unit test suite
- Make test suite packet generator handle larger packets
v25 - fix build on one intermediate step for bisectability
v24 - fix format string warning in test code.
Stephen Hemminger (24):
maintainers: update for pcap driver
net/pcap: fix build on Windows
doc: update features for PCAP PMD
net/pcap: include used headers
net/pcap: remove unnecessary casts
net/pcap: avoid using rte_malloc and rte_memcpy
net/pcap: advertise Tx multi segment
net/pcap: replace stack bounce buffer
net/pcap: fix error accounting and backpressure on transmit
net/pcap: clean up TX dumper return value and types
net/pcap: add datapath debug logging
net/pcap: consolidate boolean flag handling
net/pcap: support VLAN strip and insert offloads
net/pcap: add link status for interface mode
net/pcap: support nanosecond timestamp precision
net/pcap: reject non-Ethernet interfaces
net/pcap: reduce scope of file-level variables
net/pcap: clarify maximum received packet
eal/windows: add wrapper for access function
net/pcap: add snapshot length devarg
net/pcap: add Rx scatter offload
net/pcap: add link status change support for iface mode
net/pcap: add EOF notification via link status change
test: add comprehensive test suite for pcap PMD
MAINTAINERS | 1 +
app/test/meson.build | 2 +
app/test/test_pmd_pcap.c | 3452 ++++++++++++++++++++++++
doc/guides/nics/features/pcap.ini | 9 +
doc/guides/nics/pcap.rst | 47 +
doc/guides/rel_notes/release_26_07.rst | 12 +
drivers/net/pcap/pcap_ethdev.c | 859 ++++--
drivers/net/pcap/pcap_osdep.h | 27 +
drivers/net/pcap/pcap_osdep_freebsd.c | 43 +-
drivers/net/pcap/pcap_osdep_linux.c | 33 +-
drivers/net/pcap/pcap_osdep_windows.c | 76 +-
lib/eal/windows/include/rte_os_shim.h | 1 +
lib/eal/windows/include/unistd.h | 7 +
13 files changed, 4354 insertions(+), 215 deletions(-)
create mode 100644 app/test/test_pmd_pcap.c
--
2.53.0
More information about the dev
mailing list