From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by dpdk.org (Postfix) with ESMTP id 5556C235 for ; Tue, 26 Feb 2019 04:25:11 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga106.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 25 Feb 2019 19:25:10 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.58,413,1544515200"; d="scan'208";a="120796352" Received: from fmsmsx108.amr.corp.intel.com ([10.18.124.206]) by orsmga008.jf.intel.com with ESMTP; 25 Feb 2019 19:25:09 -0800 Received: from fmsmsx124.amr.corp.intel.com (10.18.125.39) by FMSMSX108.amr.corp.intel.com (10.18.124.206) with Microsoft SMTP Server (TLS) id 14.3.408.0; Mon, 25 Feb 2019 19:25:09 -0800 Received: from shsmsx105.ccr.corp.intel.com (10.239.4.158) by fmsmsx124.amr.corp.intel.com (10.18.125.39) with Microsoft SMTP Server (TLS) id 14.3.408.0; Mon, 25 Feb 2019 19:25:09 -0800 Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.110]) by SHSMSX105.ccr.corp.intel.com ([169.254.11.253]) with mapi id 14.03.0415.000; Tue, 26 Feb 2019 11:25:07 +0800 From: "Tu, Lijuan" To: "Peng, Yuan" , "dts@dpdk.org" CC: "Peng, Yuan" Thread-Topic: [dts] [PATCH]test_plans: sync case to TestSuite_floating_veb.py Thread-Index: AQHUxRF/kJpX6/unokmQ48ynsKqflqXxe5RQ Date: Tue, 26 Feb 2019 03:25:06 +0000 Message-ID: <8CE3E05A3F976642AAB0F4675D0AD20E0BA272AC@SHSMSX101.ccr.corp.intel.com> References: <1550223395-8087-1-git-send-email-yuan.peng@intel.com> In-Reply-To: <1550223395-8087-1-git-send-email-yuan.peng@intel.com> Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.0.400.15 dlp-reaction: no-action x-ctpclassification: CTP_NT x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiNjhiODUwNGMtZTBkMS00YzVkLWEwODktZjQ0Nzc5YTE2ZDY5IiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiOWRGYyttV01aNEZjWjl0U1BlZXBKV3RqZkhwNmFwaytaenF4UlNXaEtJWExieWZFblhvRnA5Vk5SWE9HMGNzTSJ9 x-originating-ip: [10.239.127.40] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Subject: Re: [dts] [PATCH]test_plans: sync case to TestSuite_floating_veb.py 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: Tue, 26 Feb 2019 03:25:12 -0000 Applied, thanks > -----Original Message----- > From: dts [mailto:dts-bounces@dpdk.org] On Behalf Of Peng Yuan > Sent: Friday, February 15, 2019 5:37 PM > To: dts@dpdk.org > Cc: Peng, Yuan > Subject: [dts] [PATCH]test_plans: sync case to TestSuite_floating_veb.py >=20 > Sync case to TestSuite_floating_veb.py >=20 > Signed-off-by: Peng Yuan >=20 > diff --git a/test_plans/floating_veb_test_plan.rst > b/test_plans/floating_veb_test_plan.rst > index 012589b..17b8231 100644 > --- a/test_plans/floating_veb_test_plan.rst > +++ b/test_plans/floating_veb_test_plan.rst > @@ -78,44 +78,43 @@ Prerequisites for VEB testing >=20 > 1. Get the pci device id of DUT, for example:: >=20 > - ./dpdk-devbind.py --st > - 0000:05:00.0 'Ethernet Controller X710 for 10GbE SFP+' if=3Dens78= 5f0 > drv=3Di40e > - unused=3D > + ./dpdk-devbind.py --st > + 0000:05:00.0 'Ethernet Controller X710 for 10GbE SFP+' if=3Dens785= f0 > drv=3Di40e > + unused=3D >=20 > 2. Host PF in kernel driver. Create 2 VFs from 1 PF with kernel driver, = and > set the VF MAC address at PF:: >=20 > - echo 2 > /sys/bus/pci/devices/0000\:05\:00.0/sriov_numvfs > - ./dpdk-devbind.py --st > + echo 2 > /sys/bus/pci/devices/0000\:05\:00.0/sriov_numvfs > + ./dpdk-devbind.py --st >=20 > - 0000:05:02.0 'XL710/X710 Virtual Function' unused=3D > - 0000:05:02.1 'XL710/X710 Virtual Function' unused=3D > + 0000:05:02.0 'XL710/X710 Virtual Function' unused=3D > + 0000:05:02.1 'XL710/X710 Virtual Function' unused=3D >=20 > - ip link set ens785f0 vf 0 mac 00:11:22:33:44:11 > - ip link set ens785f0 vf 1 mac 00:11:22:33:44:12 > + ip link set ens785f0 vf 0 mac 00:11:22:33:44:11 > + ip link set ens785f0 vf 1 mac 00:11:22:33:44:12 >=20 > 3. Host PF in DPDK driver. Create 2VFs from 1 PF with dpdk driver:: >=20 > - ./dpdk-devbind.py -b igb_uio 05:00.0 > - echo 2 >/sys/bus/pci/devices/0000:05:00.0/max_vfs > - ./dpdk-devbind.py --st > - 0000:05:02.0 'XL710/X710 Virtual Function' unused=3Di40evf,igb_ui= o > - 0000:05:02.1 'XL710/X710 Virtual Function' unused=3Di40evf,igb_ui= o > + ./dpdk-devbind.py -b igb_uio 05:00.0 > + echo 2 >/sys/bus/pci/devices/0000:05:00.0/max_vfs > + ./dpdk-devbind.py --st > + 0000:05:02.0 'XL710/X710 Virtual Function' unused=3Di40evf,igb_uio > + 0000:05:02.1 'XL710/X710 Virtual Function' unused=3Di40evf,igb_uio >=20 > 4. Bind the VFs to dpdk driver:: >=20 > - ./tools/dpdk-devbind.py -b igb_uio 05:02.0 05:02.1 > + ./tools/dpdk-devbind.py -b igb_uio 05:02.0 05:02.1 >=20 > 5. Reserve huge pages memory(before using DPDK):: >=20 > - echo 4096 > /sys/devices/system/node/node0/hugepages/hugepages- > 2048kB > - /nr_hugepages > - mkdir /mnt/huge > - mount -t hugetlbfs nodev /mnt/huge > + echo 4096 > /sys/devices/system/node/node0/hugepages/hugepages- > 2048kB > + /nr_hugepages > + mkdir /mnt/huge > + mount -t hugetlbfs nodev /mnt/huge >=20 > - > -Test Case1: Floating VEB inter VF-VF > -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > +Test Case: Floating VEB inter VF-VF > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >=20 > Summary: 1 DPDK PF, then create 2VF, PF in the host running dpdk testpmd= , and > VF0 are running dpdk testpmd, VF0 send traffic, and set the packet's @@ - > 126,92 +125,86 @@ MAC switch when PF is link down as well as up. >=20 > ./testpmd -c 0xf -n 4 --socket-mem 1024,1024 > -w 05:00.0,enable_floating_veb=3D1 --file-prefix=3Dtest1 -- -i > - > -2. In the host, run testpmd with floating parameters and make the link d= own:: > - > - ./testpmd -c 0xf -n 4 --socket-mem 1024,1024 > - -w 05:00.0,enable_floating_veb=3D1 --file-prefix=3Dtest1 -- -i > testpmd> port start all > testpmd> show port info all >=20 > -3. In VM1, run testpmd:: > +2. VF1, run testpmd:: >=20 > ./testpmd -c 0xf0 -n 4 --socket-mem 1024,1024 > -w 05:02.0 --file-prefix=3Dtest2 -- -i --crc-strip > - testpmd>mac_addr add 0 vf1_mac_address > - testpmd>set fwd rxonly > - testpmd>start > - testpmd>show port stats all > + testpmd> mac_addr add 0 vf1_mac_address > + testpmd> set fwd rxonly > + testpmd> set promisc all off > + testpmd> start > + testpmd> show port stats all >=20 > - In VM2, run testpmd:: > + VF2, run testpmd:: >=20 > ./testpmd -c 0xf00 -n 4 --socket-mem 1024,1024 -w 05:02.1 --file- > prefix=3Dtest3 > -- -i --crc-strip --eth-peer=3D0,vf1_mac_address > - testpmd>set fwd txonly > - testpmd>start > - testpmd>show port stats all > + testpmd> set fwd txonly > + testpmd> start > + testpmd> show port stats all >=20 > -4. Check if VF1 can get all the packets. Check the packet content is no > +3. Check if VF1 can get all the packets. Check the packet content is no > corrupted. RX-packets=3DTX-packets, but there is a little RX-error. > - RF receive no packets. > + PF receive no packets. >=20 > -5. Set "testpmd> port stop all" and "testpmd> start" in step2, > - then run the step3-4 again. same result. > +4. Set "testpmd> port stop all" and "testpmd> start" in step2, > + then run the step2-3 again. Get same result. >=20 > +Test Case: Floating VEB PF can't get traffic from VF > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D >=20 > -Test Case2: Floating VEB PF can't get traffic from VF - > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D > -DPDK PF, then create 1VF, PF in the host running dpdk testpmd, > +Summary: DPDK PF, then create 1VF, PF in the host running dpdk testpmd, > send traffic from PF to VF0, VF0 can't receive any packets; send traffi= c from > VF0 to PF, PF can't receive any packets either. >=20 > +1. In PF, launch testpmd:: >=20 > -1. In host, launch testpmd:: > - > - ./testpmd -c 0x3 -n 4 -w 82:00.0,enable_floating_veb=3D1 -- -i > + ./testpmd -c 0xf -n 4 --socket-mem 1024,1024 -w > + 05:00.0,enable_floating_veb=3D1 --file-prefix=3Dtest1 -- -i > testpmd> set fwd rxonly > + testpmd> set promisc all off > testpmd> port start all > testpmd> start > testpmd> show port stats all >=20 > -3. In VM1, run testpmd:: > +2. VF1, run testpmd:: >=20 > - ./testpmd -c 0x3 -n 4 -- -i --eth-peer=3D0,pf_mac_addr > - testpmd>set fwd txonly > - testpmd>start > - testpmd>show port stats all > + ./testpmd -c 0xf0 -n 4 --socket-mem 1024,1024 -w 05:02.0 --file- > prefix=3Dtest2 -- -i --eth-peer=3D0,pf_mac_addr > + testpmd> set fwd txonly > + testpmd> start > + testpmd> show port stats all >=20 > -4. Check if PF can not get any packets, so VF1->PF is not working. > +3. Check if PF can not get any packets, so VF1->PF is not working. >=20 > -5. Set "testpmd> port stop all" in step2, then run the test case again. > +4. Set "testpmd> port stop all" in step2, then run the test case again. > Same result. >=20 > +5. in the opposite direction, PF->VF1 is not working either. >=20 > - > -Test Case3 Floating VEB VF can't receive traffic from outside world > +Test Case: Floating VEB VF can't receive traffic from outside world >=20 > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > =3D=3D >=20 > -DPDK PF, then create 1VF, send traffic from tester to VF1, > +Summary: DPDK PF, then create 1VF, send traffic from tester to VF1, > in floating mode, check VF1 can't receive traffic from tester. >=20 > 1. Start VM1 with VF1, see the prerequisite part. >=20 > -2. In host, launch testpmd:: > +2. PF, launch testpmd:: >=20 > - ./testpmd -c 0x3 -n 4 -w 82:00.0,enable_floating_veb=3D1 -- -i > + ./testpmd -c 0xf -n 4 --socket-mem 1024,1024 -w > + 05:00.0,enable_floating_veb=3D1 --file-prefix=3Dtest1 -- -i > + --eth-peer=3D0,VF_mac_address > testpmd> set fwd mac > testpmd> port start all > testpmd> start > testpmd> show port stats all >=20 > + VF1, run testpmd:: >=20 > - In VM1, run testpmd:: > - > - ./testpmd -c 0x3 -n 4 -- -i > - testpmd>show port info all //get VF_mac_address > - testpmd>set fwd rxonly > - testpmd>start > - testpmd>show port stats all > + ./testpmd -c 0xf0 -n 4 --socket-mem 1024,1024 -w 05:02.0 --file- > prefix=3Dtest2 -- -i > + testpmd> set fwd rxonly > + testpmd> start > + testpmd> show port stats all >=20 > In tester, run scapy:: >=20 > @@ -219,115 +212,98 @@ in floating mode, check VF1 can't receive traffic > from tester. > sendp(packet,iface=3D"enp132s0f0") >=20 > 3. Check if VF1 can not get any packets, so tester->VF1 is not working. > -4. Set "testpmd> port stop all" in step2 in Host, then run the test case > - again. same result.PF can't receive any packets. >=20 > +4. Set "testpmd> port stop all" in step2 in Host, then run the test case > + again. Get same result. PF can't receive any packets. >=20 > -Test Case4: Floating VEB VF can not communicate with legacy VEB VF - > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > =3D > +Test Case: Floating VEB VF can not communicate with legacy VEB VF > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > =3D >=20 > -Summary: DPDK PF, then create 4VFs and 4VMs, VF1,VF3,VF4, floating VEB; = - > VF2, legacy VEB. Make PF link down(the cable can be plugged out), > +Summary: DPDK PF, then create 4VFs and 4VMs, VF0,VF2,VF3, floating VEB; > +VF1, legacy VEB. Make PF link down(the cable can be plugged out), > VFs in VMs are running dpdk testpmd. >=20 > -1. VF1 send traffic, and set the packet's DEST MAC to VF2, > - check VF2 can not receive the packets. > -2. VF1 send traffic, and set the packet's DEST MAC to VF3, > - check VF3 can receive the packets. > -3. VF4 send traffic, and set the packet's DEST MAC to VF3, > - check VF3 can receive the packets. > -4. VF2 send traffic, and set the packet's DEST MAC to VF1, > +1. VF0 send traffic, and set the packet's DEST MAC to VF1, > check VF1 can not receive the packets. > +2. VF0 send traffic, and set the packet's DEST MAC to VF2, > + check VF2 can receive the packets. > +3. VF3 send traffic, and set the packet's DEST MAC to VF2, > + check VF2 can receive the packets. > +4. VF1 send traffic, and set the packet's DEST MAC to VF0, > + check VF0 can not receive the packets. >=20 > -Check Inter-VM VF-VF MAC switch when PF is link down as well as up. > - > -Launch PF testpmd:: > - > - ./testpmd -c 0x3 -n 4 > - -w "82:00.0,enable_floating_veb=3D1,floating_veb_list=3D0;2-3" -- -i > +Details: >=20 > -1. Start VM1 with VF1, VM2 with VF2, VM3 with VF3, > - VM4 with VF4,see the prerequisite part. > +1. Launch PF testpmd, run testpmd with floating parameters and make the = link > down:: >=20 > -2. In the host, run testpmd with floating parameters and make the link d= own:: > - > - ./testpmd -c 0x3 -n 4 > - -w "82:00.0,enable_floating_veb=3D1,floating_veb_list=3D0;2-3" --= -i > - //VF1 and VF3 in floating VEB, VF2 in legacy VEB > + ./testpmd -c 0xf -n 4 --socket-mem 1024,1024 \ > + \"-w "05:00.0,enable_floating_veb=3D1,floating_veb_list=3D0;2-3\" = \ > + --file-prefix=3Dtest1 -- -i > + //VF0, VF2 and VF3in floating VEB, VF1 in legacy VEB >=20 > testpmd> port stop all > //this step should be executed after vf running testpmd. >=20 > testpmd> show port info all >=20 > -3. VF1 send traffic, and set the packet's DEST MAC to VF2, > - check VF2 can not receive the packets. > - > - In VM2, run testpmd:: > - > - ./testpmd -c 0x3 -n 4 -- -i > - testpmd>set fwd rxonly > - testpmd>mac_addr add 0 vf2_mac_address //set the vf2_mac_addr= ess > - testpmd>start > - testpmd>show port stats all > - > - In VM1, run testpmd:: > - > - ./testpmd -c 0x3 -n 4 -- -i --eth-peer=3D0,vf2_mac_address > - testpmd>set fwd txonly > - testpmd>start > - testpmd>show port stats all > - > - Check VF2 can not get any packets, so VF1->VF2 is not working. > +2. VF0 send traffic, and set the packet's DEST MAC to VF1, > + check VF1 can not receive the packets. >=20 > -4. VF1 send traffic, and set the packet's DEST MAC to VF3, > - check VF3 can receive the packets. > + VF0, run testpmd:: >=20 > - In VM3, run testpmd:: > + ./testpmd -c 0xf0 -n 4 --socket-mem 1024,1024 -w 05:02.0 \ > + --file-prefix=3Dtest2 -- -i --eth-peer=3D0,vf1_mac_address > + testpmd> set fwd rxonly > + testpmd> mac_addr add 0 vf0_mac_address //set the vf0_mac_addr= ess > + testpmd> start > + testpmd> show port stats all >=20 > - ./testpmd -c 0x3 -n 4 -- -i > - testpmd>set fwd rxonly > - testpmd>show port info all //get the vf3_mac_address > - testpmd>start > - testpmd>show port stats all > + VF1, run testpmd:: >=20 > - In VM1, run testpmd:: > + ./testpmd -c 0xf00 -n 4 --socket-mem 1024,1024 -w 05:02.1 \ > + --file-prefix=3Dtest3 -- -i --eth-peer=3D0,vf1_mac_address > + testpmd> set fwd txonly > + testpmd> mac_addr add 0 vf1_mac_addres > + testpmd> start > + testpmd> show port stats all >=20 > - ./testpmd -c 0x3 -n 4 -- -i --eth-peer=3D0,vf3_mac_address > - testpmd>set fwd txonly > - testpmd>start > - testpmd>show port stats all > + Check VF1 can not get any packets, so VF0->VF1 is not working. > + In the opposite direction, VF1->VF0 is not working either. >=20 > - Check VF3 can get all the packets. Check the packet content is no > - corrupted. so VF1->VF2 is working. > +3. VF0 send traffic, and set the packet's DEST MAC to VF2, > + check VF2 can receive the packets. >=20 > -5. VF2 send traffic, and set the packet's DEST MAC to VF1, > - check VF1 can not receive the packets. > + VF2, run testpmd:: >=20 > - In VM1, run testpmd:: > + ./testpmd -c 0xf0 -n 4 --socket-mem 1024,1024 -w 05:02.2 \ > + --file-prefix=3Dtest2 -- -i > + testpmd> set fwd rxonly > + testpmd> mac_addr add 0 vf2_mac_addres > + testpmd> start > + testpmd> show port stats all >=20 > - ./testpmd -c 0x3 -n 4 -- -i > - testpmd>set fwd rxonly > - testpmd>show port info all //get the vf1_mac_address > - testpmd>start > - testpmd>show port stats all > + VF0, run testpmd:: >=20 > - In VM2, run testpmd:: > + ./testpmd -c 0xf00 -n 4 --socket-mem 1024,1024 -w 05:02.0 \ > + --file-prefix=3Dtest3 -- -i --eth-peer=3D0,vf2_mac_address > + testpmd> set fwd txonly > + testpmd> start > + testpmd> show port stats all >=20 > - ./testpmd -c 0x3 -n 4 -- -i --eth-peer=3D0,vf1_mac_address > - testpmd>set fwd txonly > - testpmd>start > - testpmd>show port stats all > + Check VF2 can get all the packets. Check the packet content is no > + corrupted. so VF0->VF2 is working. >=20 > - Check VF1 can not get any packets, so VF2->VF1 is not working. > +4. VF2 send traffic, and set the packet's DEST MAC to VF3, > + check VF3 can receive the packets. >=20 > -6. Set "testpmd> port start all" and "testpmd> start" in step2, > - then run the step3-5 again. same result. > +5. Set "testpmd> port start all" and "testpmd> start" in step1, > + then run the step2-4 again. same result. >=20 > +Test Case: PF interaction with Floating VF and legacy VF > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D >=20 > -Test Case5: PF interaction with Floating VF and legacy VF - > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D > -DPDK PF, then create 2VFs, VF0 is in floating VEB, VF1 is in legacy VEB. > +Summary: DPDK PF, then create 4VFs, VF0 and VF3 is in floating VEB, > +VF1 and VF2 is in legacy VEB. >=20 > 1. Send traffic from VF0 to PF, then check PF will not see any traffic; = 2. Send > traffic from VF1 to PF, then check PF will receive all the packets. > @@ -335,77 +311,87 @@ DPDK PF, then create 2VFs, VF0 is in floating VEB, = VF1 > is in legacy VEB. > tester. > 4. send traffic from tester to VF1, check VF1 can receive all the traffi= c > from tester. > +5. send traffic from VF1 to VF2, check VF2 can receive all the traffic > + from VF1. >=20 > -5. In host, launch testpmd:: > +Details: >=20 > - ./testpmd -c 0x3 -n 4 > - -w 82:00.0,enable_floating_veb=3D1,floating_veb_list=3D0 -- -i > +1. In PF, launch testpmd:: > + > + ./testpmd -c 0xf -n 4 --socket-mem 1024,1024 \ > + \"-w 05:00.0,enable_floating_veb=3D1,floating_veb_list=3D0;3\" \ > + --file-prefix=3Dtest1 -- -i > testpmd> set fwd rxonly > testpmd> port start all > testpmd> start > testpmd> show port stats all >=20 > -6. In VF1, run testpmd:: > - > - ./testpmd -c 0x3 -n 4 -- -i --eth-peer=3D0,pf_mac_addr > - testpmd>set fwd txonly > - testpmd>start > - testpmd>show port stats all > +2. VF0, run testpmd:: >=20 > - Check PF can not get any packets, so VF1->PF is not working. > + ./testpmd -c 0xf0 -n 4 --socket-mem 1024,1024 -w 05:02.0 \ > + --file-prefix=3Dtest2 -- -i --eth-peer=3D0,pf_mac_addr > + testpmd> set fwd txonly > + testpmd> start >=20 > -7. In VF2, run testpmd:: > + Check PF can not get any packets, so VF0->PF is not working. >=20 > - ./testpmd -c 0x3 -n 4 -- -i --eth-peer=3D0,pf_mac_addr > - testpmd>set fwd txonly > - testpmd>start > - testpmd>show port stats all > +3. VF1, run testpmd:: >=20 > - Check PF can get all the packets, so VF2->PF is working. > + ./testpmd -c 0xf0 -n 4 --socket-mem 1024,1024 -w 05:02.1 \ > + --file-prefix=3Dtest2 -- -i --eth-peer=3D0,pf_mac_addr > + testpmd> set fwd txonly > + testpmd> start >=20 > -8. Set "testpmd> port stop all" in step2 in Host, > - then run the test case again. same result. > + Check PF can get all the packets, so VF1->PF is working. >=20 > -9. In host, launch testpmd:: > +4. VF0, run testpmd:: >=20 > - ./testpmd -c 0x3 -n 4 > - -w 82:00.0,enable_floating_veb=3D1,floating_veb_list=3D0 -- -i > - testpmd> set fwd mac > - testpmd> port start all > + ./testpmd -c 0xf0 -n 4 --socket-mem 1024,1024 -w 05:02.0 --file- > prefix=3Dtest2 -- -i > + testpmd> mac_addr add 0 VF0_mac_address > + testpmd> set promisc all off > + testpmd> set fwd rxonly > testpmd> start > - testpmd> show port stats all >=20 > + In tester, run scapy:: > + > + packet=3DEther(dst=3D"VF0_mac_address")/IP()/UDP()/Raw('x'*20) > + sendp(packet,iface=3D"enp132s0f0") >=20 > -10. In VF1, run testpmd:: > + Check VF0 can get all the packets, so tester->VF0 is working. >=20 > - ./testpmd -c 0x3 -n 4 -- -i > - testpmd>show port info all //get VF1_mac_address > - testpmd>set fwd rxonly > - testpmd>start > - testpmd>show port stats all > +5. VF1, run testpmd:: > + > + ./testpmd -c 0xf0 -n 4 --socket-mem 1024,1024 -w 05:02.1 --file- > prefix=3Dtest2 -- -i > + testpmd> mac_addr add 0 VF1_mac_address > + testpmd> set promisc all off > + testpmd> set fwd rxonly > + testpmd> start >=20 > In tester, run scapy:: >=20 > packet=3DEther(dst=3D"VF1_mac_address")/IP()/UDP()/Raw('x'*20) > sendp(packet,iface=3D"enp132s0f0") >=20 > - Check VF1 can not get any packets, so tester->VF1 is not working. > + Check VF1 can get all the packets, so tester->VF1 is working. >=20 > -11. In VF2, run testpmd:: > +6. VF1, run testpmd:: >=20 > - ./testpmd -c 0x3 -n 4 -- -i > - testpmd>show port info all //get VF2_mac_address > - testpmd>set fwd rxonly > - testpmd>start > - testpmd>show port stats all > + ./testpmd -c 0xf0 -n 4 --socket-mem 1024,1024 -w 05:02.1 --file- > prefix=3Dtest2 -- -i > + testpmd> mac_addr add 0 VF1_mac_address > + testpmd> set promisc all off > + testpmd> set fwd rxonly > + testpmd> start >=20 > - In tester, run scapy:: > + VF2, run testpmd:: >=20 > - packet=3DEther(dst=3D"VF2_mac_address")/IP()/UDP()/Raw('x'*20) > - sendp(packet,iface=3D"enp132s0f0") > + ./testpmd -c 0xf00 -n 4 --socket-mem 1024,1024 -w 05:02.2 \ > + --file-prefix=3Dtest3 -- -i --eth-peer=3D0,VF1_mac_address > + testpmd> set fwd txonly > + testpmd> start >=20 > - Check VF1 can get all the packets, so tester->VF2 is working. > + Check VF1 can get all the packets, so VF2->VF1 is working. > + PF link down, VF2->VF1 can work too. >=20 > -12. Set "testpmd> port stop all" in step2 in Host, then run the test cas= e > - again. VF1 and VF2 cannot receive any packets. (because PF link dow= n, and > - PF can't receive any packets. so even if VF2 can't receive any packe= ts.) > +7. Set "testpmd> port stop all" in step1 in PF, then run the test case > + again. VF1 and VF2 cannot receive any packets. (because PF link down= , and > + PF can't receive any packets. so even if VF2 can't receive any > +packets.) > -- > 2.5.0