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 249A7A00E6 for ; Tue, 6 Aug 2019 09:57:47 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 10EE31BD66; Tue, 6 Aug 2019 09:57:47 +0200 (CEST) Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id D877D1BD62 for ; Tue, 6 Aug 2019 09:57:45 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 06 Aug 2019 00:53:46 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.64,352,1559545200"; d="scan'208";a="176556454" Received: from fmsmsx105.amr.corp.intel.com ([10.18.124.203]) by orsmga003.jf.intel.com with ESMTP; 06 Aug 2019 00:53:43 -0700 Received: from fmsmsx154.amr.corp.intel.com (10.18.116.70) by FMSMSX105.amr.corp.intel.com (10.18.124.203) with Microsoft SMTP Server (TLS) id 14.3.439.0; Tue, 6 Aug 2019 00:53:43 -0700 Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by FMSMSX154.amr.corp.intel.com (10.18.116.70) with Microsoft SMTP Server (TLS) id 14.3.439.0; Tue, 6 Aug 2019 00:53:43 -0700 Received: from shsmsx106.ccr.corp.intel.com ([169.254.10.204]) by SHSMSX151.ccr.corp.intel.com ([169.254.3.250]) with mapi id 14.03.0439.000; Tue, 6 Aug 2019 15:53:41 +0800 From: "Yao, BingX Y" To: "Li, WenjieX A" , "dts@dpdk.org" CC: "Li, WenjieX A" Thread-Topic: [dts] [PATCH V1] tests/rxtx_offload: optimize script Thread-Index: AQHVTCv9UPlOSBxVXUOxPMgASQPXMabtv66w Date: Tue, 6 Aug 2019 07:53:40 +0000 Message-ID: <95BCD24840F32441BEA74E0F8A31839E058FAB94@SHSMSX106.ccr.corp.intel.com> References: <1565110047-28991-1-git-send-email-wenjiex.a.li@intel.com> <1565110047-28991-2-git-send-email-wenjiex.a.li@intel.com> In-Reply-To: <1565110047-28991-2-git-send-email-wenjiex.a.li@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: 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] tests/rxtx_offload: optimize 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" Tested-by: Yao, BingX Y -----Original Message----- From: dts [mailto:dts-bounces@dpdk.org] On Behalf Of Wenjie Li Sent: Wednesday, August 7, 2019 12:47 AM To: dts@dpdk.org Cc: Li, WenjieX A Subject: [dts] [PATCH V1] tests/rxtx_offload: optimize script optimize script: 1. add more supportted nics 2. check ports link status before send packets --- tests/TestSuite_rxtx_offload.py | 36 ++++++++++++++++++++++++--------- 1 file changed, 27 insertions(+), 9 deletions(-) diff --git a/tests/TestSuite_rxtx_offload.py b/tests/TestSuite_rxtx_offload= .py index bcef69d..a08e023 100644 --- a/tests/TestSuite_rxtx_offload.py +++ b/tests/TestSuite_rxtx_offload.py @@ -87,8 +87,10 @@ class TestRxTx_Offload(TestCase): Run at the start of each test suite. New rx tx offload API Prerequisites """ + # Support i40e/ixgbe NICs self.verify(self.nic in ["fortville_eagle", "fortville_spirit","fo= rtville_25g", - "fortville_spirit_single", "niantic"], "N= IC Unsupported: " + str(self.nic)) + "fortville_spirit_single", "fortpark_TLV"= , + "niantic", "twinpond", "sagepond",=20 + "sageville"], "NIC Unsupported: " + str(self.nic)) # Based on h/w type, choose how many ports to use self.dut_ports =3D self.dut.get_ports(self.nic) # Verify that enough ports are available @@ -116,6 +118,18 @@ clas= s TestRxTx_Offload(TestCase): """ pass =20 + + def verify_link_up(self, max_delay=3D10): + ports =3D self.dut.get_ports(self.nic) + for port_id in range(len(ports)): + out =3D self.dut.send_expect("show port info %s" % port_id, "t= estpmd> ") + port_time_up =3D 0 + while (port_time_up <=3D max_delay) and ("Link status: down" i= n out): + time.sleep(1) + out =3D self.dut.send_expect("show port info %s" % port_id= , "testpmd> ") + port_time_up +=3D 1 + self.verify("Link status: down" not in out, "Port %s Link=20 + down, please check your link" % port_id) + def check_port_capability(self, rxtx): """ Check capabilities. @@ -147,6 +161,7 @@ class TestRxTx_Offload(TestCase): =20 result_config =3D self.dut.send_expect("port start 0", "testpmd> "= ) self.verify("Fail" not in result_config, "Fail to configure port") + self.verify_link_up(20) =20 if rxtx =3D=3D "rx": outstring =3D self.dut.send_expect("show port 0 rx_offload con= figuration", "testpmd> ") @@ -173,6 +188,7 @@ class TestRxTx_Offload(TestCa= se): =20 result_config =3D self.dut.send_expect("port start 0", "testpmd> "= ) self.verify("Fail" not in result_config, "Fail to configure port") + self.verify_link_up(20) =20 acl_offloads =3D [] if rxtx =3D=3D "rx": @@ -204,6 +220,7 @@ class TestRxTx_Offload(TestCase): Send packet and get the queue which packet enter. """ self.dut.send_expect("start", "testpmd> ") + self.verify_link_up(20) self.tester.scapy_foreground() self.tester.scapy_append(packet) self.tester.scapy_execute() @@ -221,6 +238,7 @@ class TestRxTx_Offload(TestCase): Sends packets and check the flag. """ self.dut.send_expect("start", "testpmd>") + self.verify_link_up(20) self.tester.scapy_foreground() self.tester.scapy_append(packet) self.tester.scapy_execute() @@ -245,6 +263,7 @@ class TestRxTx_Offload(TestCase): self.verify("Fail" not in result_config, "Fail to configure port") =20 self.dut.send_expect("start", "testpmd> ") + self.verify_link_up(20) self.tester.scapy_foreground() self.tester.scapy_append(packet) self.tester.scapy_execute() @@ -369,8 +388,8 @@ class TestRxTx_Offload(TestCase): """ Set Rx offload by queue. """ - # Only support NNT - self.verify(self.nic in ["niantic"], "%s nic not support rx offloa= d setting by queue." % self.nic) + # Only support ixgbe NICs + self.verify(self.nic in ["niantic", "twinpond", "sagepond",=20 + "sageville"], "%s nic not support rx offload setting by queue." %=20 + self.nic) =20 self.pmdout.start_testpmd("%s" % self.cores, "--rxq=3D4 --txq=3D4"= ) self.dut.send_expect("set fwd rxonly", "testpmd> ") @@ -425,10 +44= 4,9 @@ class TestRxTx_Offload(TestCase): self.dut.send_expect("set fwd txonly", "testpmd> ") self.dut.send_expect("set verbose 1", "testpmd> ") if (self.nic in ["fortville_eagle", "fortville_spirit","fortville_= 25g", - "fortville_spirit_single"]): + "fortville_spirit_single", "fortpark_TLV"]): self.dut.send_expect("port stop 0", "testpmd> ") self.dut.send_expect("port config 0 tx_offload mbuf_fast_free = off", "testpmd> ") - #self.dut.send_expect("port start 0", "testpmd> ") self.check_port_config("tx", "NULL") self.start_tcpdump(self.tester_itf0) self.dut.send_expect("start", "testpmd> ") @@ -469,12 +487,12 @@ c= lass TestRxTx_Offload(TestCase): "fortville_spirit_single", "fortpark_TLV"]): self.dut.send_expect("port stop 0", "testpmd> ") self.dut.send_expect("port config 0 tx_offload mbuf_fast_free = off", "testpmd> ") - self.dut.send_expect("port start 0", "testpmd> ") offload =3D ["vlan_insert"] self.check_port_config("tx", offload) self.dut.send_expect("port stop 0", "testpmd> ") self.dut.send_expect("tx_vlan set 0 1", "testpmd> ") self.dut.send_expect("port start 0", "testpmd> ") + self.verify_link_up(20) self.start_tcpdump(self.tester_itf0) self.dut.send_expect("start", "testpmd> ") self.dut.send_expect("stop", "testpmd> ") @@ -531,7 +549,7 @@ clas= s TestRxTx_Offload(TestCase): """ self.pmdout.start_testpmd("%s" % self.cores, "--rxq=3D4 --txq=3D4"= ) capabilities =3D self.check_port_capability("tx") - # Disable per queue capability first, if it is FVL. + # Disable per queue capability first, if it is FVL/Fortpark. if (self.nic in ["fortville_eagle", "fortville_spirit","fortville_= 25g", "fortville_spirit_single", "fortpark_TLV"]): self.dut.send_expect("port stop 0", "testpmd> ") @@ -550,9 +56= 8,9 @@ class TestRxTx_Offload(TestCase): """ Set Rx offload by queue. """ - # Only support FVL + # Only support i40e NICs self.verify(self.nic in ["fortville_eagle", "fortville_spirit","fo= rtville_25g", - "fortville_spirit_single",], "%s nic not = support rx offload setting by queue." % self.nic) + "fortville_spirit_single",=20 + "fortpark_TLV"], "%s nic not support rx offload setting by queue." %=20 + self.nic) # Check offload configuration by port and by queue. self.pmdout.start_testpmd("%s" % self.cores, "--rxq=3D4 --txq=3D4"= ) offload =3D ["mbuf_fast_free"] -- 2.17.1