Hello,

I'm trying to use tcpdump with dpdk support in order to benefit from
dpdk performance and nice features from tcpdump, like filters etc.
Traffic is constant but quite significant, 6 Gbps, captured by Mellanox
ConnectX-5.

DPDK standalone works like a charm, no packet drop.
$ testpmd -w 0000:01:00.0 -w 0000:01:00.1 -- --enable-rx-timestamp
$ dpdk-pdump -- --pdump 'port=0,queue=*,rx-dev=/tmp/test.pcap'

However,when using libpcap/tcpdump on exact same hardware and
dpdk version, 15% of the pkts are dropped by interface:
$ DPDK_CFG="-dlibrte_mempool_ring.so -dlibrte_common_mlx5.so \
    -dlibrte_pmd_mlx5.so " ./tcpdump -i dpdk:0 -w /tmp/test.pcap
[...]
tcpdump: listening on dpdk:0, link-type EN10MB (Ethernet), snapshot
length 262144 bytes
t
^CUSER1: portid:0, RX-packets: 3778136     RX-errors:  0
RX-bytes:  4767864278  RX-Imissed:  215784
USER1: portid:0, RX-PPS: 613698     RX-Mbps: 6195.72
3778136 packets captured
3778136 packets received by filter
0 packets dropped by kernel
215784 packets dropped by interface

What should I look at first? mempool, queue, dev init sequence?

dpdk v20.05
libpcap 1.8.1

Best regards,

Patrick

Reply via email to