@@ -43,10 +43,22 @@ Test IAVF cases on host or in qemu
Bind VF device to igb_uio or vfio-pci
-Start up VF port::
+if test IAVF, start up VF port::
./<build_target>/app/dpdk-testpmd -c f -n 4 -- -i
+if test DCF, set VF port to dcf and start up::
+
+ Enable kernel trust mode:
+
+ ip link set $PF_INTF vf 0 trust on
+
+ ./<build_target>/app/dpdk-testpmd -c f -n 4 -a 0000:18:01.0,cap=dcf -- -i
+
+.. note::
+
+ make dcf as full feature pmd is dpdk22.07 feature, and only support E810 series nic.
+
Test case: VF basic RX/TX
=========================
Set rxonly forward, start testpmd
@@ -259,11 +259,25 @@ Test Case: VF xstats Checks
./usertools/dpdk-devbind.py -s
./usertools/dpdk-devbind.py -b vfio-pci vf_bus_id
-2. Launch testpmd on the VF and enable RSS::
+2. Launch testpmd on the VF and enable RSS:
+
+ if test IAVF, start up VF port::
./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c f -n 4 -- -i --rxq=4 --txq=4
testpmd> port config all rss all
testpmd> set fwd mac
+ if test DCF, set VF port to dcf and start up::
+
+ Enable kernel trust mode:
+
+ ip link set $PF_INTF vf 0 trust on
+
+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c f -n 4 -a 0000:18:01.0,cap=dcf -- -i --rxq=4 --txq=4
+
+.. note::
+
+ make dcf as full feature pmd is dpdk22.07 feature, and only support E810 series nic.
+
3. Then run the same steps of PF xstats Checks, get same result.
note: because one port forwarding packets, so check rx and tx both in port 0.
@@ -68,6 +68,9 @@ Test Case 1: test_kernel_2pf_2vf_1vm_iplink_macfilter
disable promisc mode,set it in mac forward mode::
./usertools/dpdk-devbind.py --bind=igb_uio 00:06.0 00:07.0
+
+ if test IAVF, start up VF port::
+
./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0x0f -n 4 -a 00:06.0 -a 00:07.0 -- -i --portmask=0x3
testpmd> port stop all
@@ -77,6 +80,14 @@ Test Case 1: test_kernel_2pf_2vf_1vm_iplink_macfilter
testpmd> set fwd mac
testpmd> start
+ if test DCF, set VF port to dcf and start up::
+
+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0x0f -n 4 -a 00:06.0,cap=dcf -a 00:07.0,cap=dcf -- -i --portmask=0x3
+
+.. note::
+
+ make dcf as full feature pmd is dpdk22.07 feature, and only support E810 series nic.
+
6. Use scapy to send 100 random packets with ip link set MAC to VF, verify the
packets can be received by one VF and can be forwarded to another VF
correctly.
@@ -146,6 +157,9 @@ Test Case 2: test_kernel_2pf_2vf_1vm_mac_add_filter
VF, disable promisc mode, add a new MAC to VF0 and then start::
./usertools/dpdk-devbind.py --bind=igb_uio 00:06.0 00:07.0
+
+ if test IAVF, start up VF port::
+
./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0x0f -n 4 -a 00:06.0 -a 00:07.0 -- -i --portmask=0x3
testpmd> port stop all
@@ -156,6 +170,14 @@ Test Case 2: test_kernel_2pf_2vf_1vm_mac_add_filter
testpmd> set fwd mac
testpmd> start
+ if test DCF, set VF port to dcf and start up::
+
+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0x0f -n 4 -a 00:06.0,cap=dcf -a 00:07.0,cap=dcf -- -i --portmask=0x3
+
+.. note::
+
+ make dcf as full feature pmd is dpdk22.07 feature, and only support E810 series nic.
+
6. Use scapy to send 100 random packets with current VF0's MAC, verify the
packets can be received by one VF and can be forwarded to another VF
correctly.
@@ -24,12 +24,28 @@ IP link set VF trust on and spoofchk off on DUT::
Assuming that ports ``0`` and ``1`` are connected to a traffic generator,
enable hardware rx checksum offload with "--enable-rx-cksum",
-launch the ``testpmd`` with the following arguments::
+launch the ``testpmd`` with the following arguments:
+
+ if test IAVF, start up VF port::
./build/app/dpdk-testpmd -cffffff -n 1 -- -i --burst=1 --txpt`=32 \
--txht=8 --txwt=0 --txfreet=0 --rxfreet=64 --mbcache=250 --portmask=0x5
--enable-rx-cksum
+ if test DCF, set VF port to dcf and start up::
+
+ Enable kernel trust mode:
+
+ ip link set $PF_INTF vf 0 trust on
+
+ dpdk-testpmd -c 0x0f -n 4 -a 00:04.0,cap=dcf -a 00:05.0,cap=dcf -- -i --burst=1 --txpt=32 \
+ --txht=8 --txwt=0 --txfreet=0 --rxfreet=64 --mbcache=250 --portmask=0x5
+ --enable-rx-cksum
+
+.. note::
+
+ make dcf as full feature pmd is dpdk22.07 feature, and only support E810 series nic.
+
Set the verbose level to 1 to display information for each received packet::
testpmd> set verbose 1
@@ -50,10 +50,23 @@ The following RX Ports/Queues configurations have to be benchmarked:
Testpmd configuration - 4 RX/TX queues per port
-----------------------------------------------
-::
+ if test IAVF, start up VF port::
dpdk-testpmd -c 1f -n 3 -- -i --rxq=4 --txq=4
+
+ if test DCF, set VF port to dcf and start up::
+
+ Enable kernel trust mode:
+
+ ip link set $PF_INTF vf 0 trust on
+
+ dpdk-testpmd -c 0x0f -n 4 -a 00:04.0,cap=dcf -a 00:05.0,cap=dcf -- -i --rxq=4 --txq=4
+
+.. note::
+
+ make dcf as full feature pmd is dpdk22.07 feature, and only support E810 series nic.
+
Testpmd Configuration Options
-----------------------------
@@ -51,7 +51,9 @@ Prerequisites
modprobe vfio-pci
./usertools/dpdk-devbind.py -b vfio-pci 0000:86:01.0
-8. Launch dpdk on VF::
+8. Launch dpdk on VF:
+
+ if test IAVF, start up VF port::
./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xf -n 4 -a 0000:86:01.0 --file-prefix=pf -- -i --rxq=4 --txq=4
testpmd> set fwd mac
@@ -59,6 +61,19 @@ Prerequisites
testpmd> start
testpmd> show port info all
+ if test DCF, set VF port to dcf and start up::
+
+ Enable kernel trust mode:
+
+ ip link set $PF_INTF vf 0 trust on
+
+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xf -n 4 -a 0000:86:01.0,cap=dcf --file-prefix=pf -- -i --rxq=4
+ --txq=4
+
+.. note::
+
+ make dcf as full feature pmd is dpdk22.07 feature, and only support E810 series nic.
+
Test Case 1: test enable and disable jumbo frame
====================================================
@@ -59,13 +59,27 @@ Prerequisites
./tools/dpdk_nic_bind.py --bind=igb_uio 00:04.0 00:05.0
-5. Start testpmd, set it in rxonly mode and enable verbose output::
+5. Start testpmd, set it in rxonly mode and enable verbose output:
+
+ if test IAVF, start up VF port::
dpdk-testpmd -c 0x0f -n 4 -a 00:04.0 -a 00:05.0 -- -i --portmask=0x3
testpmd> set fwd rxonly
testpmd> set verbose 1
testpmd> start
+ if test DCF, set VF port to dcf and start up::
+
+ Enable kernel trust mode:
+
+ ip link set $PF_INTF vf 0 trust on
+
+ dpdk-testpmd -c 0x0f -n 4 -a 00:04.0,cap=dcf -a 00:05.0,cap=dcf -- -i --portmask=0x3
+
+.. note::
+
+ make dcf as full feature pmd is dpdk22.07 feature, and only support E810 series nic.
+
Test Case 1: Add port based vlan on VF
======================================