This is a set of patches to provide enhanced capabilities for packet capture. It adds new features to base pdump library (with API versioning); new PCAPNG output formatter and new application which works like dumpcap from Wireshark.
Stephen Hemminger (8): pdump: use new pktmbuf copy function pdump: use dynamic logtype pdump: tag copied mbuf with port pdump: stamp packets with current timestamp pdump: add classic BPF filtering pdump: add packet header truncation pcapng: add new library for writing pcapng files app/capture: add packet capture using pcapng app/Makefile | 1 + app/capture/Makefile | 19 + app/capture/main.c | 675 +++++++++++++++++++++++ app/capture/meson.build | 22 + app/meson.build | 1 + app/pdump/main.c | 32 +- app/test/test_pdump.c | 10 +- config/common_base | 11 + lib/Makefile | 2 + lib/librte_pcapng/Makefile | 22 + lib/librte_pcapng/meson.build | 10 + lib/librte_pcapng/pcapng_proto.h | 112 ++++ lib/librte_pcapng/rte_pcapng.c | 449 +++++++++++++++ lib/librte_pcapng/rte_pcapng.h | 132 +++++ lib/librte_pcapng/rte_pcapng_version.map | 12 + lib/librte_pdump/Makefile | 2 +- lib/librte_pdump/pdump_bpf.h | 168 ++++++ lib/librte_pdump/rte_pcap_filter.c | 462 ++++++++++++++++ lib/librte_pdump/rte_pdump.c | 326 ++++++----- lib/librte_pdump/rte_pdump.h | 65 ++- lib/librte_pdump/rte_pdump_version.map | 7 + lib/meson.build | 2 +- mk/rte.app.mk | 1 + 23 files changed, 2367 insertions(+), 176 deletions(-) create mode 100644 app/capture/Makefile create mode 100644 app/capture/main.c create mode 100644 app/capture/meson.build create mode 100644 lib/librte_pcapng/Makefile create mode 100644 lib/librte_pcapng/meson.build create mode 100644 lib/librte_pcapng/pcapng_proto.h create mode 100644 lib/librte_pcapng/rte_pcapng.c create mode 100644 lib/librte_pcapng/rte_pcapng.h create mode 100644 lib/librte_pcapng/rte_pcapng_version.map create mode 100644 lib/librte_pdump/pdump_bpf.h create mode 100644 lib/librte_pdump/rte_pcap_filter.c -- 2.20.1