From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by dpdk.org (Postfix) with ESMTP id 212132BF9 for ; Mon, 25 Jun 2018 11:14:53 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga102.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 25 Jun 2018 02:14:52 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.51,269,1526367600"; d="scan'208";a="235347315" Received: from fmsmsx106.amr.corp.intel.com ([10.18.124.204]) by orsmga005.jf.intel.com with ESMTP; 25 Jun 2018 02:14:51 -0700 Received: from shsmsx152.ccr.corp.intel.com (10.239.6.52) by FMSMSX106.amr.corp.intel.com (10.18.124.204) with Microsoft SMTP Server (TLS) id 14.3.319.2; Mon, 25 Jun 2018 02:14:51 -0700 Received: from shsmsx103.ccr.corp.intel.com ([169.254.4.51]) by SHSMSX152.ccr.corp.intel.com ([169.254.6.70]) with mapi id 14.03.0319.002; Mon, 25 Jun 2018 17:14:49 +0800 From: "Liu, Yong" To: "Wang, FeiX Y" , "dts@dpdk.org" CC: "Wang, FeiX Y" Thread-Topic: [dts] [DTS]Patch v1 2/2: test plan for avf Thread-Index: AQHUDFnjmyOES8z4ZUakZbQFlOMo/aRwq1/w Date: Mon, 25 Jun 2018 09:14:48 +0000 Message-ID: <86228AFD5BCD8E4EBFD2B90117B5E81E630C995F@SHSMSX103.ccr.corp.intel.com> References: <1529891217-71380-1-git-send-email-feix.y.wang@intel.com> In-Reply-To: <1529891217-71380-1-git-send-email-feix.y.wang@intel.com> Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiYTE3Mzc1ZmUtZWIxNi00ZGE3LTg5MjktMzMwNTVjODdkZGM1IiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiSGdlWGFod0FTWVdZZW82amJCMlBJd3pGUFFPK2VvUVJDYUNVeERLNkZLa0Y1QlJFRUd3dmlkXC9sVEx4azNra0sifQ== x-ctpclassification: CTP_NT dlp-product: dlpe-windows dlp-version: 11.0.200.100 dlp-reaction: no-action 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] [DTS]Patch v1 2/2: test plan for avf 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: Mon, 25 Jun 2018 09:14:54 -0000 Hi Fei, Overall you need add more information in your test plan. You need to descri= be what is testing and which is need to check in the test plan. And overall format need align to our rule. Please reference to other plans = like vlan_ethertype_config_test_plan. Thanks, Marvin > -----Original Message----- > From: dts [mailto:dts-bounces@dpdk.org] On Behalf Of Wang Fei > Sent: Monday, June 25, 2018 9:47 AM > To: dts@dpdk.org > Cc: Wang, FeiX Y > Subject: [dts] [DTS]Patch v1 2/2: test plan for avf >=20 > Signed-off-by: Wang Fei > --- > test_plans/avf_test_plan.rst | 518 > +++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 518 insertions(+) > create mode 100644 test_plans/avf_test_plan.rst >=20 > diff --git a/test_plans/avf_test_plan.rst b/test_plans/avf_test_plan.rst > new file mode 100644 > index 0000000..781f97d > --- /dev/null > +++ b/test_plans/avf_test_plan.rst > @@ -0,0 +1,518 @@ > +# BSD LICENSE > +# > +# Copyright(c) 2010-2015 Intel Corporation. All rights reserved. > +# All rights reserved. > +# > +# Redistribution and use in source and binary forms, with or without > +# modification, are permitted provided that the following conditions > +# are met: > +# > +# * Redistributions of source code must retain the above copyright > +# notice, this list of conditions and the following disclaimer. > +# * Redistributions in binary form must reproduce the above copyright > +# notice, this list of conditions and the following disclaimer in > +# the documentation and/or other materials provided with the > +# distribution. > +# * Neither the name of Intel Corporation nor the names of its > +# contributors may be used to endorse or promote products derived > +# from this software without specific prior written permission. > +# > +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS > +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT > +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR > +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT > +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, > +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT > +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, > +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY > +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT > +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE > +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. > + > + > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > +AVF test plan: > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > + > +Description > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > + > +Prerequisites > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > + > +Hardwares: > +---------- > +i40e (Fortville XXV710) Not sure "i40e" meaning here, you can just describe like "Fortville family = Ethernet card." > + > +1. apply below patch to dpdk source code > + > +diff --git a/drivers/net/avf/base/avf_devids.h > b/drivers/net/avf/base/avf_devids.h > +index 7d9fed2..3eff68c 100644 > +--- a/drivers/net/avf/base/avf_devids.h > ++++ b/drivers/net/avf/base/avf_devids.h > +@@ -38,6 +38,6 @@ POSSIBILITY OF SUCH DAMAGE. > + #define AVF_INTEL_VENDOR_ID 0x8086 > + > + /* Device IDs */ > +-#define AVF_DEV_ID_ADAPTIVE_VF 0x1889 > ++#define AVF_DEV_ID_ADAPTIVE_VF 0x154c > + > + #endif /* _AVF_DEVIDS_H_ */ > +diff --git a/drivers/net/i40e/base/i40e_devids.h > b/drivers/net/i40e/base/i40e_devids.h > +index 66ff1cc..a473c89 100644 > +--- a/drivers/net/i40e/base/i40e_devids.h > ++++ b/drivers/net/i40e/base/i40e_devids.h > +@@ -52,7 +52,7 @@ POSSIBILITY OF SUCH DAMAGE. > + #define I40E_DEV_ID_25G_B 0x158A > + #define I40E_DEV_ID_25G_SFP28 0x158B > + #if defined(INTEGRATED_VF) || defined(VF_DRIVER) || > defined(I40E_NDIS_SUPPORT) > +-#define I40E_DEV_ID_VF 0x154C > ++#define I40E_DEV_ID_VF 0x164C > + #define I40E_DEV_ID_VF_HV 0x1571 > + #define I40E_DEV_ID_ADAPTIVE_VF 0x1889 > + #endif /* VF_DRIVER */ > + Do not need to attach patch here, you can save it in dep folder.=20 Just mention that which patch is needed is enough.=20 > +2, > +make install RTE_SDK=3D`pwd` T=3Dx86_64-native-linuxapp-gcc -j32 > +modprobe uio; > +insmod x86_64-native-linuxapp-gcc/kmod/igb_uio.ko; > + You can simply these descriptions like "bind PF device to igb_uio.ko". Not need to emphasize things that everyone known about.=20 > +./usertools/dpdk-devbind.py --bind=3Digb_uio 05:00.0 07:00.0; > +echo 1 > /sys/bus/pci/devices/0000\:05\:00.0/max_vfs; > +echo 1 > /sys/bus/pci/devices/0000\:07\:00.0/max_vfs; > + > +./usertools/dpdk-devbind.py --bind=3Dvfio-pci 05:02.0 07:02.0 > +or > +(./usertools/dpdk-devbind.py --bind=3Digb_uio 05:02.0 07:02.0) > + > +./x86_64-native-linuxapp-gcc/app/testpmd -l 1-5 -n 4 --socket- > mem=3D1024,1024 --file-prefix=3Dpf -w 05:00.0 -w 07:00.0 -- -i > + Add some description for those commands like "Set VF0 and VF1 mac addresses= ". > +set vf mac addr 0 0 00:12:34:56:78:01 > +set vf mac addr 1 0 00:12:34:56:78:02 > + Add some description for those commands. > +./x86_64-native-linuxapp-gcc/app/testpmd -l 6-10 -n 4 --master-lcore=3D6= - > -socket-mem=3D1024,1024 --file-prefix=3Dvf \ > +-w 05:02.0 -w 07:02.0 -- -i --txq=3D4 --rxq=3D4 --nb-cores=3D4 > + > + > +Detail test plan about each features : > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > + Please separated into different test case. Each test case name should have = "=3D" underlined.=20 > +1. VF basic RX/TX > +----------------- > + > +send 2000 random packets from traffic generator, verify the packets can > be received > +by one VF and can be forward to another VF correctly. > + > +2. VF mac filter > +---------------- This case should be test case two, named it as "Test case: AVF VF MAC Filte= r". > + > +1) unicast test > + > +testpmd> > +set promisc all off > +set allmulti all off > + > +mac_addr set 0 00:12:34:56:78:03 [not work] > + > +disable promisc mode, verify VF packet rx/tx can work fine with the > specific mac addr. Description should be in previous of commands.=20 Please add more details about how to check rx/tx work.=20 > + > +2) multicast test > + > +testpmd> > +set promisc all off > +set allmulti all off > + > +Send packet with multicast MAC 01:80:C2:00:00:08, and check VF can not > receive the packet. > + > +testpmd> > +set allmulti all on > + > +Send packet with multicast MAC 01:80:C2:00:00:08, and check VF can > receive the packet. > + > +3) broadcast test > + > +testpmd> > +set promisc all off > + > +Send packets with broadcast address ff:ff:ff:ff:ff:ff, and check VF can > receive the packet > + > +4) promiscuous mode > + > +testpmd> > +set promisc all on > + > +Send packet that different with vf mac, check packets can be received. > + > +5) mac spoof on (N/A) > + > +3. VF vlan > +---------- > + > +1) Vlan filter (vlan filter only work with promisc mode off) > + > +port stop all > +set promisc all off > +vlan set filter off 0 > +vlan set filter off 1 > +vlan set strip off 0 > +vlan set strip off 1 > + > +vlan set filter on 0 > +set fwd mac > +port start all > +start > + > +packet with vlan can not be received, packet without vlan packet can be > received. > + > +2) rx_vlan (vlan filter only work with promisc mode off) > + > +setup rx vlan like the follow command, verify packet with > +vlan_id can receive by VF, and packet with other vlan_id can not be > received by VF > +(execept vlan 0). > +`testpmd> rx_vlan add ` > + > +port stop all > +set promisc all off > +vlan set filter off 0 > +vlan set filter off 1 > +vlan set strip off 0 > +vlan set strip off 1 > + > +vlan set filter on 0 > +rx_vlan add 20 0 > +set fwd mac > +port start all > +start > + > +3) tx_vlan, setup VF vlan like the follow command, verify packet > +that out from VF contain the vlan tag. > + > +`testpmd> tx_vlan ` > + > +port stop all > +set promisc all on > +set fwd mac > +vlan set filter off 0 > +vlan set filter off 1 > +vlan set strip off 0 > +vlan set strip off 1 > +tx_vlan set 1 20 > +port start all > +start > + > +4) vlan strip, setup strip on, vlan promisc on, verify vlan_id > +was stripped by VF when it forward the packet to other vf port. > + > +`testpmd> vlan set strip on ` > + > +port stop all > +set promisc all on > +set fwd mac > +vlan set filter off 0 > +vlan set filter off 1 > +vlan set strip off 0 > +vlan set strip off 1 > +vlan set strip on 0 > +port start all > +start > + > +5) vlan promisc mode, > + > +port stop all > +vlan set filter off 0 > +vlan set filter off 1 > +vlan set strip off 0 > +vlan set strip off 1 > + > +set promisc all on > +set fwd mac > +port start all > +start > + > +send packet with vlan or without vlan, both can be received and forwarde= d. > + > +6) vlan spoof on (N/A) > + > + > +4. VF jumboframe > +---------------- > + > +1) Check that no jumbo frame support, > +./x86_64-native-linuxapp-gcc/app/testpmd -l 6-10 -n 4 --master-lcore=3D6= -- > socket-mem=3D1024,1024 --file-prefix=3Dvf \ > +-w 05:02.0 -w 07:02.0 -- -i --txq=3D4 --rxq=3D4 --nb-cores=3D4 > +testpmd> > +set fwd mac > +start > + > +packet less than the standard maximum frame (1518) can be received. > +packet more than the standard maximum frame (1518) can not be received. > + > +2)Check that with Jumbo Frames support, > +./x86_64-native-linuxapp-gcc/app/testpmd -l 6-10 -n 4 --master-lcore=3D6= -- > socket-mem=3D1024,1024 --file-prefix=3Dvf \ > +-w 05:02.0 -w 07:02.0 -- -i --txq=3D4 --rxq=3D4 --nb-cores=3D4 --max-pk= t- > len=3D9000 --tx-offloads=3D0x8000 > +testpmd> > +set fwd mac > +start > + > +packet lengths greater than the standard maximum frame (1518) and \ > +lower or equal to the maximum frame length can be received. > +Check that packets larger than the configured maximum packet length are > +dropped by the hardware. > + > +Note the following was expected! > +packet size > 9001, not forward , but RX-packets: counter increased > (issue ??????) > + > +5. VF RSS > +--------- > + > +./x86_64-native-linuxapp-gcc/app/testpmd -l 6-10 -n 4 --master-lcore=3D6= -- > socket-mem=3D1024,1024 --file-prefix=3Dvf \ > +-w 05:02.0 -w 07:02.0 -- -i --txq=3D4 --rxq=3D4 --nb-cores=3D4 --txqfla= gs=3D0 > + > +1) test redirection Table Config, > +config hash reta table, send different flow type packet to VF port, > +check packet received by different queue. > + > +port config 0 rss reta (0,0) > +port config 0 rss reta (1,1) > +port config 0 rss reta (2,2) > +port config 0 rss reta (3,3) > +port config 0 rss reta (60,0) > +port config 0 rss reta (61,1) > +port config 0 rss reta (62,2) > +port config 0 rss reta (63,3) > + > +testpmd> port config all rss > (all|ip|tcp|udp|sctp|ether|port|vxlan|geneve|nvgre|none) > + > + > +6. VF offload (checksum and tso) > +-------------------------------- > +1) enable HW checksum offload on VF port, > +Send packets with incorrect checksum to vf port, verify that the packets > +can be received by VF port and checksum error reported, > +the packets forwarded by VF port have the correct checksum value. > + > +./x86_64-native-linuxapp-gcc/app/testpmd -l 6-10 -n 4 --master-lcore=3D6= -- > socket-mem=3D1024,1024 --file-prefix=3Dvf \ > +-w 05:02.0 -w 07:02.0 -- -i --txq=3D4 --rxq=3D4 --nb-cores=3D4 > + > +port stop all > + > +csum set ip hw 0 > +csum set udp hw 0 > +csum set tcp hw 0 > +csum set sctp hw 0 > + > +csum set ip hw 1 > +csum set udp hw 1 > +csum set tcp hw 1 > +csum set sctp hw 1 > + > +set fwd csum > +set verbose 1 > + > +port start all > +start > + > +2) SW checksum, disable HW checksum offload on VF port, > +Send packets with incorrect checksum to vf port, verify that the packets > +can be received by VF port and checksum error reported, the packets > +forwarded by VF port have the correct checksum value. > + > +./x86_64-native-linuxapp-gcc/app/testpmd -l 6-10 -n 4 --master-lcore=3D6= -- > socket-mem=3D1024,1024 --file-prefix=3Dvf \ > +-w 05:02.0 -w 07:02.0 -- -i --txq=3D4 --rxq=3D4 --nb-cores=3D4 > + > +port stop all > +csum set ip sw 0 > +csum set udp sw 0 > +csum set tcp sw 0 > +csum set sctp sw 0 > + > +csum set ip sw 1 > +csum set udp sw 1 > +csum set tcp sw 1 > +csum set sctp sw 1 > + > +set fwd csum > +set verbose 1 > +port start all > +start > + > +3) tso, enable tso on VF port, verify tcp packets that send out by > +VF port was splitted according to tso size. [no implemented yet] > + > +port stop all > +set verbose 1 > +csum set ip hw 0 > +csum set udp hw 0 > +csum set tcp hw 0 > +csum set sctp hw 0 > + > +csum set ip hw 1 > +csum set udp hw 1 > +csum set tcp hw 1 > +csum set sctp hw 1 > + > +tso set 800 1 > +set fwd csum > +port start all > +start > + > +3) tunnel tso, enable tunnel tso on VF port, verify tcp packets that sen= d > out by > +VF port was splitted according to tso size. [not implemented yet] > + > +port stop all > +set verbose 1 > +csum set ip hw 0 > +csum set udp hw 0 > +csum set tcp hw 0 > +csum set sctp hw 0 > +csum set outer-ip hw 0 > +csum parse_tunnel on 0 > + > +csum set ip hw 1 > +csum set udp hw 1 > +csum set tcp hw 1 > +csum set sctp hw 1 > +csum set outer-ip hw 1 > +csum parse_tunnel on 1 > + > +tunnel_tso set 800 1 > +set fwd csum > +port start all > +start > + > +7. Rx interrupt > +--------------- > +1). build l3fwd-power > +make -C examples/l3fwd-power RTE_SDK=3D`pwd` T=3Dx86_64-native-linuxapp-= gcc > + > +2). build two VFs with igb_uio [fail] > +modprobe uio; > +insmod x86_64-native-linuxapp-gcc/kmod/igb_uio.ko; > +./usertools/dpdk-devbind.py --bind=3Digb_uio 05:02.0 07:02.0 > + > +if in VM, enable vfio noiommu > + > +modprobe -r vfio_iommu_type1 > +modprobe -r vfio > +modprobe vfio enable_unsafe_noiommu_mode=3D1 > +cat /sys/module/vfio/parameters/enable_unsafe_noiommu_mode > +modprobe vfio-pci > + > +3). start l3fwd power with one queue per port. > +./examples/l3fwd-power/build/l3fwd-power -l 6,7 -n 4 -w 05:02.0 -w > 07:02.0 -- \ > +-p 0x3 --config '(0,0,6),(1,0,7)' > + > +Send one packet to VF0 and VF1, check that thread on core6 and core7 > waked up:: > + > +L3FWD_POWER: lcore 6 is waked up from rx interrupt on port 0 queue 0 > +L3FWD_POWER: lcore 7 is waked up from rx interrupt on port 0 queue 0 > + > +Check the packet has been normally forwarded. > + > +After the packet forwarded, thread on core6 and core 7 will return to > sleep:: > + > +L3FWD_POWER: lcore 6 sleeps until interrupt triggers > +L3FWD_POWER: lcore 7 sleeps until interrupt triggers > + > +Send packet flows to VF0 and VF1, check that thread on core1 and core2 > will > +keep up awake. > + > + > +8. VF veb > +--------- > +create 2 VFs from 1 PF, start testpmd with 2VFs individually, verify > throughput. > + > +echo 2 > /sys/bus/pci/devices/0000\:05\:00.0/max_vfs; > +./usertools/dpdk-devbind.py --bind=3Dvfio-pci 05:02.0 05:02.1 > + > +./x86_64-native-linuxapp-gcc/app/testpmd -l 1,2 -n 4 --socket- > mem=3D1024,1024 --file-prefix=3Dpf \ > +-w 05:00.0 -- -i > + > +set vf mac addr 0 0 00:12:34:56:78:01 > +set vf mac addr 0 1 00:12:34:56:78:02 > + > +./x86_64-native-linuxapp-gcc/app/testpmd -l 3-5 -n 4 --master-lcore=3D3 = -- > socket-mem=3D1024,1024 --file-prefix=3Dvf1 \ > +-w 05:02.0 -- -i --txq=3D2 --rxq=3D2 --rxd=3D512 --txd=3D512 --nb-cores= =3D2 --rss- > ip --eth-peer=3D0,00:12:34:56:78:02 > + > +set promisc all off > +set fwd mac > +start > + > +./x86_64-native-linuxapp-gcc/app/testpmd -l 6-8 -n 4 --master-lcore=3D6 = -- > socket-mem=3D1024,1024 --file-prefix=3Dvf2 \ > +-w 05:02.1 -- -i --txq=3D2 --rxq=3D2 --rxd=3D512 --txd=3D512 --nb-cores= =3D2 --rss- > ip > + > +set promisc all off > +set fwd mac > +start > + > +9. VF performance > +----------------- > +1) vector (vector=3Dy) Please add more descriptions for what is vector equal to yes. Like what is = needed for enabling vector mode of pmd. > +./x86_64-native-linuxapp-gcc/app/testpmd -c 0x6 -n 4 --socket- > mem=3D1024,1024 --file-prefix=3Dpf \ > +-w 05:00.0 -w 07:00.0 -- -i > + > +set vf mac addr 0 0 00:12:34:56:78:01 > +set vf mac addr 1 0 00:12:34:56:78:02 > + > +./x86_64-native-linuxapp-gcc/app/testpmd -c 0x0f8 -n 4 --master-lcore=3D= 3 - > -socket-mem=3D1024,1024 --file-prefix=3Dvf \ > +-w 05:02.0 -w 07:02.0 -- -i --txq=3D2 --rxq=3D2 --rxd=3D512 --txd=3D512 = --nb- > cores=3D4 --rss-ip Please just user testpmd for app name, no need to include target.=20 > + > +set promisc all off > +set fwd mac > +start > + > +37.2 + 37.2 =3D 74.4Mpps > + What is this? Which need to check? Please add more descriptions. > +2) scalar/bulk > + > +change CONFIG_RTE_LIBRTE_AVF_INC_VECTOR=3Dn in config/common_base > + > +34.9 + 34.9 =3D 69.8Mpps > + > + > +additional test case: (N/A) > +PF change mtu will cause any VF reset or any other issues. > +create 2 VFs from 1 PF, reset 1 VF continuously, verify PF and another V= F > can work fine.=09 > + > + > +AVF test in qemu-kvm > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > + > +#start PF with testpmd in host, > + > +./x86_64-native-linuxapp-gcc/app/testpmd -l 1,2 -n 4 --socket- > mem=3D1024,1024 --file-prefix=3Dpf -w 05:00.0 -w 07:00.0 -- -i > + > +set vf mac addr 0 0 00:12:34:56:78:01 > +set vf mac addr 1 0 00:12:34:56:78:02 > + > +#start VF in guest, > + > +taskset -c 12-17 qemu-system-x86_64 -enable-kvm -cpu host -smp 6 -m 4096 > \ > +-device virtio-net-pci,netdev=3Dnet0 -netdev tap,id=3Dnet0,script=3D/etc= /qemu- > ifup,downscript=3Dno,vhost=3Don \ > +-drive file=3D/home/ypei/qemu/ubuntu-16.04.img,if=3Dvirtio -vnc :1 -nogr= aphic > + > +(qemu) help device_add > +device_add vfio-pci,host=3D05:02.0,id=3Dvf1 > +device_add vfio-pci,host=3D07:02.0,id=3Dvf2 > + > +make install RTE_SDK=3D`pwd` T=3Dx86_64-native-linuxapp-gcc -j4 > +modprobe uio; > +insmod x86_64-native-linuxapp-gcc/kmod/igb_uio.ko; > + > +./usertools/dpdk-devbind.py --bind=3Digb_uio 00:05.0 00:06.0 > + > +./x86_64-native-linuxapp-gcc/app/testpmd -l 1-5 -n 4 --master-lcore=3D1 = \ > +-w 00:05.0 -w 00:06.0 -- -i --txq=3D4 --rxq=3D4 --nb-cores=3D4 --txqfla= gs=3D0 > + > +examples/l3fwd-power/build/l3fwd-power -l 1,2 -n 4 -w 00:05.0 -w 00:06.0 > -- \ > +-p 0x3 --config '(0,0,1),(1,0,2)' > + > +./x86_64-native-linuxapp-gcc/app/testpmd -l 1-5 -n 4 --master-lcore=3D1 = \ > +-w 00:05.0 -w 00:06.0 -- -i --txq=3D4 --rxq=3D4 --nb-cores=3D4 --max-pk= t- > len=3D9000 --txqflags=3D0 > \ No newline at end of file > -- > 2.7.4