Hi Team,

We are facing an issue w.r.t to using DPDK PDUMP utility and want to check if 
you can help us in this regard.

This issue is specific to DPDK 19.05 version or may  be newer versions and was 
not found on DPDK 18.08 version.

The issue is that when we built DPDK in shared library mode and try to run 
PDUMP we get following error on PDUMP console:

EAL: Failed to hotplug add device
EAL: Error - exiting with code: 1
  Cause: vdev creation failed

On Debugging above error message, I found that inside rte_dev_probe() function 
in the file  lib/librte_eal/common/eal_common_dev.c , req.result = -14 which is 
non-zero value and points to enum EFAULT (Bad address) value, thus leading to 
above error.

However, when I ran PDUMP in DPDK 18.08, I did not observe any such issue and 
it worked fine.

DPDK was built with following flags set in config/common_base file:

CONFIG_RTE_LIBRTE_PMD_PCAP=y
CONFIG_RTE_LIBRTE_PDUMP=y

I ran PDUMP with testpmd as primary application and was trying to send some 
traffic on the Ethernet dpdk port using testpmd and capture it using pdump.

Attached are the logs for both testpmd and pdump in both DPDK19_05 and 
DPDK_18_08 version for your reference.

Let us know if you can help in this regard.

Thanks,
Dikshant

[root@flexran3 x86_64-native-linuxapp-icc]# ./app/dpdk-pdump -d 
librte_pmd_i40e.so -d librte_pmd_pcap.so -- --pdump 
'port=0,queue=*,tx-dev=/opt/dpdk-18.08_pdump/capture.pcap'
EAL: Detected 40 lcore(s)
EAL: Detected 2 NUMA nodes
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket_242298_bf92949544f44
EAL: Probing VFIO support...
EAL: PCI device 0000:41:00.0 on NUMA socket 0
EAL:   probe driver: 8086:37d2 net_i40e
EAL: PCI device 0000:41:00.1 on NUMA socket 0
EAL:   probe driver: 8086:37d2 net_i40e
EAL: PCI device 0000:86:00.0 on NUMA socket 1
EAL:   probe driver: 8086:1572 net_i40e
EAL: PCI device 0000:86:00.1 on NUMA socket 1
EAL:   probe driver: 8086:1572 net_i40e
EAL: PCI device 0000:86:00.2 on NUMA socket 1
EAL:   probe driver: 8086:1572 net_i40e
EAL: PCI device 0000:86:00.3 on NUMA socket 1
EAL:   probe driver: 8086:1572 net_i40e
EAL: PCI device 0000:88:00.0 on NUMA socket 1
EAL:   probe driver: 8086:158b net_i40e
EAL: PCI device 0000:88:00.1 on NUMA socket 1
EAL:   probe driver: 8086:158b net_i40e
Port 1 MAC: 00 00 00 01 02 03
^C

Signal 2 received, preparing to exit...
##### PDUMP DEBUG STATS #####
 -packets dequeued:                     32
 -packets transmitted to vdev:          32
 -packets freed:                        0
[root@flexran3 x86_64-native-linuxapp-icc]#
[root@flexran3 x86_64-native-linuxapp-icc]# ./app/testpmd -c 0xf0 -n 4 -- -i 
--port-topology=chained
EAL: Detected 40 lcore(s)
EAL: Detected 2 NUMA nodes
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: Probing VFIO support...
EAL: PCI device 0000:41:00.0 on NUMA socket 0
EAL:   probe driver: 8086:37d2 net_i40e
EAL: PCI device 0000:41:00.1 on NUMA socket 0
EAL:   probe driver: 8086:37d2 net_i40e
EAL: PCI device 0000:86:00.0 on NUMA socket 1
EAL:   probe driver: 8086:1572 net_i40e
EAL: PCI device 0000:86:00.1 on NUMA socket 1
EAL:   probe driver: 8086:1572 net_i40e
EAL: PCI device 0000:86:00.2 on NUMA socket 1
EAL:   probe driver: 8086:1572 net_i40e
EAL: PCI device 0000:86:00.3 on NUMA socket 1
EAL:   probe driver: 8086:1572 net_i40e
EAL: PCI device 0000:88:00.0 on NUMA socket 1
EAL:   probe driver: 8086:158b net_i40e
EAL: PCI device 0000:88:00.1 on NUMA socket 1
EAL:   probe driver: 8086:158b net_i40e
Interactive-mode selected
testpmd: create a new mbuf pool <mbuf_pool_socket_0>: n=171456, size=2176, 
socket=0
testpmd: preferred mempool ops selected: ring_mp_mc
testpmd: create a new mbuf pool <mbuf_pool_socket_1>: n=171456, size=2176, 
socket=1
testpmd: preferred mempool ops selected: ring_mp_mc
Configuring Port 0 (socket 1)
Port 0: 3C:FD:FE:CD:34:A4
Checking link statuses...
Done
testpmd>
Port 0: LSC event

