From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 90699A0613 for ; Wed, 28 Aug 2019 08:11:59 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 866EA1C1F1; Wed, 28 Aug 2019 08:11:59 +0200 (CEST) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by dpdk.org (Postfix) with ESMTP id 789291C1ED for ; Wed, 28 Aug 2019 08:11:58 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by fmsmga107.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 27 Aug 2019 23:11:57 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.64,440,1559545200"; d="scan'208";a="181926841" Received: from fmsmsx104.amr.corp.intel.com ([10.18.124.202]) by fmsmga007.fm.intel.com with ESMTP; 27 Aug 2019 23:11:57 -0700 Received: from fmsmsx151.amr.corp.intel.com (10.18.125.4) by fmsmsx104.amr.corp.intel.com (10.18.124.202) with Microsoft SMTP Server (TLS) id 14.3.439.0; Tue, 27 Aug 2019 23:11:57 -0700 Received: from shsmsx153.ccr.corp.intel.com (10.239.6.53) by FMSMSX151.amr.corp.intel.com (10.18.125.4) with Microsoft SMTP Server (TLS) id 14.3.439.0; Tue, 27 Aug 2019 23:11:57 -0700 Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.80]) by SHSMSX153.ccr.corp.intel.com ([169.254.12.215]) with mapi id 14.03.0439.000; Wed, 28 Aug 2019 14:11:55 +0800 From: "Tu, Lijuan" To: "Ma, LihongX" , "dts@dpdk.org" CC: "Ma, LihongX" Thread-Topic: [dts] [PATCH V1] test_plan: delete the useless plan vhost_tso Thread-Index: AQHVWMhhNNLwHuKggEC5YPQmrSIisacQHWXg Date: Wed, 28 Aug 2019 06:11:54 +0000 Message-ID: <8CE3E05A3F976642AAB0F4675D0AD20E0BB0685D@SHSMSX101.ccr.corp.intel.com> References: <1566437952-20099-1-git-send-email-lihongx.ma@intel.com> In-Reply-To: <1566437952-20099-1-git-send-email-lihongx.ma@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.2.0.6 dlp-reaction: no-action x-ctpclassification: CTP_NT x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiMTAyNDYxOGQtN2ZhMS00MDZlLThlY2EtZjVkMmI3MDZhZDQ4IiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiSFRjTFJJenJwb1p3ZVJUdXR5V1RsWm5nTE5NeDBTV0pPcTA2VEJIT1F1c0t0c2hcL01mdGxOTEdvWHB0KzlyTjkifQ== 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 V1] test_plan: delete the useless plan vhost_tso 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: , Errors-To: dts-bounces@dpdk.org Sender: "dts" Applied, thanks > -----Original Message----- > From: dts [mailto:dts-bounces@dpdk.org] On Behalf Of lihong > Sent: Thursday, August 22, 2019 9:39 AM > To: dts@dpdk.org > Cc: Ma, LihongX > Subject: [dts] [PATCH V1] test_plan: delete the useless plan vhost_tso >=20 > this plan has been covered by vm2vm_virtio_net_perf and > vhost_dequeue_zero_copy, so delete it. >=20 > Signed-off-by: lihong > --- > test_plans/vhost_tso_test_plan.rst | 128 -------------------------------= ------ > 1 file changed, 128 deletions(-) > delete mode 100644 test_plans/vhost_tso_test_plan.rst >=20 > diff --git a/test_plans/vhost_tso_test_plan.rst > b/test_plans/vhost_tso_test_plan.rst > deleted file mode 100644 > index e839a7a..0000000 > --- a/test_plans/vhost_tso_test_plan.rst > +++ /dev/null > @@ -1,128 +0,0 @@ > -.. Copyright (c) <2015-2017>, Intel Corporation > - 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=3D > -Vhost TSO Tests > -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > - > -The feature enabled the DPDK Vhost TX offload(checksum and TSO), so that > it will let the NIC to do the TX offload, and it can improve performance.= The > feature added the negotiation between DPDK user space vhost and virtio-ne= t, > so we will verify the DPDK Vhost user + virtio-net for the TSO/cksum in t= he > TCP/IP stack enabled environment. DPDK vhost + virtio-pmd will not be > covered by this plan since virtio-pmd doesn't have TCP/IP stack and virti= o > TSO is not enabled, so it will not be tested. > - > -In the test plan, we will use vhost switch sample to test. > -When testing vm2vm case, we will only test vm2vm=3D1(software switch), n= ot > test vm2vm=3D2(hardware switch). > - > -Prerequisites > -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > - > -Install iperf on both host and guests. > - > - > -Test Case1: DPDK vhost user + virtio-net one VM fwd tso - > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D > - > -HW preparation: Connect 2 ports directly. In our case, connect 81:00.0(p= ort1) > and 81:00.1(port2) two ports directly. Port1 is bound to igb_uio for vhos= t- > sample to use, while port2 is in kernel driver. > - > -SW preparation: Change one line of the vhost sample and rebuild:: > - > - #In function virtio_tx_route(xxx) > - m->vlan_tci =3D vlan_tag; > - #changed to > - m->vlan_tci =3D 1000; > - > -1. Launch the Vhost sample by below commands, socket-mem is set for the > vhost sample to use, need ensure that the PCI port located socket has the > memory. In our case, the PCI BDF is 81:00.0, so we need assign memory for > socket1. For TSO/CSUM test, we need set "--mergeable 1--tso 1 --csum 1".:= : > - > - taskset -c 18-20 ./examples/vhost/build/vhost-switch -c 0x1c0000 -n = 4 -- > huge-dir /mnt/huge --socket-mem 0,2048 -- -p 1 --mergeable 1 --zero-copy = 0 - > -vm2vm 0 --tso 1 --csum 1 > - > -2. Launch VM1:: > - > - taskset -c 21-22 \ > - qemu-system-x86_64 -name us-vhost-vm1 \ > - -cpu host -enable-kvm -m 1024 -object memory-backend- > file,id=3Dmem,size=3D1024M,mem-path=3D/mnt/huge,share=3Don -numa > node,memdev=3Dmem -mem-prealloc \ > - -smp cores=3D2,sockets=3D1 -drive file=3D/home/img/dpdk-vm1.img \ > - -chardev socket,id=3Dchar0,path=3D/home/qxu10/vhost-tso-test/dpdk/v= host- > net -netdev type=3Dvhost-user,id=3Dmynet1,chardev=3Dchar0,vhostforce \ > - -device virtio-net- > pci,mac=3D52:54:00:00:00:01,netdev=3Dmynet1,csum=3Don,gso=3Don,guest_csum= =3Don, > guest_tso4=3Don,guest_tso6=3Don,guest_ecn=3Don \ > - -netdev tap,id=3Dipvm1,ifname=3Dtap3,script=3D/etc/qemu-ifup -devic= e > rtl8139,netdev=3Dipvm1,id=3Dnet0,mac=3D00:10:00:00:11:01 -nographic > - > -3. On host,configure port2, then you can see there is a interface called > ens260f1.1000.:: > - > - ifconfig ens260f1 > - vconfig add ens260f1 1000 > - ifconfig ens260f1.1000 1.1.1.8 > - > -4. On the VM1, set the virtio IP and run iperf:: > - > - ifconfig ethX 1.1.1.2 > - ping 1.1.1.8 # let virtio and port2 can ping each other successfully= , then > the arp table will be set up automatically. > - > -5. In host, run : `iperf -s -i 1` ; In guest, run `iperf -c 1.1.1.2 -i 1= -t 60`, check if > there is 64K (size: 65160) packet. If there is 64K packet, then TSO is en= abled, > or else TSO is disabled. > - > -6. On the VM1, run `tcpdump -i ethX -n -e -vv` to check if the cksum is > correct. You should not see incorrect cksum output. > - > -Test Case2: DPDK vhost user + virtio-net VM2VM=3D1 fwd tso - > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D > - > -1. Launch the Vhost sample by below commands, socket-mem is set for the > vhost sample to use, need ensure that the PCI port located socket has the > memory. In our case, the PCI BDF is 81:00.0, so we need assign memory for > socket1. For TSO/CSUM test, we need set "--mergeable 1--tso 1 --csum 1 -- > vm2vm 1".:: > - > - taskset -c 18-20 ./examples/vhost/build/vhost-switch -c 0x1c0000 -n = 4 -- > huge-dir /mnt/huge --socket-mem 0,2048 -- -p 1 --mergeable 1 --zero-copy = 0 - > -vm2vm 1 --tso 1 --csum 1 > - > -2. Launch VM1 and VM2. :: > - > - taskset -c 21-22 \ > - qemu-system-x86_64 -name us-vhost-vm1 \ > - -cpu host -enable-kvm -m 1024 -object memory-backend- > file,id=3Dmem,size=3D1024M,mem-path=3D/mnt/huge,share=3Don -numa > node,memdev=3Dmem -mem-prealloc \ > - -smp cores=3D2,sockets=3D1 -drive file=3D/home/img/dpdk-vm1.img \ > - -chardev socket,id=3Dchar0,path=3D/home/qxu10/vhost-tso-test/dpdk/v= host- > net -netdev type=3Dvhost-user,id=3Dmynet1,chardev=3Dchar0,vhostforce \ > - -device virtio-net- > pci,mac=3D52:54:00:00:00:01,netdev=3Dmynet1,csum=3Don,gso=3Don,guest_csum= =3Don, > guest_tso4=3Don,guest_tso6=3Don,guest_ecn=3Don \ > - -netdev tap,id=3Dipvm1,ifname=3Dtap3,script=3D/etc/qemu-ifup -devic= e > rtl8139,netdev=3Dipvm1,id=3Dnet0,mac=3D00:10:00:00:11:01 -nographic > - > - taskset -c 23-24 \ > - qemu-system-x86_64 -name us-vhost-vm1 \ > - -cpu host -enable-kvm -m 1024 -object memory-backend- > file,id=3Dmem,size=3D1024M,mem-path=3D/mnt/huge,share=3Don -numa > node,memdev=3Dmem -mem-prealloc \ > - -smp cores=3D2,sockets=3D1 -drive file=3D/home/img/vm1.img \ > - -chardev socket,id=3Dchar1,path=3D/home/qxu10/vhost-tso-test/dpdk/v= host- > net -netdev type=3Dvhost-user,id=3Dmynet2,chardev=3Dchar1,vhostforce \ > - -device virtio-net-pci,mac=3D52:54:00:00:00:02,netdev=3Dmynet2 \ > - -netdev tap,id=3Dipvm1,ifname=3Dtap4,script=3D/etc/qemu-ifup -devic= e > rtl8139,netdev=3Dipvm1,id=3Dnet0,mac=3D00:10:00:00:11:02 -nographic > - > -3. On VM1, set the virtio IP and run iperf:: > - > - ifconfig ethX 1.1.1.2 > - arp -s 1.1.1.8 52:54:00:00:00:02 > - arp # to check the arp table is complete and correct. > - > -4. On VM2, set the virtio IP and run iperf:: > - > - ifconfig ethX 1.1.1.8 > - arp -s 1.1.1.2 52:54:00:00:00:01 > - arp # to check the arp table is complete and correct. > - > -5. Ensure virtio1 can ping virtio2. Then in VM1, run : `iperf -s -i 1` ;= In VM2, > run `iperf -c 1.1.1.2 -i 1 -t 60`, check if there is 64K (size: 65160) pa= cket. If > there is 64K packet, then TSO is enabled, or else TSO is disabled. > - > -6. On the VM1, run `tcpdump -i ethX -n -e -vv`. > -- > 2.7.4