[PATCH v6 00/13] net/pcap: improvements and new features

Stephen Hemminger
2026-01-25T19:23:15Z

This series modernizes the PCAP PMD with bug fixes, code cleanup,
and new features.

**New features:**
- VLAN insert and strip offload support
- Nanosecond timestamp precision (using pcap_create/pcap_activate API)
- MTU configuration in single interface mode
- Advertise multi-segment TX capability

**Bug fixes:**
- Transmit now always consumes all packets, counting failures as errors
rather than returning early (matches other PMD behavior)
- Remove silent truncation of oversized multi-segment packets
- Replace large stack buffers with dynamic allocation

**Code cleanup:**
- Add explicit header includes
- Remove unnecessary casts and rte_malloc/rte_memcpy usage
- Consolidate boolean flag parsing with input validation
- Reduce scope of file-level variables
- Replace volatile with proper atomics

**Other:**
- Update feature matrix documentation
- Add comprehensive unit test suite
- Take on maintainership

v6:
- Add maintainers patch
- Add patches for explicit header includes and removing unnecessary casts
- Fold release notes into individual patches
- Improve commit message subjects for clarity

---

Stephen Hemminger (13):
maintainers: update for pcap driver
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: improve multi-segment transmit handling
net/pcap: support MTU configuration in single interface mode
net/pcap: consolidate boolean flag handling
net/pcap: support VLAN insert and strip
net/pcap: support nanosecond timestamp precision
net/pcap: reduce scope of file-level variables
net/pcap: avoid use of volatile
test: add test for pcap PMD

MAINTAINERS | 1 +
app/test/meson.build | 2 +
app/test/test_pmd_pcap.c | 2263 ++++++++++++++++++++++++
doc/guides/nics/features/pcap.ini | 9 +
doc/guides/rel_notes/release_26_03.rst | 10 +
drivers/net/pcap/pcap_ethdev.c | 383 ++--
drivers/net/pcap/pcap_osdep.h | 2 +
drivers/net/pcap/pcap_osdep_freebsd.c | 36 +-
drivers/net/pcap/pcap_osdep_linux.c | 28 +-
drivers/net/pcap/pcap_osdep_windows.c | 6 +
10 files changed, 2591 insertions(+), 149 deletions(-)
create mode 100644 app/test/test_pmd_pcap.c

--
2.51.0