From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by dpdk.org (Postfix) with ESMTP id 89ED11B464 for ; Fri, 15 Feb 2019 07:46:46 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga101.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 14 Feb 2019 22:46:45 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.58,371,1544515200"; d="scan'208";a="147060791" Received: from unknown (HELO localhost.localdomain.sh.intel.com) ([10.240.176.135]) by fmsmga001.fm.intel.com with ESMTP; 14 Feb 2019 22:46:44 -0800 From: Peng Yuan To: dts@dpdk.org Cc: Peng Yuan Date: Fri, 15 Feb 2019 14:50:35 +0800 Message-Id: <1550213435-7089-1-git-send-email-yuan.peng@intel.com> X-Mailer: git-send-email 1.9.3 Subject: [dts] [PATCH] test_plans: Add case to veb_switch_test_plan X-BeenThere: dts@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: test suite reviews and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Feb 2019 06:46:48 -0000 Add a case to veb_switch_test_plan.rst Signed-off-by: Peng Yuan 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