DPDK - primjer pdump testa

Dpdk Pdump Test Example



Prvo, priprema za instalaciju

1. Učitaj varijable okruženja

Dpdk instalacijski direktorij

export RTE_SDK=/home/sword/dpdk-17.08 export RTE_TARGET=x86_64-native-linuxapp-gcc
2. Instalirajte libelf-dev
sudo apt install libelf-dev

Instaliran prije, također ponovo ažurirajte instalaciju ili će poći po zlu



/usr/src/linux-headers-4.15.0-46-generic/Makefile:975: 'Cannot use CONFIG_STACK_VALIDATION=y, please install libelf-dev, libelf-devel or elfutils-libelf-devel'
3. Izmijenite konfiguracijsku datoteku

U direktoriju za instalaciju DPDK, izmijenite common_base u mapi CONFIG, promijenite n u y, a zatim ponovno kompajlirajte DPDK.



CONFIG_RTE_LIBRTE_PMD_PCAP=y CONFIG_RTE_LIBRTE_PDUMP=y
4. Instalirajte pdump
cd dpdk-17.08/app/pdump make make install

Drugo, pokrenite pdump

1. Pokrenite testpmd

Pdump mora biti povezan s glavnim procesom, kao što je testpmd, da bi se pokrenuo
Prvo pokrenite DPDK skriptu za postizanje povezivanja mrežne kartice, postavljanje memorije velike stranice itd.



./dpdk-17.08/usertools/dpdk-setup.sh

Pokrenite testpmd

/dpdk-17.08/app/test-pmd/build/app ./testpmd -c 0x03 -n 4 -- -i --port-topology=chained
2. Pokrenite pdump

Ovdje je rx-dev direktorij za spremanje datoteke i naziv datoteke
Ovdje je velika jama! ! ! !
ne može se pokrenuti u direktoriju build / app /, uvijek će zaglaviti u fazi inicijalizacije PMD pokretačkog programa.

dpdk-17.08/app/pdump ./build/app/dpdk-pdump -- --pdump 'port=0,queue=*,rx-dev=/tmp/capture1609.pcap'

rezultat operacije:



root@xxxxx:/home/sword/dpdk-17.08/app/pdump# ./build/app/dpdk-pdump -- --pdump 'port=0,queue=*,rx-dev=/tmp/capture1609.pcap' EAL: Detected 2 lcore(s) EAL: Probing VFIO support... EAL: WARNING: Address Space Layout Randomization (ASLR) is enabled in the kernel. EAL: This may cause issues with mapping memory into secondary processes EAL: PCI device 0000:06:00.0 on NUMA socket -1 EAL: Invalid NUMA socket, default to 0 EAL: probe driver: 8086:10d3 net_e1000_em EAL: PCI device 0000:0b:00.0 on NUMA socket -1 EAL: Invalid NUMA socket, default to 0 EAL: probe driver: 8086:10d3 net_e1000_em PMD: Initializing pmd_pcap for net_pcap_rx_0 PMD: Creating pcap-backed ethdev on numa socket 4294967295 Port 1 MAC: 00 00 00 01 02 03 ^C Signal 2 received, preparing to exit... ##### PDUMP DEBUG STATS ##### -packets dequeued: 10 -packets transmitted to vdev: 10 -packets freed: 0

Ovdje primljenih 10 paketa koristi se na drugom hostu A pomoću pktgena, a broj poslanih paketa postavlja se na 10 i šalje.

3. Otvorite datoteku pcap pomoću wiresharka
//wireshark installation sudo apt install wireshark / / View existing user groups cat /etc/group |grep wireshark / / Add the current user to the wireshark user group usermod -a -G wireshark $USER //turn on wireshark

Rezultat je prikazan kao:
slika