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 96109A04B7; Mon, 21 Sep 2020 03:08:50 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 8D3E41D9E4; Mon, 21 Sep 2020 03:08:50 +0200 (CEST) Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by dpdk.org (Postfix) with ESMTP id D9E141D9D2 for ; Mon, 21 Sep 2020 03:08:46 +0200 (CEST) IronPort-SDR: B+pcN8puK9uxxnVvJZpcATYx14zRnrtUCPoJWNvnHZAtEJbpef2KgC4XFc/wcAAzKIlPI/Gwyn mjYD1rmGbejw== X-IronPort-AV: E=McAfee;i="6000,8403,9750"; a="221878328" X-IronPort-AV: E=Sophos;i="5.77,284,1596524400"; d="scan'208";a="221878328" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Sep 2020 18:08:45 -0700 IronPort-SDR: SkUMfxT8nWd13XqJvWLq8BRFQf4pJg2lz2sx25A9JGnLh933rH5Nb1c4ZBjs/W8MapaRE1V08d q4r2i65aDAmw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.77,284,1596524400"; d="scan'208";a="411864224" Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83]) by fmsmga001.fm.intel.com with ESMTP; 20 Sep 2020 18:08:45 -0700 Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Sun, 20 Sep 2020 18:08:44 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx612.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5 via Frontend Transport; Sun, 20 Sep 2020 18:08:44 -0700 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.177) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.1713.5; Sun, 20 Sep 2020 18:08:44 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DiHsHiilV8bGXQ/C6ThNffGbt1badpEjFkB7ZnNrBuDmfypqoQGOo3HneljwFK452mrI4bi9difWpzhNM0iJss18jHeWIwSkKydKLmwtg/hUPUiePx4hqAl2bNxva9QTJC4v8zTNY3DljOaUWvKyvewc0Kidtd1jbDS1lZlGh5uDO19wufqsKKtM9Bh1opEX7PeuhzD9Gvkb2CftpuL0aDNFY40DWToFHDZGv5uwCmx73L4f6+9a8swiaDfdnVVMlf9dzJwwiyTmUjMHQbfHjRwNi2O1IF6ZnxurayR+iCEkZjcdTGYWn4D9rGQWMVUIgaB5HXOE0eiXH65Sbd/67A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=+ZUf5OZBHtkxv60Isl/gdRBSoLvVqwYBT6PzBXrgOIg=; b=kSRMyABxZuvDF8BYeW3tl1BPh38ctyvCeyDXhiqgxxohxmo44kMYonniCETckq5124W26iUxi/LqoWSSNxbHuzSJYTP13WEIHexZHEvArqxIrwipODjQJP/gAdd3nyp2CMaXAKDKklw4gCDxiIIPV9b3kxYqHO/Bv01tqTCRQlbbNcmZEHCLzc65igoM9exN7CTdROVR+KZPbX4cuFeKmABupThMVL1UKIuY6dPZV9CK/QDEZG7llAYjtHK5/pg+RozfB+OGT0CnUDwohu2ERCapytm105fnqndVezsx9WcHSH8YjUAsc5EJMafvk5qPVDpqupJPP4EgXxU5k6Z01g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=+ZUf5OZBHtkxv60Isl/gdRBSoLvVqwYBT6PzBXrgOIg=; b=EubVKxytTME0M0s45IKOSHAqtVH9lPlCri3DYYz0mWrIGnO+YHJwBQG82oSj86Uks7Hx3ISt9gfA5hEGvrQIo9nCiN5vZcJ/uZMUlatGgTCB0Nm7YxQf9J/Ldj7ktPI19J0jTYvqHrsb+rYTkmtahSsJoCMQZACC/gXBKUh79MI= Received: from BYAPR11MB2648.namprd11.prod.outlook.com (2603:10b6:a02:c7::10) by BYAPR11MB2741.namprd11.prod.outlook.com (2603:10b6:a02:bf::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3391.14; Mon, 21 Sep 2020 01:08:37 +0000 Received: from BYAPR11MB2648.namprd11.prod.outlook.com ([fe80::6ce6:645f:f3fc:1504]) by BYAPR11MB2648.namprd11.prod.outlook.com ([fe80::6ce6:645f:f3fc:1504%7]) with mapi id 15.20.3391.019; Mon, 21 Sep 2020 01:08:37 +0000 From: "Wang, Yinan" To: "Jiang, YuX" , "dts@dpdk.org" CC: "Jiang, YuX" Thread-Topic: [dts] [PATCH V1] tests/TestSuite_dpdk_gro_lib: add 1 cbdma script Thread-Index: AQHWjLxDI4KaLuk9IECXMrvIKHdzV6lyTfrw Date: Mon, 21 Sep 2020 01:08:37 +0000 Message-ID: References: <20200917062806.6335-1-yux.jiang@intel.com> <318e5ada72124761b29cf4e38b3e2575@intel.com> In-Reply-To: <318e5ada72124761b29cf4e38b3e2575@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-reaction: no-action dlp-version: 11.5.1.3 dlp-product: dlpe-windows authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.102.204.37] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 08a0133a-d6a1-46c3-c60d-08d85dcadeca x-ms-traffictypediagnostic: BYAPR11MB2741: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:110; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: idc0+QbbNSUOcETdp/8WCNKOQSQE4NNaE6OigzmznsvuIeH6CR9rsYhPQfOVu7quUuiu85yLv9W/wC+U482Xyozy32DivpwrUYwYkOfkFGZb6PY7WUyswuWdlBlRE/0SRkE7Jq+8cx+nmYW9TKz75p48KRV+E4157D9EMjlTuAcEsa2KBSOfpdBWCeUOlPpjLvHgB4RRgUo2SrcXS58VINtLo4ThLlYZTrxmfdKFoaQIeS30sfFaNUbksQqJki1HOp2TS+v0oLuPOo8dZFnox+FWJqwDJJDVWhxL9/m5n9WXEOKCcCm6JYNNFG354hGbA6Bu4DJ7+36f3XMqkJ6cmOkghpsrVal2cNPofKtY7Tw0bzW6O/7ILfbYNN0TbA1A x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BYAPR11MB2648.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(346002)(136003)(39860400002)(396003)(376002)(26005)(66946007)(7696005)(110136005)(64756008)(66556008)(66446008)(83380400001)(66476007)(6506007)(5660300002)(8936002)(53546011)(186003)(2906002)(86362001)(76116006)(30864003)(478600001)(52536014)(55016002)(316002)(71200400001)(33656002)(9686003)(4326008)(107886003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: /2oFYwdVzYtppJp3J5p/AXaKpjwm31/Lj4gTj70Ix0U1tKQghn1fB6vskDxWP4udo7dcj5b2B61PCotWO8tCgxa7wAGYbeZ6GRqU1V7dKJTEn5cT6cSUEM91GRAjUHcgHlkE+C+L+TfuQXPar1D9wSdOQCnGJGo8p9onozENxunhATYeZgmHUbfZrzyUOvKq3is3Naxr72EpARL4u+OQjd5xc4SN6WqOWfda51ux7KhDjyVjFZsBlzMox0fwY4FV8rPE8nkz0R70dONReg9mH8k0b46wbLpAHM3258eK5+Bd1mpYbXdmTrrbngjycz8d1TEWLA3BN4xU3FwiOD0erYdhkN/NAH0iI6SNCK3KDRkgeC4RaAIuOHMc8NV8/U489RASjp7isWI5dfZ5EOEXBlOhYY8d+fVQ+01edeHUU84vI09waDhfzLfWHvDhpiQ6yY4+uQFWieJW8lO0IJUU3QZzgWmriosE7BkQrEL4zgSW4l8r+GPCEiDtqELcwz3iOTDr43551+bGyFg7smem4zAWEPIzL8yt0fUx2R72S5kXEj3oH1bcpVFMd6cm4euY3b0YyFbKHQSFqpIydcI/ifERnkUHOrT7SemK/K9+OpbmSRFQHzMwDnbIQS9vAxW9EIiqYx1voe0SxzlSF7xfUg== Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BYAPR11MB2648.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 08a0133a-d6a1-46c3-c60d-08d85dcadeca X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Sep 2020 01:08:37.4303 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: bhm2UgFdcJzP6roRWv05tVvr/UYYWJD5cunCqjyWhE711sVQEuzkNIwJ1lgc+ciUGHOZe2SC4TrM1+oMslzkQQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR11MB2741 X-OriginatorOrg: intel.com Subject: Re: [dts] [PATCH V1] tests/TestSuite_dpdk_gro_lib: add 1 cbdma script 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" Acked-by: Wang, Yinan > -----Original Message----- > From: dts On Behalf Of Jiang, YuX > Sent: 2020?9?17? 14:31 > To: dts@dpdk.org > Cc: Jiang, YuX > Subject: Re: [dts] [PATCH V1] tests/TestSuite_dpdk_gro_lib: add 1 cbdma s= cript >=20 > Tested-by: Jiang, YuX >=20 > Best Regards > Jiang yu >=20 >=20 > > -----Original Message----- > > From: Jiang, YuX > > Sent: Thursday, September 17, 2020 2:28 PM > > To: dts@dpdk.org > > Cc: Jiang, YuX > > Subject: [dts] [PATCH V1] tests/TestSuite_dpdk_gro_lib: add 1 cbdma scr= ipt > > > > From: JiangYu > > > > 1, add 1 cbdma script: test_vhost_gro_tcp_ipv4_with_cbdma_enable > > 2, modify start_vm: csum=3Don,gso=3Don > > 3, adapt launch_testpmd_gro_on para: mode and queue > > > > Signed-off-by: JiangYu > > --- > > tests/TestSuite_dpdk_gro_lib.py | 121 > > ++++++++++++++++++++++++++++++++++++---- > > 1 file changed, 111 insertions(+), 10 deletions(-) > > > > diff --git a/tests/TestSuite_dpdk_gro_lib.py > > b/tests/TestSuite_dpdk_gro_lib.py index f2b5b0d..3f23e3e 100644 > > --- a/tests/TestSuite_dpdk_gro_lib.py > > +++ b/tests/TestSuite_dpdk_gro_lib.py > > @@ -97,6 +97,12 @@ class TestDPDKGROLib(TestCase): > > self.prepare_dpdk() > > self.base_dir =3D self.dut.base_dir.replace('~', '/root') > > > > + self.ports_socket =3D self.dut.get_numa_id(self.dut_ports[0]) > > + # get cbdma device > > + self.cbdma_dev_infos =3D [] > > + self.dmas_info =3D None > > + self.device_str =3D None > > + > > def set_up(self): > > # > > # Run before each test case. > > @@ -106,15 +112,60 @@ class TestDPDKGROLib(TestCase): > > self.dut.send_expect("killall -s INT %s" % self.testpmd_name, = "#") > > self.dut.send_expect("killall -s INT qemu-system-x86_64", "#") > > > > - def launch_testpmd_gro_on(self, mode=3D1): > > + def get_cbdma_ports_info_and_bind_to_dpdk(self, cbdma_num): > > + """ > > + get all cbdma ports > > + """ > > + str_info =3D 'Misc (rawdev) devices using kernel driver' > > + out =3D self.dut.send_expect('./usertools/dpdk-devbind.py --st= atus-dev > > misc', '# ', 30) > > + device_info =3D out.split('\n') > > + for device in device_info: > > + pci_info =3D re.search('\s*(0000:\d*:\d*.\d*)', device) > > + if pci_info is not None: > > + dev_info =3D pci_info.group(1) > > + # the numa id of ioat dev, only add the device which > > + # on same socket with nic dev > > + bus =3D int(dev_info[5:7], base=3D16) > > + if bus >=3D 128: > > + cur_socket =3D 1 > > + else: > > + cur_socket =3D 0 > > + if self.ports_socket =3D=3D cur_socket: > > + self.cbdma_dev_infos.append(pci_info.group(1)) > > + self.verify(len(self.cbdma_dev_infos) >=3D cbdma_num, 'There n= o > > enough cbdma device to run this suite') > > + used_cbdma =3D self.cbdma_dev_infos[0:cbdma_num] > > + dmas_info =3D '' > > + for dmas in used_cbdma: > > + number =3D used_cbdma.index(dmas) > > + dmas =3D 'txq{}@{};'.format(number, dmas) > > + dmas_info +=3D dmas > > + self.dmas_info =3D dmas_info[:-1] > > + self.device_str =3D ' '.join(self.cbdma_dev_infos) > > + self.dut.setup_modules(self.target, "igb_uio","None") > > + self.dut.send_expect('./usertools/dpdk-devbind.py --force > > + --bind=3D%s %s' % ("igb_uio", self.device_str), '# ', 60) > > + > > + def bind_cbdma_device_to_kernel(self): > > + if self.device_str is not None: > > + self.dut.send_expect('modprobe ioatdma', '# ') > > + self.dut.send_expect('./usertools/dpdk-devbind.py -u %s' % > > self.device_str, '# ', 30) > > + self.dut.send_expect('./usertools/dpdk-devbind.py --force > > + --bind=3Dioatdma %s' % self.device_str, '# ', 60) > > + > > + def launch_testpmd_gro_on(self, mode=3D1, queue=3D1): > > # > > # Launch the vhost sample with different parameters > > # mode 1 : tcp traffic light mode > > # mode 2 : tcp traffic heavy mode > > # mode 3 : vxlan traffic light mode > > # mode 4 : tcp traffic flush 4 > > - eal_param =3D self.dut.create_eal_parameters(cores=3Dself.vhos= t_list, > > vdevs=3D['net_vhost0,iface=3D%s/vhost-net,queues=3D1' % self.base_dir]) > > - self.testcmd_start =3D self.path + eal_param + " -- -i --enab= le-hw-vlan- > > strip --tx-offloads=3D0x00 --txd=3D1024 --rxd=3D1024" > > + # mode 5 : tcp traffice light mode with cdbma enable > > + if mode =3D=3D 5: > > + self.get_cbdma_ports_info_and_bind_to_dpdk(cbdma_num=3D2) > > + self.dut.send_expect('./usertools/dpdk-devbind.py --force = -- > > bind=3Digb_uio %s' % self.pci, '# ', 20) > > + eal_param =3D self.dut.create_eal_parameters(cores=3Dself.= vhost_list, > > vdevs=3D["'net_vhost0,iface=3D%s/vhost- > > net,queues=3D%s,dmas=3D[%s],dmathr=3D1024'" % (self.base_dir, queue, > > self.dmas_info)]) > > + self.testcmd_start =3D self.path + eal_param + " -- -i --t= xd=3D1024 -- > > rxd=3D1024 --txq=3D2 --rxq=3D2" > > + else: > > + eal_param =3D self.dut.create_eal_parameters(cores=3Dself.= vhost_list, > > vdevs=3D['net_vhost0,iface=3D%s/vhost-net,queues=3D%s' % (self.base_dir= , > > queue)]) > > + self.testcmd_start =3D self.path + eal_param + " -- -i --= enable-hw-vlan- > > strip --tx-offloads=3D0x00 --txd=3D1024 --rxd=3D1024" > > self.vhost_user =3D self.dut.new_session(suite=3D"user") > > self.vhost_user.send_expect(self.testcmd_start, "testpmd> ", 1= 20) > > self.vhost_user.send_expect("set fwd csum", "testpmd> ", 120) = @@ - > > 125,13 +176,13 @@ class TestDPDKGROLib(TestCase): > > self.vhost_user.send_expect("csum set ip hw 0", "testpmd> ", 1= 20) > > self.vhost_user.send_expect("csum set tcp hw 1", "testpmd> ", = 120) > > self.vhost_user.send_expect("csum set ip hw 1", "testpmd> ", 1= 20) > > - if(mode =3D=3D 1): > > + if(mode =3D=3D 1 or mode =3D=3D 5): > > self.vhost_user.send_expect("set port 0 gro on", "testpmd>= ", 120) > > self.vhost_user.send_expect("set gro flush 1", "testpmd> "= , 120) > > - if(mode =3D=3D 2): > > + elif(mode =3D=3D 2): > > self.vhost_user.send_expect("set port 0 gro on", "testpmd>= ", 120) > > self.vhost_user.send_expect("set gro flush 2", "testpmd> "= , 120) > > - if (mode =3D=3D 3): > > + elif (mode =3D=3D 3): > > self.vhost_user.send_expect("csum parse-tunnel on 1", "tes= tpmd> ", > > 120) > > self.vhost_user.send_expect("csum parse-tunnel on 0", "tes= tpmd> ", > > 120) > > self.vhost_user.send_expect("csum set outer-ip hw 0", "tes= tpmd> ", > > 120) @@ -240,15 +291,18 @@ class TestDPDKGROLib(TestCase): > > vm_config.params[i]['cpu'][0]['number'] =3D 1 > > vm_config.params[i]['cpu'][0]['cpupin'] =3D self.qemu_= cpupin > > > > - def start_vm(self): > > + def start_vm(self, mode=3D1, queue=3D1): > > self.vm1 =3D VM(self.dut, 'vm0', 'vhost_sample') > > self.vm1.load_config() > > vm_params_1 =3D {} > > vm_params_1['driver'] =3D 'vhost-user' > > vm_params_1['opt_path'] =3D self.base_dir + '/vhost-net' > > vm_params_1['opt_mac'] =3D self.virtio_mac1 > > - vm_params_1[ > > - 'opt_settings'] =3D > > 'mrg_rxbuf=3Don,csum=3Doff,gso=3Doff,host_tso4=3Don,guest_tso4=3Don' > > + if mode =3D=3D 5: > > + vm_params_1['opt_queue'] =3D queue > > + vm_params_1['opt_settings'] =3D > > 'mrg_rxbuf=3Don,csum=3Don,gso=3Don,host_tso4=3Don,guest_tso4=3Don,mq=3D= on,vect > > ors=3D15' > > + else: > > + vm_params_1['opt_settings'] =3D > > 'mrg_rxbuf=3Don,csum=3Don,gso=3Don,host_tso4=3Don,guest_tso4=3Don' > > self.vm1.set_vm_device(**vm_params_1) > > self.set_vm_cpu_number(self.vm1) > > try: > > @@ -275,6 +329,15 @@ class TestDPDKGROLib(TestCase): > > self.result_table_print() > > self.output_result =3D "Iperf throughput is %s" % iperfdata[-1= ] > > self.logger.info(self.output_result) > > + iperfdata_kb =3D 0 > > + tmp_value =3D iperfdata[-1].split(" ")[0] > > + if 'Gbits' in iperfdata[-1]: > > + iperfdata_kb =3D float(tmp_value)*1000000 > > + elif 'Mbits' in iperfdata[-1]: > > + iperfdata_kb =3D float(tmp_value)*1000 > > + else: > > + iperfdata_kb =3D float(tmp_value) > > + return iperfdata_kb > > > > def test_vhost_gro_tcp_lightmode(self): > > self.config_kernel_nic_host(0) > > @@ -299,7 +362,7 @@ class TestDPDKGROLib(TestCase): > > 'ip netns exec ns1 iperf -c %s -i 1 -t 10 -P 1> /root/iper= f_client.log &' % > > (self.virtio_ip1), '', 180) > > time.sleep(30) > > - self.iperf_result_verify('GRO lib') > > + tc1_perfdata =3D self.iperf_result_verify('GRO lib') > > print(("the GRO lib %s " % (self.output_result))) > > self.dut.send_expect('rm /root/iperf_client.log', '#', 10) > > # Turn off DPDK GRO lib and Kernel GRO off @@ -313,6 +376,7 @@= class > > TestDPDKGROLib(TestCase): > > self.dut.send_expect('rm /root/iperf_client.log', '#', 10) > > self.quit_testpmd() > > self.dut.send_expect("killall -s INT qemu-system-x86_64", "#") > > + self.dut.send_expect('echo %s > > > + /root/dpdk_gro_lib_on_iperf_tc1.log' % tc1_perfdata, '#', 10) > > > > def test_vhost_gro_tcp_heavymode(self): > > self.config_kernel_nic_host(0) > > @@ -376,6 +440,42 @@ class TestDPDKGROLib(TestCase): > > self.quit_testpmd() > > self.dut.send_expect("killall -s INT qemu-system-x86_64", "#") > > > > + def test_vhost_gro_tcp_ipv4_with_cbdma_enable(self): > > + self.config_kernel_nic_host(0) > > + self.heavymode =3D 5 > > + self.launch_testpmd_gro_on(self.heavymode, queue=3D2) > > + self.start_vm(mode=3D5, queue=3D2) > > + time.sleep(5) > > + self.dut.get_session_output(timeout=3D2) > > + # Get the virtio-net device name > > + for port in self.vm1_dut.ports_info: > > + self.vm1_intf =3D port['intf'] > > + # Start the Iperf test > > + self.vm1_dut.send_expect('ifconfig -a', '#', 30) > > + self.vm1_dut.send_expect( > > + 'ifconfig %s %s up' % > > + (self.vm1_intf, self.virtio_ip1), '#', 10) > > + self.vm1_dut.send_expect('ethtool -L %s combined 2' % self.vm1= _intf, > > '#', 10) > > + self.vm1_dut.send_expect( > > + 'ethtool -K %s gro off' % > > + (self.vm1_intf), '#', 10) > > + self.vm1_dut.send_expect('iperf -s', '', 10) > > + self.dut.send_expect('rm /root/iperf_client.log', '#', 10) > > + out =3D self.dut.send_expect( > > + 'ip netns exec ns1 iperf -c %s -i 1 -t 60 -m -P 2 > /root/= iperf_client.log > > &' % > > + (self.virtio_ip1), '', 180) > > + time.sleep(30) > > + print(out) > > + tc4_perfdata =3D self.iperf_result_verify('GRO lib') > > + print(("the GRO lib %s " % (self.output_result))) > > + #self.dut.send_expect('rm /root/iperf_client.log', '#', 10) > > + self.quit_testpmd() > > + self.dut.send_expect("killall -s INT qemu-system-x86_64", "#") > > + tc1_perfdata =3D self.dut.send_expect("cat > > /root/dpdk_gro_lib_on_iperf_tc1.log", "#") > > + self.verify("No such file or directory" not in tc1_perfdata, "= Cannot find > > dpdk_gro_lib_on_iperf_tc1.log, please run test_vhost_gro_tcp_lightmode > > firstly") > > + if tc1_perfdata: > > + self.verify(float(tc4_perfdata) > float(tc1_perfdata), > > + "TestFailed: W/cbdma iperf data is %s Kbits/sec, W/O cbdma iperf data > > + is %s Kbits/sec" %(tc4_perfdata, tc1_perfdata)) > > + > > def tear_down(self): > > """ > > Run after each test case. > > @@ -390,6 +490,7 @@ class TestDPDKGROLib(TestCase): > > self.dut.send_expect( > > "./usertools/dpdk-devbind.py -b %s %s" % > > (self.pci_drv, self.peer_pci), '# ', 30) > > + self.bind_cbdma_device_to_kernel() > > > > def tear_down_all(self): > > """ > > -- > > 2.7.4