@@ -53,7 +53,7 @@ Assume port A and B are connected to the remote ports, e.g. packet generator.
To run the testpmd application in linuxapp environment with 4 lcores,
4 channels with other default parameters in interactive mode::
- $ ./testpmd -c 0xf -n 4 -- -i
+ $ ./<build_target>/app/dpdk-testpmd -c 0xf -n 4 -- -i
Test Case: queue start/stop
---------------------------
@@ -84,7 +84,7 @@ Test case: set rss types on two ports (I40E)
1. Start the testpmd::
- ./testpmd -c 1ffff -n 4 -- -i --nb-cores=8 --rxq=4 --txq=4 --port-topology=chained
+ ./<build_target>/app/dpdk-testpmd -c 1ffff -n 4 -- -i --nb-cores=8 --rxq=4 --txq=4 --port-topology=chained
testpmd> set fwd rxonly
testpmd> set verbose 1
testpmd> start
@@ -210,7 +210,7 @@ Test case: set rss queues on two ports (I40E)
1. Start the testpmd::
- ./testpmd -c 1ffff -n 4 -- -i --nb-cores=8 --rxq=16 --txq=16 --port-topology=chained
+ ./<build_target>/app/dpdk-testpmd -c 1ffff -n 4 -- -i --nb-cores=8 --rxq=16 --txq=16 --port-topology=chained
testpmd> set fwd rxonly
testpmd> set verbose 1
testpmd> start
@@ -332,7 +332,7 @@ Test case: set rss types and rss queues on two ports (I40E)
1. Start the testpmd::
- ./testpmd -c 1ffff -n 4 -- -i --nb-cores=8 --rxq=8 --txq=8 --port-topology=chained
+ ./<build_target>/app/dpdk-testpmd -c 1ffff -n 4 -- -i --nb-cores=8 --rxq=8 --txq=8 --port-topology=chained
testpmd> set fwd rxonly
testpmd> set verbose 1
testpmd> start
@@ -399,7 +399,7 @@ Test case: disable rss in command-line (I40E)
1. Start the testpmd::
- ./testpmd -c 0x3 -n 4 -- -i --rxq=8 --txq=8 --disable-rss --port-topology=chained
+ ./<build_target>/app/dpdk-testpmd -c 0x3 -n 4 -- -i --rxq=8 --txq=8 --disable-rss --port-topology=chained
testpmd> set fwd rxonly
testpmd> set verbose 1
testpmd> start
@@ -468,7 +468,7 @@ Only i40e support key and key_len setting.
1. Start the testpmd::
- ./testpmd -c 1ffff -n 4 -- -i --nb-cores=8 --rxq=4 --txq=4 --port-topology=chained
+ ./<build_target>/app/dpdk-testpmd -c 1ffff -n 4 -- -i --nb-cores=8 --rxq=4 --txq=4 --port-topology=chained
testpmd> set fwd rxonly
testpmd> set verbose 1
testpmd> start
@@ -586,7 +586,7 @@ Test case: Flow directory rule and RSS rule combination (I40E)
1. Start the testpmd::
- ./testpmd -c 1ffff -n 4 -- -i --nb-cores=8 --rxq=16 --txq=16 --pkt-filter-mode=perfect
+ ./<build_target>/app/dpdk-testpmd -c 1ffff -n 4 -- -i --nb-cores=8 --rxq=16 --txq=16 --pkt-filter-mode=perfect
testpmd> set fwd rxonly
testpmd> set verbose 1
testpmd> start
@@ -616,7 +616,7 @@ Test case: Set queue-region with rte_flow api (I40E)
1. Start the testpmd::
- ./testpmd -c 1ffff -n 4 -- -i --nb-cores=16 --rxq=16 --txq=16 --port-topology=chained
+ ./<build_target>/app/dpdk-testpmd -c 1ffff -n 4 -- -i --nb-cores=16 --rxq=16 --txq=16 --port-topology=chained
testpmd> set fwd rxonly
testpmd> set verbose 1
testpmd> start
@@ -673,7 +673,7 @@ Test case: Set queue region in rte_flow with invalid parameter (I40E)
1. Start the testpmd::
- ./testpmd -c 1ffff -n 4 -- -i --nb-cores=16 --rxq=16 --txq=16 --port-topology=chained
+ ./<build_target>/app/dpdk-testpmd -c 1ffff -n 4 -- -i --nb-cores=16 --rxq=16 --txq=16 --port-topology=chained
testpmd> set fwd rxonly
testpmd> set verbose 1
testpmd> start
@@ -718,7 +718,7 @@ be implemented with fortville.
1. Start the testpmd::
- ./testpmd -c 1ffff -n 4 -- -i --nb-cores=8 --rxq=16 --txq=16 --port-topology=chained
+ ./<build_target>/app/dpdk-testpmd -c 1ffff -n 4 -- -i --nb-cores=8 --rxq=16 --txq=16 --port-topology=chained
testpmd> flow create 0 ingress pattern eth / ipv4 / udp / end actions rss types ipv4-udp end queues end / end
testpmd> set fwd rxonly
testpmd> set verbose 1
@@ -755,7 +755,7 @@ Test case: disable and enable rss
1. Start the testpmd::
- ./testpmd -c 1ffff -n 4 -- -i --nb-cores=8 --rxq=4 --txq=4 --port-topology=chained
+ ./<build_target>/app/dpdk-testpmd -c 1ffff -n 4 -- -i --nb-cores=8 --rxq=4 --txq=4 --port-topology=chained
testpmd> set fwd rxonly
testpmd> set verbose 1
testpmd> start
@@ -797,7 +797,7 @@ Test case: enable ipv4-udp rss
1. Start the testpmd::
- ./testpmd -c 1ffff -n 4 -- -i --nb-cores=8 --rxq=4 --txq=4 --port-topology=chained
+ ./<build_target>/app/dpdk-testpmd -c 1ffff -n 4 -- -i --nb-cores=8 --rxq=4 --txq=4 --port-topology=chained
testpmd> set fwd rxonly
testpmd> set verbose 1
testpmd> start
@@ -826,7 +826,7 @@ Test case: set rss valid/invalid queue rule
1. Start the testpmd::
- ./testpmd -c 1ffff -n 4 -- -i --nb-cores=8 --rxq=16 --txq=16 --port-topology=chained
+ ./<build_target>/app/dpdk-testpmd -c 1ffff -n 4 -- -i --nb-cores=8 --rxq=16 --txq=16 --port-topology=chained
testpmd> set fwd rxonly
testpmd> set verbose 1
testpmd> start
@@ -879,7 +879,7 @@ Test case: Different packet types
1. Start the testpmd::
- ./testpmd -c 1ffff -n 4 -- -i --nb-cores=8 --rxq=16 --txq=16 --port-topology=chained
+ ./<build_target>/app/dpdk-testpmd -c 1ffff -n 4 -- -i --nb-cores=8 --rxq=16 --txq=16 --port-topology=chained
testpmd> set fwd rxonly
testpmd> set verbose 1
testpmd> start
@@ -914,7 +914,7 @@ Test case: disable rss in command-line
1. Start the testpmd::
- ./testpmd -c 0x3 -n 4 -- -i --rxq=8 --txq=8 --disable-rss --port-topology=chained
+ ./<build_target>/app/dpdk-testpmd -c 0x3 -n 4 -- -i --rxq=8 --txq=8 --disable-rss --port-topology=chained
testpmd> set fwd rxonly
testpmd> set verbose 1
testpmd> start
@@ -950,7 +950,7 @@ Test case: Flow directory rule and RSS rule combination
1. Start the testpmd::
- ./testpmd -c 1ffff -n 4 -- -i --nb-cores=8 --rxq=16 --txq=16 --pkt-filter-mode=perfect
+ ./<build_target>/app/dpdk-testpmd -c 1ffff -n 4 -- -i --nb-cores=8 --rxq=16 --txq=16 --pkt-filter-mode=perfect
testpmd> set fwd rxonly
testpmd> set verbose 1
testpmd> start
@@ -71,7 +71,7 @@ Patterns in this case:
#. Start the ``testpmd`` application as follows::
- ./x86_64-native-linuxapp-gcc/app/testpmd -c 0xf -n 4 -a 0000:af:00.0 --log-level="ice,7" -- -i --txq=8 --rxq=8
+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xf -n 4 -a 0000:af:00.0 --log-level="ice,7" -- -i --txq=8 --rxq=8
set fwd rxonly
set verbose 1
@@ -90,7 +90,7 @@ Patterns in this case:
#. Start the ``testpmd`` application as follows::
- ./x86_64-native-linuxapp-gcc/app/testpmd -c 0xf -n 4 -a 0000:af:00.0,pipeline-mode-support=0 --log-level="ice,7" -- -i --txq=8 --rxq=8
+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xf -n 4 -a 0000:af:00.0,pipeline-mode-support=0 --log-level="ice,7" -- -i --txq=8 --rxq=8
set fwd rxonly
set verbose 1
@@ -119,7 +119,7 @@ Patterns in this case:
#. Start the ``testpmd`` application as follows::
- ./x86_64-native-linuxapp-gcc/app/testpmd -c 0xf -n 4 -a 0000:af:00.0,pipeline-mode-support=1 --log-level="ice,7" -- -i --txq=8 --rxq=8
+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xf -n 4 -a 0000:af:00.0,pipeline-mode-support=1 --log-level="ice,7" -- -i --txq=8 --rxq=8
set fwd rxonly
set verbose 1
rx_vxlan_port add 4789 0
@@ -184,7 +184,7 @@ Patterns in this case:
#. Start the ``testpmd`` application as follows::
- ./x86_64-native-linuxapp-gcc/app/testpmd -c 0xf -n 4 -a 0000:af:00.0,pipeline-mode-support=1 --log-level="ice,7" -- -i --txq=8 --rxq=8
+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xf -n 4 -a 0000:af:00.0,pipeline-mode-support=1 --log-level="ice,7" -- -i --txq=8 --rxq=8
set fwd rxonly
set verbose 1
@@ -206,7 +206,7 @@ Patterns in this case:
#. Start the ``testpmd`` application as follows::
- ./x86_64-native-linuxapp-gcc/app/testpmd -c 0xf -n 4 -a 0000:af:00.0,pipeline-mode-support=1 --log-level="ice,7" -- -i --txq=8 --rxq=8
+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xf -n 4 -a 0000:af:00.0,pipeline-mode-support=1 --log-level="ice,7" -- -i --txq=8 --rxq=8
set fwd rxonly
set verbose 1
@@ -232,7 +232,7 @@ Patterns in this case:
#. Start the ``testpmd`` application as follows::
- ./x86_64-native-linuxapp-gcc/app/testpmd -c 0xf -n 4 -a 0000:af:00.0,pipeline-mode-support=1 --log-level="ice,7" -- -i --txq=8 --rxq=8
+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xf -n 4 -a 0000:af:00.0,pipeline-mode-support=1 --log-level="ice,7" -- -i --txq=8 --rxq=8
set fwd rxonly
set verbose 1
@@ -257,7 +257,7 @@ Patterns in this case:
#. Start the ``testpmd`` application as follows::
- ./x86_64-native-linuxapp-gcc/app/testpmd -c 0xf -n 4 -a 0000:af:00.0,pipeline-mode-support=1 --log-level="ice,7" -- -i --txq=8 --rxq=8
+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xf -n 4 -a 0000:af:00.0,pipeline-mode-support=1 --log-level="ice,7" -- -i --txq=8 --rxq=8
set fwd rxonly
set verbose 1
@@ -298,7 +298,7 @@ Patterns in this case:
#. Restart the ``testpmd`` application as follows::
- ./x86_64-native-linuxapp-gcc/app/testpmd -c 0xf -n 4 -a 0000:af:00.0, pipeline-mode-support=1 --log-level="ice,7" -- -i --txq=8 --rxq=8
+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xf -n 4 -a 0000:af:00.0, pipeline-mode-support=1 --log-level="ice,7" -- -i --txq=8 --rxq=8
set fwd rxonly
set verbose 1
@@ -127,7 +127,7 @@ Test Case 1: set valid VF queue number in testpmd command-line options
1. Start VF testpmd with "--rxq=[rxq] --txq=[txq]", and random valid values from 1 to 16, take 3 for example::
- ./testpmd -c 0xf0 -n 4 -a 00:04.0 --file-prefix=test2 \
+ ./<build_target>/app/dpdk-testpmd -c 0xf0 -n 4 -a 00:04.0 --file-prefix=test2 \
--socket-mem 1024,1024 -- -i --rxq=3 --txq=3
2. Configure vf forwarding prerequisits and start forwarding::
@@ -169,7 +169,7 @@ Test case 2: set invalid VF queue number in testpmd command-line options
1. Start VF testpmd with "--rxq=0 --txq=0" ::
- ./testpmd -c 0xf0 -n 4 -a 00:04.0 --file-prefix=test2 \
+ ./<build_target>/app/dpdk-testpmd -c 0xf0 -n 4 -a 00:04.0 --file-prefix=test2 \
--socket-mem 1024,1024 -- -i --rxq=0 --txq=0
Verify testpmd exited with error as below::
@@ -178,7 +178,7 @@ Test case 2: set invalid VF queue number in testpmd command-line options
2. Start VF testpmd with "--rxq=17 --txq=17" ::
- ./testpmd -c 0xf0 -n 4 -a 00:04.0 --file-prefix=test2 \
+ ./<build_target>/app/dpdk-testpmd -c 0xf0 -n 4 -a 00:04.0 --file-prefix=test2 \
--socket-mem 1024,1024 -- -i --rxq=17 --txq=17
Verify testpmd exited with error as below::
@@ -190,7 +190,7 @@ Test case 3: set valid VF queue number with testpmd function command
1. Start VF testpmd without setting "rxq" and "txq"::
- ./testpmd -c 0xf0 -n 4 -a 00:04.0 --socket-mem 1024,1024 -- -i
+ ./<build_target>/app/dpdk-testpmd -c 0xf0 -n 4 -a 00:04.0 --socket-mem 1024,1024 -- -i
2. Configure vf forwarding prerequisits and start forwarding::
@@ -211,7 +211,7 @@ Test case 4: set invalid VF queue number with testpmd function command
1. Start VF testpmd without setting "rxq" and "txq"::
- ./testpmd -c 0xf0 -n 4 -a 00:04.0 --socket-mem 1024,1024 -- -i
+ ./<build_target>/app/dpdk-testpmd -c 0xf0 -n 4 -a 00:04.0 --socket-mem 1024,1024 -- -i
2. Set rx queue number and tx queue number with 0 ::
@@ -130,14 +130,14 @@ Test case 1: reserve valid vf queue number
1. Start PF testpmd with random queue-num-per-vf in [1, 2, 4, 8 ,16], for example, we use 4 as the reserved vf queue numbers::
- ./testpmd -c f -n 4 -a 18:00.0,queue-num-per-vf=4 \
+ ./<build_target>/app/dpdk-testpmd -c f -n 4 -a 18:00.0,queue-num-per-vf=4 \
--file-prefix=test1 --socket-mem 1024,1024 -- -i
Note testpmd can be started normally without any wrong or error.
2. Start VF testpmd::
- ./testpmd -c 0xf0 -n 4 -a 03:00.0 \
+ ./<build_target>/app/dpdk-testpmd -c 0xf0 -n 4 -a 03:00.0 \
--file-prefix=test2 --socket-mem 1024,1024 -- -i
3. VF request a queue number that is equal to reserved queue number, and we can not find VF reset while confiuring it::
@@ -195,7 +195,7 @@ Test case 2: reserve invalid VF queue number
1. Start PF testpmd with random queue-num-per-vf in [0, 3, 5-7 , 9-15, 17], for example, we use 0 as the reserved vf queue numbers::
- ./testpmd -c f -n 4 -a 18:00.0,queue-num-per-vf=0 \
+ ./<build_target>/app/dpdk-testpmd -c f -n 4 -a 18:00.0,queue-num-per-vf=0 \
--file-prefix=test1 --socket-mem 1024,1024 -- -i
2. Verify testpmd started with logs as below::
@@ -207,12 +207,12 @@ Test case 3: set valid VF queue number in testpmd command-line options
1. Start PF testpmd::
- ./testpmd -c f -n 4 -a 18:00.0 \
+ ./<build_target>/app/dpdk-testpmd -c f -n 4 -a 18:00.0 \
--file-prefix=test1 --socket-mem 1024,1024 -- -i
2. Start VF testpmd with "--rxq=[rxq] --txq=[txq]", and random valid values from 1 to 16, take 3 for example::
- ./testpmd -c 0xf0 -n 4 -a 18:02.0 --file-prefix=test2 \
+ ./<build_target>/app/dpdk-testpmd -c 0xf0 -n 4 -a 18:02.0 --file-prefix=test2 \
--socket-mem 1024,1024 -- -i --rxq=3 --txq=3
3. Configure vf forwarding prerequisits and start forwarding::
@@ -254,12 +254,12 @@ Test case 4: set invalid VF queue number in testpmd command-line options
1. Start PF testpmd::
- ./testpmd -c f -n 4 -a 18:00.0 \
+ ./<build_target>/app/dpdk-testpmd -c f -n 4 -a 18:00.0 \
--file-prefix=test1 --socket-mem 1024,1024 -- -i
2. Start VF testpmd with "--rxq=0 --txq=0" ::
- ./testpmd -c 0xf0 -n 4 -a 18:02.0 --file-prefix=test2 \
+ ./<build_target>/app/dpdk-testpmd -c 0xf0 -n 4 -a 18:02.0 --file-prefix=test2 \
--socket-mem 1024,1024 -- -i --rxq=0 --txq=0
Verify testpmd exited with error as below::
@@ -268,7 +268,7 @@ Test case 4: set invalid VF queue number in testpmd command-line options
3. Start VF testpmd with "--rxq=17 --txq=17" ::
- ./testpmd -c 0xf0 -n 4 -a 18:02.0 --file-prefix=test2 \
+ ./<build_target>/app/dpdk-testpmd -c 0xf0 -n 4 -a 18:02.0 --file-prefix=test2 \
--socket-mem 1024,1024 -- -i --rxq=17 --txq=17
Verify testpmd exited with error as below::
@@ -280,12 +280,12 @@ Test case 5: set valid VF queue number with testpmd function command
1. Start PF testpmd::
- ./testpmd -c f -n 4 -a 18:00.0 \
+ ./<build_target>/app/dpdk-testpmd -c f -n 4 -a 18:00.0 \
--file-prefix=test1 --socket-mem 1024,1024 -- -i
2. Start VF testpmd without setting "rxq" and "txq"::
- ./testpmd -c 0xf0 -n 4 -a 05:02.0 --file-prefix=test2 \
+ ./<build_target>/app/dpdk-testpmd -c 0xf0 -n 4 -a 05:02.0 --file-prefix=test2 \
--socket-mem 1024,1024 -- -i
3. Configure vf forwarding prerequisits and start forwarding::
@@ -307,12 +307,12 @@ Test case 6: set invalid VF queue number with testpmd function command
1. Start PF testpmd::
- ./testpmd -c f -n 4 -a 18:00.0 \
+ ./<build_target>/app/dpdk-testpmd -c f -n 4 -a 18:00.0 \
--file-prefix=test1 --socket-mem 1024,1024 -- -i
2. Start VF testpmd without setting "rxq" and "txq"::
- ./testpmd -c 0xf0 -n 4 -a 05:02.0 --file-prefix=test2 \
+ ./<build_target>/app/dpdk-testpmd -c 0xf0 -n 4 -a 05:02.0 --file-prefix=test2 \
--socket-mem 1024,1024 -- -i
@@ -344,7 +344,7 @@ Test case 7: Reserve VF queue number when VF bind to kernel driver
2. Reserve VF queue number ::
- ./testpmd -c f -n 4 -a 18:00.0,queue-num-per-vf=2 \
+ ./<build_target>/app/dpdk-testpmd -c f -n 4 -a 18:00.0,queue-num-per-vf=2 \
--file-prefix=test1 --socket-mem 1024,1024 -- -i
3. Check the VF0 rxq and txq number is 2::
@@ -46,11 +46,16 @@ prior to transmission to calculate the elapsed time, in CPU cycles.
Running the Application
=======================
-Set ``CONFIG_RTE_ETHDEV_RXTX_CALLBACKS=y`` in config/common_base.
+Build dpdk and examples=rxtx_callbacks:
+ CC=gcc meson -Denable_kmods=True -Dlibdir=lib --default-library=static <build_target>
+ ninja -C <build_target>
+
+ meson configure -Dexamples=rxtx_callbacks <build_target>
+ ninja -C <build_target>
To run the example in a ``linuxapp`` environment::
- ./build/rxtx_callbacks -c 2 -n 4
+ ./<build_target>/examples/dpdk-rxtx_callbacks -c 2 -n 4
Refer to *DPDK Getting Started Guide* for general information on running
applications and the Environment Abstraction Layer (EAL) options.
@@ -60,7 +65,7 @@ Test Case:rxtx callbacks
Run the example::
- ./examples/rxtx_callbacks/build/rxtx_callbacks -c 2 -n 4
+ ./<build_target>/examples/dpdk-rxtx_callbacks -c 2 -n 4
waked up:::
@@ -113,7 +113,7 @@ Test case: Rx offload per-port setting in command-line
1. Enable rx cksum in command-line::
- ./testpmd -c f -n 4 -- -i --rxq=4 --txq=4 --enable-rx-cksum
+ ./<build_target>/app/dpdk-testpmd -c f -n 4 -- -i --rxq=4 --txq=4 --enable-rx-cksum
testpmd> set fwd csum
testpmd> set verbose 1
testpmd> show port 0 rx_offload configuration
@@ -173,7 +173,7 @@ Test case: NNT Rx offload per-queue setting
1. Start testpmd::
- ./testpmd -c f -n 4 -- -i --rxq=4 --txq=4
+ ./<build_target>/app/dpdk-testpmd -c f -n 4 -- -i --rxq=4 --txq=4
testpmd> set fwd mac
testpmd> set verbose 1
testpmd> show port info all
@@ -287,7 +287,7 @@ Test case: Tx offload per-port setting
1. Start testpmd::
- ./testpmd -c 0x6 -n 4 -- -i --rxq=4 --txq=4 --port-topology=loop
+ ./<build_target>/app/dpdk-testpmd -c 0x6 -n 4 -- -i --rxq=4 --txq=4 --port-topology=loop
testpmd> set fwd txonly
testpmd> set verbose 1
testpmd> show port 0 tx_offload configuration
@@ -346,7 +346,7 @@ Test case: Tx offload per-port setting in command-line
1. Start testpmd with "--tx-offloads"::
- ./testpmd -c 0xf -n 4 -- -i --rxq=4 --txq=4 --port-topology=loop --tx-offloads=0x0001
+ ./<build_target>/app/dpdk-testpmd -c 0xf -n 4 -- -i --rxq=4 --txq=4 --port-topology=loop --tx-offloads=0x0001
testpmd> show port 0 tx_offload configuration
Tx Offloading Configuration of port 0 :
Port : VLAN_INSERT
@@ -446,7 +446,7 @@ Test case: Tx offload checksum
1. Set checksum forward mode::
- ./testpmd -c f -n 4 -- -i --rxq=4 --txq=4
+ ./<build_target>/app/dpdk-testpmd -c f -n 4 -- -i --rxq=4 --txq=4
testpmd> set fwd csum
testpmd> set verbose 1
testpmd> show port 0 tx_offload configuration
@@ -519,7 +519,7 @@ Test case: FVL Tx offload per-queue setting
1. Start testpmd and get the tx_offload capability and configuration::
- ./testpmd -c f -n 4 -- -i --rxq=4 --txq=4
+ ./<build_target>/app/dpdk-testpmd -c f -n 4 -- -i --rxq=4 --txq=4
testpmd> show port 0 tx_offload capabilities
Tx Offloading Capabilities of port 0 :
Per Queue : MBUF_FAST_FREE
@@ -604,7 +604,7 @@ Test case: Tx offload multi_segs setting
1. Start testpmd with "--tx-offloads=0x00008000" to enable tx_offload multi_segs ::
- ./testpmd -c 0xf -n 4 -- -i --tx-offloads==0x00008000
+ ./<build_target>/app/dpdk-testpmd -c 0xf -n 4 -- -i --tx-offloads==0x00008000
testpmd> show port 0 tx_offload configuration
Tx Offloading Configuration of port 0 :
Port : MULTI_SEGS
@@ -648,7 +648,7 @@ Test case: Tx offload multi_segs setting
4. Start testpmd again without "--tx-offloads", check multi-segs is disabled by default::
- ./testpmd -c 0xf -n 4 -- -i
+ ./<build_target>/app/dpdk-testpmd -c 0xf -n 4 -- -i
testpmd> show port 0 tx_offload configuration
No MULTI_SEGS in Tx Offloading Configuration of ports
@@ -101,7 +101,7 @@ Assuming that ports ``0`` and ``1`` of the test target are directly connected
to a Traffic Generator, launch the ``testpmd`` application with the following
arguments::
- ./x86_64-native-linuxapp-gcc/app/testpmd -c 0x6 -n 4 -- -i --mbcache=200 \
+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0x6 -n 4 -- -i --mbcache=200 \
--mbuf-size=2048 --portmask=0x1 --max-pkt-len=9000 --port-topology=loop \
--tx-offloads=DEV_TX_OFFLOAD_MULTI_SEGS
@@ -143,7 +143,7 @@ SW preparation: Change one line of the symmetric_mp sample and rebuild::
1. Bind one port to vfio-pci, launch testpmd by below command::
- ./testpmd -l 1-6 -n 4 --file-prefix=vhost --vdev 'net_vhost,iface=vhost-net,queues=2,client=1' --vdev 'net_vhost1,iface=vhost-net1,queues=2,client=1' -- -i --nb-cores=4 --rxq=2 --txq=2 --txd=1024 --rxd=1024
+ ./<build_target>/app/dpdk-testpmd -l 1-6 -n 4 --file-prefix=vhost --vdev 'net_vhost,iface=vhost-net,queues=2,client=1' --vdev 'net_vhost1,iface=vhost-net1,queues=2,client=1' -- -i --nb-cores=4 --rxq=2 --txq=2 --txd=1024 --rxd=1024
testpmd>set fwd txonly
testpmd>start
@@ -181,7 +181,7 @@ Test Case 2: Virtio-pmd primary and secondary process hotplug test
1. Launch testpmd by below command::
- ./testpmd -l 1-6 -n 4 --file-prefix=vhost --vdev 'net_vhost,iface=vhost-net,queues=2,client=1' --vdev 'net_vhost1,iface=vhost-net1,queues=2,client=1' -- -i --nb-cores=4 --rxq=2 --txq=2 --txd=1024 --rxd=1024
+ ./<build_target>/app/dpdk-testpmd -l 1-6 -n 4 --file-prefix=vhost --vdev 'net_vhost,iface=vhost-net,queues=2,client=1' --vdev 'net_vhost1,iface=vhost-net1,queues=2,client=1' -- -i --nb-cores=4 --rxq=2 --txq=2 --txd=1024 --rxd=1024
testpmd>set fwd txonly
testpmd>start
@@ -111,7 +111,7 @@ Details:
1. In VF1, run testpmd::
- ./x86_64-native-linuxapp-gcc/app/testpmd -c 0x3 -n 4 --socket-mem 1024,1024
+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0x3 -n 4 --socket-mem 1024,1024
-a 05:02.0 --file-prefix=test1 -- -i --crc-strip --eth-peer=0,00:11:22:33:44:12
testpmd>set fwd txonly
testpmd>set promisc all off
@@ -119,7 +119,7 @@ Details:
In VF2, run testpmd::
- ./x86_64-native-linuxapp-gcc/app/testpmd -c 0xa -n 4 --socket-mem 1024,1024
+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xa -n 4 --socket-mem 1024,1024
-a 05:02.1 --file-prefix=test2 -- -i --crc-strip
testpmd>set fwd rxonly
testpmd>set promisc all off
@@ -139,7 +139,7 @@ Details:
1. In VF1, run testpmd::
- ./x86_64-native-linuxapp-gcc/app/testpmd -c 0x3 -n 4 --socket-mem 1024,1024
+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0x3 -n 4 --socket-mem 1024,1024
-a 05:02.0 --file-prefix=test1 -- -i --crc-strip --eth-peer=0,00:11:22:33:44:12
testpmd>set fwd mac
testpmd>set promisc all off
@@ -147,7 +147,7 @@ Details:
In VF2, run testpmd::
- ./x86_64-native-linuxapp-gcc/app/testpmd -c 0xa -n 4 --socket-mem 1024,1024
+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xa -n 4 --socket-mem 1024,1024
-a 05:02.1 --file-prefix=test2 -- -i --crc-strip
testpmd>set fwd rxonly
testpmd>set promisc all off
@@ -174,7 +174,7 @@ Details:
2. In VF1, run testpmd::
- ./testpmd -c 0xf -n 4 --socket-mem 1024,1024 -a 0000:05:02.0
+ ./<build_target>/app/dpdk-testpmd -c 0xf -n 4 --socket-mem 1024,1024 -a 0000:05:02.0
--file-prefix=test1 -- -i --crc-strip --eth-peer=0,00:11:22:33:44:12
testpmd>set fwd mac
testpmd>set promisc all off
@@ -182,7 +182,7 @@ Details:
In VF2, run testpmd::
- ./testpmd -c 0xf0 -n 4 --socket-mem 1024,1024 -a 0000:05:02.1
+ ./<build_target>/app/dpdk-testpmd -c 0xf0 -n 4 --socket-mem 1024,1024 -a 0000:05:02.1
--file-prefix=test2 -- -i --crc-strip
testpmd>set fwd rxonly
testpmd>set promisc all off
@@ -216,14 +216,14 @@ Details:
1. vf->pf
PF, launch testpmd::
- ./testpmd -c 0xf -n 4 --socket-mem 1024,1024 -a 0000:05:00.0 --file-prefix=test1 -- -i
+ ./<build_target>/app/dpdk-testpmd -c 0xf -n 4 --socket-mem 1024,1024 -a 0000:05:00.0 --file-prefix=test1 -- -i
testpmd>set fwd rxonly
testpmd>set promisc all off
testpmd>start
VF1, run testpmd::
- ./testpmd -c 0xf0 -n 4 --socket-mem 1024,1024 -a 0000:05:02.0 --file-prefix=test2 -- -i --eth-peer=0,pf_mac_addr
+ ./<build_target>/app/dpdk-testpmd -c 0xf0 -n 4 --socket-mem 1024,1024 -a 0000:05:02.0 --file-prefix=test2 -- -i --eth-peer=0,pf_mac_addr
testpmd>set fwd txonly
testpmd>set promisc all off
testpmd>start
@@ -234,14 +234,14 @@ Details:
2. pf->vf
PF, launch testpmd::
- ./testpmd -c 0xf -n 4 --socket-mem 1024,1024 -a 0000:05:00.0 --file-prefix=test1 -- -i --eth-peer=0,vf1_mac_addr
+ ./<build_target>/app/dpdk-testpmd -c 0xf -n 4 --socket-mem 1024,1024 -a 0000:05:00.0 --file-prefix=test1 -- -i --eth-peer=0,vf1_mac_addr
testpmd>set fwd txonly
testpmd>set promisc all off
testpmd>start
VF1, run testpmd::
- ./testpmd -c 0xf0 -n 4 --socket-mem 1024,1024 -a 0000:05:02.0 --file-prefix=test2 -- -i
+ ./<build_target>/app/dpdk-testpmd -c 0xf0 -n 4 --socket-mem 1024,1024 -a 0000:05:02.0 --file-prefix=test2 -- -i
testpmd>mac_addr add 0 vf1_mac_addr
testpmd>set fwd rxonly
testpmd>set promisc all off
@@ -253,14 +253,14 @@ Details:
3. tester->vf
PF, launch testpmd::
- ./testpmd -c 0xf -n 4 --socket-mem 1024,1024 -a 0000:05:00.0 --file-prefix=test1 -- -i
+ ./<build_target>/app/dpdk-testpmd -c 0xf -n 4 --socket-mem 1024,1024 -a 0000:05:00.0 --file-prefix=test1 -- -i
testpmd>set fwd mac
testpmd>set promisc all off
testpmd>start
VF1, run testpmd::
- ./testpmd -c 0xf0 -n 4 --socket-mem 1024,1024 -a 0000:05:02.0 --file-prefix=test2 -- -i
+ ./<build_target>/app/dpdk-testpmd -c 0xf0 -n 4 --socket-mem 1024,1024 -a 0000:05:02.0 --file-prefix=test2 -- -i
testpmd>mac_addr add 0 vf1_mac_addr
testpmd>set fwd rxonly
testpmd>set promisc all off
@@ -273,19 +273,19 @@ Details:
4. vf1->vf2
PF, launch testpmd::
- ./testpmd -c 0xf -n 4 --socket-mem 1024,1024 -a 0000:05:00.0 --file-prefix=test1 -- -i
+ ./<build_target>/app/dpdk-testpmd -c 0xf -n 4 --socket-mem 1024,1024 -a 0000:05:00.0 --file-prefix=test1 -- -i
testpmd>set promisc all off
VF1, run testpmd::
- ./testpmd -c 0xf0 -n 4 --socket-mem 1024,1024 -a 0000:05:02.0 --file-prefix=test2 -- -i --eth-peer=0,vf2_mac_addr
+ ./<build_target>/app/dpdk-testpmd -c 0xf0 -n 4 --socket-mem 1024,1024 -a 0000:05:02.0 --file-prefix=test2 -- -i --eth-peer=0,vf2_mac_addr
testpmd>set fwd txonly
testpmd>set promisc all off
testpmd>start
VF2, run testpmd::
- ./testpmd -c 0xf00 -n 4 --socket-mem 1024,1024 -a 0000:05:02.1 --file-prefix=test3 -- -i
+ ./<build_target>/app/dpdk-testpmd -c 0xf00 -n 4 --socket-mem 1024,1024 -a 0000:05:02.1 --file-prefix=test3 -- -i
testpmd>mac_addr add 0 vf2_mac_addr
testpmd>set fwd rxonly
testpmd>set promisc all off
@@ -87,7 +87,7 @@ Prerequisites
5. Start testpmd on host and vm0 in chained port topology::
- ./testpmd -c f -n 4 -- -i --port-topology=chained --tx-offloads=0x8fff
+ ./<build_target>/app/dpdk-testpmd -c f -n 4 -- -i --port-topology=chained --tx-offloads=0x8fff
Test Case 1: Set VLAN insert for VF from PF
@@ -85,7 +85,7 @@ Prerequisites
5. Start testpmd, set it in mac forward mode::
- testpmd -c 0x0f-- -i --portmask=0x1 \
+ ./<build_target>/app/dpdk-testpmd -c 0x0f-- -i --portmask=0x1 \
--tx-offloads=0x8fff --max-pkt-len=9000--port-topology=loop
testpmd> set fwd mac
testpmd> start
@@ -81,7 +81,7 @@ Steps:
1. Enable multi-queues to start DPDK PF::
- ./testpmd -c f -n 4 -- -i --rxq=4 --txq=4
+ ./<build_target>/app/dpdk-testpmd -c f -n 4 -- -i --rxq=4 --txq=4
2. Link up kernel VF and expect VF link up
@@ -91,6 +91,13 @@ Setup overview
Set up topology as above based on the NIC used.
+Build dpdk and examples=l3fwd:
+ CC=gcc meson -Denable_kmods=True -Dlibdir=lib --default-library=static <build_target>
+ ninja -C <build_target>
+
+ meson configure -Dexamples=l3fwd <build_target>
+ ninja -C <build_target>
+
Test Case 1: Measure performance with kernel PF & dpdk VF
=========================================================
@@ -111,7 +118,7 @@ take XL710 for example::
4, Start dpdk l3fwd with 1:1 matched cores and queues::
- ./examples/l3fwd/build/l3fwd -c 0xf -n 4 -- -p 0x3 --config '(0,0,0),(1,0,1),(0,1,2),(1,1,3)'
+ ./<build_target>/examples/dpdk-l3fwd -c 0xf -n 4 -- -p 0x3 --config '(0,0,0),(1,0,1),(0,1,2),(1,1,3)'
5, Send packet with frame size from 64bytes to 1518bytes with ixia traffic generator,
make sure your traffic configuration meets LPM rules, and will go to all queues, all ports.
@@ -150,13 +157,13 @@ take XL710 for example::
3, Start testpmd and set vfs mac address::
- ./x86_64-native-linuxapp-gcc/app/testpmd -c 0x3 -n 4 --socket-mem=1024,1024 --file-prefix=pf -b 0000:18:02.0 -b 0000:18:06.0 -- -i
+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0x3 -n 4 --socket-mem=1024,1024 --file-prefix=pf -b 0000:18:02.0 -b 0000:18:06.0 -- -i
testpmd>set vf mac addr 0 0 00:12:34:56:78:01
testpmd>set vf mac addr 1 0 00:12:34:56:78:02
4, Start dpdk l3fwd with 1:1 matched cores and queues::
- ./examples/l3fwd/build/l3fwd -c 0x3c -n 4 -a 0000:18:02.0 -a 0000:18:06.0 -- -p 0x3 --config '(0,0,2),(1,0,3),(0,1,4),(1,1,5)'
+ ./<build_target>/examples/dpdk-l3fwd -c 0x3c -n 4 -a 0000:18:02.0 -a 0000:18:06.0 -- -p 0x3 --config '(0,0,2),(1,0,3),(0,1,4),(1,1,5)'
5, Send packet with frame size from 64bytes to 1518bytes with ixia traffic generator,
make sure your traffic configuration meets LPM rules, and will go to all queues, all ports.
@@ -86,7 +86,7 @@ Test Case : Vf Single Core Performance Measurement
4. Start testpmd::
- ./dpdk-testpmd -l 28,29 -n 4 -- -i --portmask=0x3 --txd=512 --rxd=512 \
+ ./<build_target>/app/dpdk-testpmd -l 28,29 -n 4 -- -i --portmask=0x3 --txd=512 --rxd=512 \
--txq=2 --rxq=2 --nb-cores=1
testpmd> set fwd mac
@@ -74,7 +74,7 @@ Flow:tap0-->vhost-net-->virtio_user-->nic0-->nic1
3. Bind nic0 to vfio-pci and launch the virtio_user with testpmd::
./dpdk-devbind.py -b vfio-pci xx:xx.x # xx:xx.x is the pci addr of nic0
- ./testpmd -c 0xc0000 -n 4 --file-prefix=test2 \
+ ./<build_target>/app/dpdk-testpmd -c 0xc0000 -n 4 --file-prefix=test2 \
--vdev=virtio_user0,mac=00:01:02:03:04:05,path=/dev/vhost-net,queue_size=1024 -- -i --rxd=1024 --txd=1024
testpmd>set fwd csum
testpmd>stop
@@ -126,7 +126,7 @@ Flow: tap0<-->vhost-net<-->virtio_user<-->nic0<-->TG
2. Bind the physical port to vfio-pci, launch testpmd with one queue for virtio_user::
./dpdk-devbind.py -b vfio-pci xx:xx.x # xx:xx.x is the pci addr of nic0
- ./testpmd -l 1-2 -n 4 --file-prefix=test2 --vdev=virtio_user0,mac=00:01:02:03:04:05,path=/dev/vhost-net,queue_size=1024,queues=1 -- -i --rxd=1024 --txd=1024
+ ./<build_target>/app/dpdk-testpmd -l 1-2 -n 4 --file-prefix=test2 --vdev=virtio_user0,mac=00:01:02:03:04:05,path=/dev/vhost-net,queue_size=1024,queues=1 -- -i --rxd=1024 --txd=1024
3. Check if there is a tap device generated::
@@ -156,7 +156,7 @@ Flow: tap0<-->vhost-net<-->virtio_user<-->nic0<-->TG
2. Bind the physical port to vfio-pci, launch testpmd with two queues for virtio_user::
./dpdk-devbind.py -b vfio-pci xx:xx.x # xx:xx.x is the pci addr of nic0
- ./testpmd -l 1-2 -n 4 --file-prefix=test2 --vdev=virtio_user0,mac=00:01:02:03:04:05,path=/dev/vhost-net,queue_size=1024,queues=2 -- -i --rxd=1024 --txd=1024 --txq=2 --rxq=2 --nb-cores=1
+ ./<build_target>/app/dpdk-testpmd -l 1-2 -n 4 --file-prefix=test2 --vdev=virtio_user0,mac=00:01:02:03:04:05,path=/dev/vhost-net,queue_size=1024,queues=2 -- -i --rxd=1024 --txd=1024 --txq=2 --rxq=2 --nb-cores=1
3. Check if there is a tap device generated::
@@ -72,12 +72,12 @@ Test Case 1: packet forward test for container networking
2. Bind one port to vfio-pci, launch vhost::
- ./testpmd -l 1-2 -n 4 --file-prefix=vhost --vdev 'net_vhost0,iface=vhost-net,queues=1,client=0' -- -i
+ ./<build_target>/app/dpdk-testpmd -l 1-2 -n 4 --file-prefix=vhost --vdev 'net_vhost0,iface=vhost-net,queues=1,client=0' -- -i
2. Start a container instance with a virtio-user port::
docker run -i -t --privileged -v /root/dpdk/vhost-net:/tmp/vhost-net -v /mnt/huge:/dev/hugepages \
- -v /root/dpdk:/root/dpdk dpdk_image ./root/dpdk/x86_64-native-linuxapp-gcc/app/testpmd -l 3-4 -n 4 -m 1024 --no-pci --file-prefix=container \
+ -v /root/dpdk:/root/dpdk dpdk_image ./root/dpdk/x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 3-4 -n 4 -m 1024 --no-pci --file-prefix=container \
--vdev=virtio_user0,mac=00:11:22:33:44:10,path=/tmp/vhost-net -- -i
3. Send packet with packet generator with different packet size,includes [64, 128, 256, 512, 1024, 1518], check virtio could receive and fwd packets correctly in container::
@@ -94,12 +94,12 @@ Test Case 2: packet forward with multi-queues for container networking
2. Bind one port to vfio-pci, launch vhost::
- ./testpmd -l 1-3 -n 4 --file-prefix=vhost --vdev 'net_vhost0,iface=vhost-net,queues=2,client=0' -- -i --nb-cores=2
+ ./<build_target>/app/dpdk-testpmd -l 1-3 -n 4 --file-prefix=vhost --vdev 'net_vhost0,iface=vhost-net,queues=2,client=0' -- -i --nb-cores=2
2. Start a container instance with a virtio-user port::
docker run -i -t --privileged -v /root/dpdk/vhost-net:/tmp/vhost-net -v /mnt/huge:/dev/hugepages \
- -v /root/dpdk:/root/dpdk dpdk_image ./root/dpdk/x86_64-native-linuxapp-gcc/app/testpmd -l 4-6 -n 4 -m 1024 --no-pci --file-prefix=container \
+ -v /root/dpdk:/root/dpdk dpdk_image ./root/dpdk/x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 4-6 -n 4 -m 1024 --no-pci --file-prefix=container \
--vdev=virtio_user0,mac=00:11:22:33:44:10,path=/tmp/vhost-net,queues=2 -- -i --rxq=2 --txq=2 --nb-cores=2
3. Send packet with packet generator with different packet size,includes [64, 128, 256, 512, 1024, 1518], check virtio could receive and fwd packets in container with two queues::