[dpdk-users] Capture traffic with DPDK-dump
jose suarez
jsuarezv at ac.upc.edu
Mon Nov 7 18:50:03 CET 2016
Hello everybody!
I am new in DPDK. I'm trying simply to capture traffic from a 10G
physical NIC. I installed the DPDK from source files and activated the
following modules in common-base file:
CONFIG_RTE_LIBRTE_PMD_PCAP=y
CONFIG_RTE_LIBRTE_PDUMP=y
CONFIG_RTE_PORT_PCAP=y
Then I built the distribution using the dpdk-setup.h script. Also I add
hugepages and check they are configured successfully:
AnonHugePages: 4096 kB
HugePages_Total: 2048
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
To capture the traffic I guess I can use the dpdk-pdump application, but
I don't know how to use it. First of all, does it work if I bind the
interfaces using the uio_pci_generic drive? I guess that if I capture
the traffic using the linux kernel driver (ixgbe) I will loose a lot of
packets.
To bind the NIC I write this command:
sudo ./tools/dpdk-devbind.py --bind=uio_pci_generic eth0
When I check the interfaces I can see that the NIC was binded
successfully. Also I checked that mi NIC is compatible with DPDK (Intel
8599)
Network devices using DPDK-compatible driver
============================================
0000:01:00.0 '82599ES 10-Gigabit SFI/SFP+ Network Connection'
drv=uio_pci_generic unused=ixgbe,vfio-pci
To capture packets, I read in the mailing list that it is necessary to
run the testpmd application and then dpdk-pdump using different cores.
So I used the following commands:
sudo ./x86_64-native-linuxapp-gcc/app/testpmd -c 0x6 -n 4 -- -i
sudo ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -c 0xff -n 2 -- --pdump
'device_id=01:00.0,queue=*,rx-dev=/tmp/file.pcap'
Did I miss any step? Is it necessary to execute any more commands when
running the testpmd app in interactive mode?
When I execute the pdump application I get the following error:
EAL: Detected 8 lcore(s)
EAL: Probing VFIO support...
EAL: VFIO support initialized
EAL: WARNING: Address Space Layout Randomization (ASLR) is enabled in
the kernel.
EAL: This may cause issues with mapping memory into secondary processes
PMD: bnxt_rte_pmd_init() called for (null)
EAL: PCI device 0000:01:00.0 on NUMA socket -1
EAL: probe driver: 8086:10fb rte_ixgbe_pmd
EAL: PCI device 0000:01:00.1 on NUMA socket -1
EAL: probe driver: 8086:10fb rte_ixgbe_pmd
PMD: Initializing pmd_pcap for eth_pcap_rx_0
PMD: Creating pcap-backed ethdev on numa socket 0
Port 2 MAC: 00 00 00 01 02 03
PDUMP: client request for pdump enable/disable failed
PDUMP: client request for pdump enable/disable failed
EAL: Error - exiting with code: 1
Cause: Unknown error -22
In the testpmd app I get the following info:
EAL: Detected 8 lcore(s)
EAL: Probing VFIO support...
EAL: VFIO support initialized
PMD: bnxt_rte_pmd_init() called for (null)
EAL: PCI device 0000:01:00.0 on NUMA socket -1
EAL: probe driver: 8086:10fb rte_ixgbe_pmd
EAL: PCI device 0000:01:00.1 on NUMA socket -1
EAL: probe driver: 8086:10fb rte_ixgbe_pmd
Interactive-mode selected
USER1: create a new mbuf pool <mbuf_pool_socket_0>: n=155456, size=2176,
socket=0
Configuring Port 0 (socket 0)
Port 0: 00:E0:ED:FF:60:5C
Configuring Port 1 (socket 0)
Port 1: 00:E0:ED:FF:60:5D
Checking link statuses...
Port 0 Link Up - speed 10000 Mbps - full-duplex
Port 1 Link Up - speed 10000 Mbps - full-duplex
Done
testpmd> PDUMP: failed to get potid for device id=01:00.0
PDUMP: failed to get potid for device id=01:00.0
Could you please help me?
Thank you!
More information about the users
mailing list