testpmd>
testpmd>
testpmd> start tx_first
io packet forwarding - ports=1 - cores=1 - streams=1 - NUMA support enabled, MP 
over anonymous pages disabled
Logical Core 5 (socket 0) forwards packets on 1 streams:
  RX P=0/Q=0 (socket 1) -> TX P=0/Q=0 (socket 1) peer=02:00:00:00:00:00

  io packet forwarding packets/burst=32
  nb forwarding cores=1 - nb forwarding ports=1
  port 0: RX queue number: 1 Tx queue number: 1
    Rx offloads=0x1000 Tx offloads=0x10000
    RX queue: 0
      RX desc=256 - RX free threshold=32
      RX threshold registers: pthresh=8 hthresh=8  wthresh=0
      RX Offloads=0x0
    TX queue: 0
      TX desc=256 - TX free threshold=32
      TX threshold registers: pthresh=32 hthresh=0  wthresh=0
      TX offloads=0x0 - TX RS bit threshold=32
testpmd> stop
Telling cores to stop...
Waiting for lcores to finish...

  ---------------------- Forward statistics for port 0  ----------------------
  RX-packets: 0              RX-dropped: 0             RX-total: 0
  TX-packets: 32             TX-dropped: 0             TX-total: 32
  ----------------------------------------------------------------------------

  +++++++++++++++ Accumulated forward statistics for all ports+++++++++++++++
  RX-packets: 0              RX-dropped: 0             RX-total: 0
  TX-packets: 32             TX-dropped: 0             TX-total: 32
  ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Done.
testpmd>
[root@flexran3 x86_64-native-linux-icc]# ./app/dpdk-pdump -d librte_pmd_i40e.so 
-d librte_pmd_pcap.so -- --pdump 
'port=0,queue=*,tx-dev=/mnt/data/dchitkara/DPDK_2020_01_30_x86/capture.pcap'
EAL: Detected 40 lcore(s)
EAL: Detected 2 NUMA nodes
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket_230173_27baa83cf2e36
EAL: Probing VFIO support...
EAL: PCI device 0000:41:00.0 on NUMA socket 0
EAL:   probe driver: 8086:37d2 net_i40e
EAL: PCI device 0000:41:00.1 on NUMA socket 0
EAL:   probe driver: 8086:37d2 net_i40e
EAL: PCI device 0000:86:00.0 on NUMA socket 1
EAL:   probe driver: 8086:1572 net_i40e
EAL: PCI device 0000:86:00.1 on NUMA socket 1
EAL:   probe driver: 8086:1572 net_i40e
EAL: PCI device 0000:86:00.2 on NUMA socket 1
EAL:   probe driver: 8086:1572 net_i40e
EAL: PCI device 0000:86:00.3 on NUMA socket 1
EAL:   probe driver: 8086:1572 net_i40e
EAL: PCI device 0000:88:00.0 on NUMA socket 1
EAL:   probe driver: 8086:158b net_i40e
EAL: PCI device 0000:88:00.1 on NUMA socket 1
EAL:   probe driver: 8086:158b net_i40e
EAL: Failed to hotplug add device
Inside rte_dev_probe,req.result = -14
EAL: Error - exiting with code: 1
  Cause: vdev creation failed
[root@flexran3 x86_64-native-linux-icc]#

[root@flexran3 x86_64-native-linux-icc]# ./app/testpmd -c 0xf0 -n 4 -- -i 
--port-topology=chained
EAL: Detected 40 lcore(s)
EAL: Detected 2 NUMA nodes
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: Probing VFIO support...
EAL: PCI device 0000:41:00.0 on NUMA socket 0
EAL:   probe driver: 8086:37d2 net_i40e
EAL: PCI device 0000:41:00.1 on NUMA socket 0
EAL:   probe driver: 8086:37d2 net_i40e
EAL: PCI device 0000:86:00.0 on NUMA socket 1
EAL:   probe driver: 8086:1572 net_i40e
EAL: PCI device 0000:86:00.1 on NUMA socket 1
EAL:   probe driver: 8086:1572 net_i40e
EAL: PCI device 0000:86:00.2 on NUMA socket 1
EAL:   probe driver: 8086:1572 net_i40e
EAL: PCI device 0000:86:00.3 on NUMA socket 1
EAL:   probe driver: 8086:1572 net_i40e
EAL: PCI device 0000:88:00.0 on NUMA socket 1
EAL:   probe driver: 8086:158b net_i40e
EAL: PCI device 0000:88:00.1 on NUMA socket 1
EAL:   probe driver: 8086:158b net_i40e
Interactive-mode selected
testpmd: create a new mbuf pool <mbuf_pool_socket_0>: n=171456, size=2176, 
socket=0
testpmd: preferred mempool ops selected: ring_mp_mc
testpmd: create a new mbuf pool <mbuf_pool_socket_1>: n=171456, size=2176, 
socket=1
testpmd: preferred mempool ops selected: ring_mp_mc
Configuring Port 0 (socket 1)
Port 0: 3C:FD:FE:CD:34:A4
Checking link statuses...
Done
testpmd>
Port 0: link state change event

testpmd>
testpmd>
testpmd> EAL: failed to parse device "vdev:net_pcap_tx_0"
EAL: Failed to hotplug add device on primary

testpmd>
testpmd>

Reply via email to