[dts] [PATCH] test_plans: Add case to veb_switch_test_plan

Tu, Lijuan lijuan.tu at intel.com
Tue Feb 26 04:14:08 CET 2019


Applied, thanks

> -----Original Message-----
> From: dts [mailto:dts-bounces at dpdk.org] On Behalf Of Peng Yuan
> Sent: Friday, February 15, 2019 2:51 PM
> To: dts at dpdk.org
> Cc: Peng, Yuan <yuan.peng at intel.com>
> Subject: [dts] [PATCH] test_plans: Add case to veb_switch_test_plan
> 
> Add a case to veb_switch_test_plan.rst
> 
> Signed-off-by: Peng Yuan <yuan.peng at intel.com>
> 
> diff --git a/test_plans/veb_switch_test_plan.rst
> b/test_plans/veb_switch_test_plan.rst
> index e2520d4..e849732 100644
> --- a/test_plans/veb_switch_test_plan.rst
> +++ b/test_plans/veb_switch_test_plan.rst
> @@ -91,7 +91,7 @@ Prerequisites for VEB testing
> 
>  4. Bind the VFs to dpdk driver::
> 
> -   ./tools/dpdk-devbind.py -b igb_uio 05:02.0 05:02.1
> +   ./tools/dpdk-devbind.py -b vfio-pci 05:02.0 05:02.1
> 
>  5. Reserve huge pages memory(before using DPDK)::
> 
> @@ -100,9 +100,36 @@ Prerequisites for VEB testing
>      mkdir /mnt/huge
>      mount -t hugetlbfs nodev /mnt/huge
> 
> +Test Case: VEB Switching Inter VF-VF switch
> +===========================================
> 
> -Test Case1: VEB Switching Inter VF-VF MAC switch -
> ================================================
> +Summary: Kernel PF, then create 2VFs. VFs running dpdk testpmd, send
> +traffic from VF1 to VF2 with VF2's MAC as DEST address, check if VF2
> +can receive the packets. Check Inter VF-VF MAC switch.
> +
> +Details:
> +
> +1. In VF1, run testpmd::
> +
> +    ./x86_64-native-linuxapp-gcc/app/testpmd -c 0x3 -n 4 --socket-mem
> 1024,1024
> +    -w 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
> +    testpmd>start
> +
> +   In VF2, run testpmd::
> +
> +    ./x86_64-native-linuxapp-gcc/app/testpmd -c 0xa -n 4 --socket-mem
> 1024,1024
> +    -w 05:02.1 --file-prefix=test2 -- -i --crc-strip
> +    testpmd>set fwd rxonly
> +    testpmd>set promisc all off
> +    testpmd>start
> +
> +2. Send packets from VF1 to VF2's MAC address, check if VF2 can get all the
> packets.
> +Check the packet content is no corrupted.
> +
> +Test Case: VEB Switching Inter VF-VF switch MAC forword
> +=======================================================
> 
>  Summary: Kernel PF, then create 2VFs. VFs running dpdk testpmd, send traffic
> to VF1, and set the packet's DEST MAC to VF2, check if VF2 can receive the @@
> -112,30 +139,29 @@ Details:
> 
>  1. In VF1, run testpmd::
> 
> -      ./x86_64-native-linuxapp-gcc/app/testpmd -c 0x3 -n 4 --socket-mem
> 1024,1024
> -      -w 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
> -      testpmd>start
> +    ./x86_64-native-linuxapp-gcc/app/testpmd -c 0x3 -n 4 --socket-mem
> 1024,1024
> +    -w 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
> +    testpmd>start
> 
>     In VF2, run testpmd::
> 
> -      ./x86_64-native-linuxapp-gcc/app/testpmd -c 0xa -n 4 --socket-mem
> 1024,1024
> -      -w 05:02.1 --file-prefix=test2 -- -i --crc-strip
> -      testpmd>set fwd mac
> -      testpmd>set promisc all off
> -      testpmd>start
> -
> +    ./x86_64-native-linuxapp-gcc/app/testpmd -c 0xa -n 4 --socket-mem
> 1024,1024
> +    -w 05:02.1 --file-prefix=test2 -- -i --crc-strip
> +    testpmd>set fwd rxonly
> +    testpmd>set promisc all off
> +    testpmd>start
> 
>  2. Send 100 packets to VF1's MAC address, check if VF2 can get 100 packets.
>  Check the packet content is no corrupted.
> 
> -Test Case2: VEB Switching Inter VF-VF MAC/VLAN switch -
> =====================================================
> +Test Case: VEB Switching Inter VF-VF MAC/VLAN switch
> +====================================================
> 
> -Summary: Kernel PF, then create 2VFs, assign VF1 with VLAN=1 in, VF2 with
> +Summary: Kernel PF, then create 2VFs, assign VF1 with VLAN=1, VF2 with
>  VLAN=2. VFs are running dpdk testpmd, send traffic to VF1 with VLAN=1, -then
> let it forwards to VF2,it should not work since they are not in the
> +then let it forward to VF2, it should not work since they are not in
> +the
>  same VLAN; set VF2 with VLAN=1, then send traffic to VF1 with VLAN=1,  and
> VF2 can receive the packets. Check inter VF MAC/VLAN switch.
> 
> @@ -143,24 +169,24 @@ Details:
> 
>  1. Set the VLAN id of VF1 and VF2::
> 
> -      ip link set ens785f0 vf 0 vlan 1
> -      ip link set ens785f0 vf 1 vlan 2
> +    ip link set ens785f0 vf 0 vlan 1
> +    ip link set ens785f0 vf 1 vlan 2
> 
>  2. In VF1, run testpmd::
> 
> -      ./testpmd -c 0xf -n 4 --socket-mem 1024,1024 -w 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
> -      testpmd>start
> +    ./testpmd -c 0xf -n 4 --socket-mem 1024,1024 -w 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
> +    testpmd>start
> 
>     In VF2, run testpmd::
> 
> -      ./testpmd -c 0xf0 -n 4 --socket-mem 1024,1024 -w 0000:05:02.1
> -      --file-prefix=test2 -- -i --crc-strip
> -      testpmd>set fwd rxonly
> -      testpmd>set promisc all off
> -      testpmd>start
> +    ./testpmd -c 0xf0 -n 4 --socket-mem 1024,1024 -w 0000:05:02.1
> +    --file-prefix=test2 -- -i --crc-strip
> +    testpmd>set fwd rxonly
> +    testpmd>set promisc all off
> +    testpmd>start
> 
>  4. Send 100 packets with VF1's MAC address and VLAN=1, check if VF2 can't
>     get 100 packets since they are not in the same VLAN.
> @@ -173,66 +199,104 @@ Details:
>     100 packets since they are in the same VLAN now. Check the packet
>     content is not corrupted::
> 
> -     sendp([Ether(dst="00:11:22:33:44:11")/Dot1Q(vlan=1)/IP()
> -     /Raw('x'*40)],iface="ens785f1")
> +    sendp([Ether(dst="00:11:22:33:44:11")/Dot1Q(vlan=1)/IP()
> +    /Raw('x'*40)],iface="ens785f1")
> 
> 
> -Test Case3: VEB Switching Inter PF-VF MAC switch -
> ================================================
> +Test Case: VEB Switching Inter PF-VF MAC switch
> +===============================================
> 
> -Summary: DPDK PF, then create 1VF, PF in the host running dpdk testpmd, -send
> traffic from PF to VF1, ensure PF->VF1(let VF1 in promisc mode); -send traffic
> from VF1 to PF,ensure VF1->PF can work.
> +Summary: DPDK PF, then create 2VFs, PF in the host running dpdk
> +testpmd, VFs running dpdk testpmd, VF1 send traffic to VF2, check if
> +VF2 can receive the packets. send tracfic from PF to VF1, ensure
> +PF->VF1; send traffic from VF1 to PF, ensure VF1->PF can work.
> 
>  Details:
> 
>  1. vf->pf
> -   In host, launch testpmd::
> +   PF, launch testpmd::
> +
> +    ./testpmd -c 0xf -n 4 --socket-mem 1024,1024 -w 0000:05:00.0 --file-
> prefix=test1 -- -i
> +    testpmd>set fwd rxonly
> +    testpmd>set promisc all off
> +    testpmd>start
> 
> -      ./testpmd -c 0x3 -n 4 -- -i
> -      testpmd>set fwd rxonly
> -      testpmd>set promisc all off
> -      testpmd>start
> +   VF1, run testpmd::
> 
> -   In VM1, run testpmd::
> +    ./testpmd -c 0xf0 -n 4 --socket-mem 1024,1024 -w 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
> 
> -      ./testpmd -c 0x3 -n 4 -- -i --eth-peer=0,pf_mac_addr
> -      testpmd>set fwd txonly
> -      testpmd>set promisc all off
> -      testpmd>start
> +   Check if PF can get the packets, so VF1->PF is working.
> +   Check the packet content is not corrupted.
> 
>  2. pf->vf
> -   In host, launch testpmd::
> +   PF, launch testpmd::
> +
> +    ./testpmd -c 0xf -n 4 --socket-mem 1024,1024 -w 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
> 
> -      ./testpmd -c 0x3 -n 4 -- -i --eth-peer=0,vf1_mac_addr
> -      testpmd>set fwd txonly
> -      testpmd>set promisc all off
> -      testpmd>start
> +   VF1, run testpmd::
> 
> -   In VM1, run testpmd::
> +    ./testpmd -c 0xf0 -n 4 --socket-mem 1024,1024 -w 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
> +    testpmd>start
> 
> -      ./testpmd -c 0x3 -n 4 -- -i
> -      testpmd>mac_addr add 0 vf1_mac_addr
> -      testpmd>set fwd rxonly
> -      testpmd>set promisc all off
> -      testpmd>start
> +   Check if VF1 can get the packets, so PF->VF1 is working.
> +   Check the packet content is not corrupted.
> 
>  3. tester->vf
> +   PF, launch testpmd::
> 
> -4. Send 100 packets with PF's MAC address from VF, check if PF can get 100
> -   packets, so VF1->PF is working. Check the packet content is not corrupted.
> +    ./testpmd -c 0xf -n 4 --socket-mem 1024,1024 -w 0000:05:00.0 --file-
> prefix=test1 -- -i
> +    testpmd>set fwd mac
> +    testpmd>set promisc all off
> +    testpmd>start
> 
> -5. Send 100 packets with VF's MAC address from PF, check if VF1 can get 100
> -   packets, so PF->VF1 is working. Check the packet content is not corrupted.
> +   VF1, run testpmd::
> 
> -6. Send 100 packets with VF's MAC address from tester, check if VF1 can get
> +    ./testpmd -c 0xf0 -n 4 --socket-mem 1024,1024 -w 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
> +    testpmd>start
> +
> +   Send 100 packets with VF's MAC address from tester, check if VF1 can
> + get
>     100 packets, so tester->VF1 is working. Check the packet content is not
>     corrupted.
> 
> +4. vf1->vf2
> +   PF, launch testpmd::
> +
> +    ./testpmd -c 0xf -n 4 --socket-mem 1024,1024 -w 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 -w 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 -w 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
> +    testpmd>start
> +
> +   Check if VF2 can get the packets, so VF1->VF2 is working.
> +   Check the packet content is not corrupted.
> 
> -Test Case4: VEB Switching Inter-VM PF-VF/VF-VF MAC switch Performance -
> =================================================================
> ====
> +Test Case: VEB Switching Inter-VM PF-VF/VF-VF MAC switch Performance
> +================================================================
> ====
> 
> -Performance testing, repeat Testcase1 (VF-VF) and Testcase3 (PF-VF) to check
> +Performance testing, repeat Testcase1 (VF-VF) and Testcase4 (PF-VF) to
> +check
>  the performance at different sizes(64B--1518B and jumbo frame--3000B)  with
> 100% rate sending traffic
> --
> 2.5.0



More information about the dts mailing list