[dpdk-users] dpdk-pdump, running but not capturing from l3fwd (common issues ruled out)

.. hyperhead at gmail.com
Fri Sep 21 15:31:22 CEST 2018


Hi

I am having issues capturing packets withe dpdk-pdump, its not the usual
issue of not having CONFIG_RTE_LIBRTE_PMD_PCAP=yes

I have the l3fwd application receiving packets on a nic using
uio_pci_generic driver
Network devices using DPDK-compatible driver
============================================
0000:07:00.0 'I350 Gigabit Network Connection 1521' drv=uio_pci_generic
unused=igb,vfio-pci
0000:07:00.1 'I350 Gigabit Network Connection 1521' drv=uio_pci_generic
unused=igb,vfio-pci

I am sending traffic from a directly connected server using pktgen, I can
see rx and tx octets on the interface I am sending from are incrementing in
value. and the /proc/net/pktgen/eth1 shows packets being sent. I can count
sequence number and packet size and correlate that with the tx_octets, so I
it looks sane.

My next step is to confirm some sample traffic being processed by the l3fwd
application, so I am using dpdk-pdump, compiled with
CONFIG_RTE_LIBRTE_PMD_PCAP=yes

grep PCAP config/common_base
# Compile software PMD backed by PCAP files
CONFIG_RTE_LIBRTE_PMD_PCAP=y
CONFIG_RTE_PORT_PCAP=n

The l3fwd application also contains the rte=pdump_init and uninit and
header files and was re-compiled.

Init put in main as in testpmd.c

#ifdef RTE_LIBRTE_PDUMP
        /* initialize packet capture framework */
        rte_pdump_init(NULL);
#endif

uninit n singal_handler as in testpmd.c

#ifdef RTE_LIBRTE_PDUMP
                /* uninitialize packet capture framework */
                rte_pdump_uninit();
#endif
I run l3fwd with the following command:

./dpdk-pdump -- --pdump
'device_id=0000:07:00.0,queue=*,rx-dev=/tmp/rx-tx.pcap,tx-dev=/tmp/rx-tx.pcap'

When I run my dpdk-pdump after starting my l3fwd, it starts ok, but the
pcap output files never receive anything

Every 2.0s: ls -s | grep pcap
0 rx-file.pcap
0 tx-file.pcap

I have noticed one thing strange in the output about PCI device and the
numa socket, it says creating pcap-backed ethdev on numa socket -1, whilst
the deivce I want to capture traffic from is on NUMA socket 0

./dpdk-pdump --file-prefix l3f -- --pdump
'port=0,queue=0,rx-dev=/tmp/rx-file.pcap,tx-dev=/tmp/tx-fi
le.pcap,ring-size=1024,mbuf-size=20,total-num-mbufs=1025'
EAL: Detected 32 lcore(s)
EAL: Multi-process socket /var/run/.l3f_unix_30276_81d09135bd5715
EAL: Probing VFIO support...
EAL: VFIO support initialized
...
EAL: PCI device 0000:07:00.0 on NUMA socket 0
EAL:   probe driver: 8086:1521 net_e1000_igb
EAL: PCI device 0000:07:00.1 on NUMA socket 0
EAL:   probe driver: 8086:1521 net_e1000_igb
PMD: Initializing pmd_pcap for net_pcap_rx_0
PMD: Creating pcap-backed ethdev on numa socket -1
PMD: Initializing pmd_pcap for net_pcap_tx_0
PMD: Creating pcap-backed ethdev on numa socket -1

When I do Ctrl-C I do see the following mesage
Signal 2 received, preparing to exit...
PDUMP: failed to send to server:No such file or directory,
pdump_create_client_socket:674
PDUMP: client request for pdump enable/disable failed

Does anybody have any ideas about further troubleshooting? Does the numa
socket -1 indicate some problems??  Or is it the inet_e1000_igb_vf driver
in use for the probe?

Thanks

Ronald

============
debug follows:
============
This is the output from l3fwd

[Run] Starting reflector ...
EAL: Detected 32 lcore(s)
EAL: Multi-process socket /var/run/.l3f_unix
EAL: Probing VFIO support...
EAL: VFIO support initialized
EAL: PCI device 0000:04:00.0 on NUMA socket 0
EAL:   probe driver: 8086:1521 net_e1000_igb
EAL: PCI device 0000:04:00.1 on NUMA socket 0
EAL:   probe driver: 8086:1521 net_e1000_igb
EAL: PCI device 0000:04:10.0 on NUMA socket 0
EAL:   probe driver: 8086:1520 net_e1000_igb_vf
EAL: PCI device 0000:04:10.4 on NUMA socket 0
EAL:   probe driver: 8086:1520 net_e1000_igb_vf
EAL: PCI device 0000:07:00.0 on NUMA socket 0
EAL:   probe driver: 8086:1521 net_e1000_igb
EAL: PCI device 0000:07:00.1 on NUMA socket 0
EAL:   probe driver: 8086:1521 net_e1000_igb
LPM or EM none selected, default LPM on
Initializing port 0 ... Creating queues: nb_rxq=1 nb_txq=2...
Address:A0:36:9F:7A:63:48, Destination:02:00:00:00:00:00, Allocated mbuf
pool on socket 0
LPM: Adding route 0x01010100 / 24 (0)
LPM: Adding route 0x02010100 / 24 (1)
LPM: Adding route IPV6 / 48 (0)
LPM: Adding route IPV6 / 48 (1)
txq=1,0,0 txq=2,1,0
Initializing port 1 ... Creating queues: nb_rxq=1 nb_txq=2...
Address:A0:36:9F:7A:63:49, Destination:94:57:A5:52:12:19, txq=1,0,0
txq=2,1,0

Initializing rx queues on lcore 1 ... rxq=0,0,0
Initializing rx queues on lcore 2 ... rxq=1,0,0


Checking link status.......................................done
Port0 Link Up. Speed 1000 Mbps -full-duplex
Port1 Link Up. Speed 1000 Mbps -full-duplex
L3FWD: entering main loop on lcore 1
L3FWD: entering main loop on lcore 2
L3FWD:  -- lcoreid=1 portid=0 rxqueueid=0
L3FWD:  -- lcoreid=2 portid=1 rxqueueid=0


More information about the users mailing list