@@ -70,10 +70,11 @@ Prerequisites
grub-mkconfig -o /boot/grub/grub.cfg
reboot
-5. Explicitly enable AF_XDP pmd by adding below line to config/common_linux, then build DPDK::
+5. Build DPDK::
- CONFIG_RTE_LIBRTE_PMD_AF_XDP=y
- make -j 110 install T=x86_64-native-linuxapp-gcc
+ cd dpdk
+ CC=gcc meson -Denable_kmods=True -Dlibdir=lib --default-library=static x86_64-native-linuxapp-gcc
+ ninja -C x86_64-native-linuxapp-gcc
6. Involve lib::
@@ -85,7 +86,7 @@ Test case 1: single port test with PMD core and IRQ core are pinned to separate
1. Start the testpmd::
ethtool -L enp26s0f1 combined 1
- ./x86_64-native-linuxapp-gcc/app/testpmd -l 1-2 -n 4 --vdev net_af_xdp0,iface=enp26s0f1,start_queue=0,queue_count=1 --log-level=pmd.net.af_xdp:8 -- -i --nb-cores=1 --rxq=1 --txq=1 --port-topology=loop
+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 --vdev net_af_xdp0,iface=enp26s0f1,start_queue=0,queue_count=1 --log-level=pmd.net.af_xdp:8 -- -i --nb-cores=1 --rxq=1 --txq=1 --port-topology=loop
2. Assign the kernel core::
@@ -101,7 +102,7 @@ Test case 2: two ports test with PMD cores and IRQ cores are pinned to separate
ethtool -L enp26s0f0 combined 1
ethtool -L enp26s0f1 combined 1
- ./x86_64-native-linuxapp-gcc/app/testpmd -l 1-3 --no-pci -n 4 \
+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-3 --no-pci -n 4 \
--vdev net_af_xdp0,iface=enp26s0f0 --vdev net_af_xdp1,iface=enp26s0f1 \
--log-level=pmd.net.af_xdp:8 -- -i --auto-start --nb-cores=2 --rxq=1 --txq=1 --port-topology=loop
@@ -121,7 +122,7 @@ Test case 3: multi-queue test with PMD cores and IRQ cores are pinned to separat
2. Start the testpmd with two queues::
- ./x86_64-native-linuxapp-gcc/app/testpmd -l 1-3 -n 6 --no-pci \
+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-3 -n 6 --no-pci \
--vdev net_af_xdp0,iface=enp26s0f1,start_queue=0,queue_count=2 \
-- -i --auto-start --nb-cores=2 --rxq=2 --txq=2 --port-topology=loop
@@ -138,7 +139,7 @@ Test case 4: two ports test with PMD cores and IRQ cores pinned to same cores
ethtool -L enp26s0f0 combined 1
ethtool -L enp26s0f1 combined 1
- ./x86_64-native-linuxapp-gcc/app/testpmd -l 29,30-31 --no-pci -n 4 \
+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 29,30-31 --no-pci -n 4 \
--vdev net_af_xdp0,iface=enp26s0f0 --vdev net_af_xdp1,iface=enp26s0f1 \
-- -i --auto-start --nb-cores=2 --rxq=1 --txq=1 --port-topology=loop
@@ -158,7 +159,7 @@ Test case 5: multi-queue test with PMD cores and IRQ cores pinned to same cores
2. Start the testpmd with two queues::
- ./testpmd -l 29,30-31 -n 6 --no-pci \
+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 29,30-31 -n 6 --no-pci \
--vdev net_af_xdp0,iface=enp26s0f1,start_queue=0,queue_count=2 \
-- -i --auto-start --nb-cores=2 --rxq=2 --txq=2 --port-topology=loop
@@ -177,7 +178,7 @@ Test case 6: one port with two vdev and single queue test
2. Start the testpmd::
- ./x86_64-native-linuxapp-gcc/app/testpmd -l 1-3 --no-pci -n 4 \
+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-3 --no-pci -n 4 \
--vdev net_af_xdp0,iface=enp26s0f1,start_queue=0,queue_count=1 \
--vdev net_af_xdp1,iface=enp26s0f1,start_queue=1,queue_count=1 \
-- -i --nb-cores=2 --rxq=1 --txq=1 --port-topology=loop
@@ -204,7 +205,7 @@ Test case 7: one port with two vdev and multi-queues test
2. Start the testpmd::
- ./x86_64-native-linuxapp-gcc/app/testpmd -l 1-9 --no-pci -n 6 \
+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-9 --no-pci -n 6 \
--vdev net_af_xdp0,iface=enp26s0f1,start_queue=0,queue_count=4 \
--vdev net_af_xdp1,iface=enp26s0f1,start_queue=4,queue_count=4 --log-level=pmd.net.af_xdp:8 \
-- -i --rss-ip --nb-cores=8 --rxq=4 --txq=4 --port-topology=loop
@@ -214,4 +215,4 @@ Test case 7: one port with two vdev and multi-queues test
./set_irq_affinity 10-17 enp26s0f1 #PMD and IRQs pinned to seperate cores
./set_irq_affinity 2-9 enp26s0f1 #PMD and IRQs pinned to same cores
-4. Send random ip packets , check the packets were distributed to queue0 ~ queue7.
\ No newline at end of file
+4. Send random ip packets , check the packets were distributed to queue0 ~ queue7.
@@ -71,12 +71,11 @@ Prerequisites
make install_lib prefix=/usr
make install_headers prefix=/usr
-5. Explicitly enable AF_XDP pmd by adding below line to
- config/common_linux::
+5. Build dpdk::
- CONFIG_RTE_LIBRTE_PMD_AF_XDP=y
-
- Then build DPDK.
+ cd dpdk
+ CC=gcc meson -Denable_kmods=True -Dlibdir=lib --default-library=static x86_64-native-linuxapp-gcc
+ ninja -C x86_64-native-linuxapp-gcc
6. Set DUT port only has one queue::
@@ -88,7 +87,7 @@ Test case 1: single port
1. Start the testpmd::
- ./testpmd -l 29,30 -n 6 --no-pci --vdev net_af_xdp0,iface=enp216s0f0 \
+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 29,30 -n 6 --no-pci --vdev net_af_xdp0,iface=enp216s0f0 \
-- -i --nb-cores=1 --rxq=1 --txq=1 --port-topology=loop
2. Assign the kernel core::
@@ -103,7 +102,7 @@ Test case 2: two ports
1. Start the testpmd::
- ./x86_64-native-linuxapp-gcc/app/testpmd -l 29,30-31 --no-pci -n 6 \
+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 29,30-31 --no-pci -n 6 \
--vdev net_af_xdp0,iface=enp216s0f0 --vdev net_af_xdp1,iface=enp216s0f1 \
-- -i --nb-cores=2 --rxq=1 --txq=1
@@ -123,7 +122,7 @@ Test case 3: zero copy
1. Start the testpmd::
- ./testpmd -l 29,30 -n 6 --no-pci \
+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 29,30 -n 6 --no-pci \
--vdev net_af_xdp0,iface=enp216s0f0,pmd_zero_copy=1 \
-- -i --nb-cores=1 --rxq=1 --txq=1 --port-topology=loop
@@ -141,7 +140,7 @@ Test case 4: multiqueue
1) Start the testpmd with one queue::
- ./testpmd -l 29,30 -n 6 --no-pci \
+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 29,30 -n 6 --no-pci \
--vdev net_af_xdp0,iface=enp216s0f0,start_queue=0,queue_count=1 \
-- -i --nb-cores=1 --rxq=1 --txq=1 --port-topology=loop
@@ -160,7 +159,7 @@ Test case 4: multiqueue
2) Start the testpmd with four queues::
- ./testpmd -l 29,30-33 -n 6 --no-pci \
+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 29,30-33 -n 6 --no-pci \
--vdev net_af_xdp0,iface=enp216s0f0,start_queue=0,queue_count=4 \
-- -i --nb-cores=4 --rxq=4 --txq=4 --port-topology=loop
@@ -183,7 +182,7 @@ Test case 5: multiqueue and zero copy
2) Start the testpmd with one queue::
- ./testpmd -l 29,30 -n 6 --no-pci \
+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 29,30 -n 6 --no-pci \
--vdev net_af_xdp0,iface=enp216s0f0,start_queue=0,queue_count=1,pmd_zero_copy=1 \
-- -i --nb-cores=1 --rxq=1 --txq=1 --port-topology=loop
@@ -203,7 +202,7 @@ Test case 5: multiqueue and zero copy
2) Start the testpmd with four queues::
- ./testpmd -l 29,30-33 -n 6 --no-pci \
+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 29,30-33 -n 6 --no-pci \
--vdev net_af_xdp0,iface=enp216s0f0,start_queue=0,queue_count=4,pmd_zero_copy=1 \
-- -i --nb-cores=4 --rxq=4 --txq=4 --port-topology=loop
@@ -226,7 +225,7 @@ Test case 6: need_wakeup
2. Start the testpmd with one queue::
- ./testpmd -l 29,30 -n 6 --no-pci --vdev net_af_xdp0,iface=enp216s0f0 \
+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 29,30 -n 6 --no-pci --vdev net_af_xdp0,iface=enp216s0f0 \
-- -i --nb-cores=1 --rxq=1 --txq=1 --port-topology=loop
3. Assign the same core::
@@ -295,4 +294,4 @@ Test case 7: xdpsock sample performance
4) Send packets by packet generator with different packet size from 64 bytes
to 1518 bytes, check the throughput.
- Expect the performance is better than no need_wakeup.
\ No newline at end of file
+ Expect the performance is better than no need_wakeup.