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 AFE8DA00E6 for ; Tue, 6 Aug 2019 09:52:39 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id A77661B9CD; Tue, 6 Aug 2019 09:52:39 +0200 (CEST) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by dpdk.org (Postfix) with ESMTP id 016481B9A6 for ; Tue, 6 Aug 2019 09:52:37 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga102.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 06 Aug 2019 00:52:37 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.64,352,1559545200"; d="scan'208";a="202727721" Received: from unknown (HELO dpdk-wenjielx-KVM193.icx.intel.com) ([10.240.176.193]) by fmsmga002.fm.intel.com with ESMTP; 06 Aug 2019 00:52:36 -0700 From: Wenjie Li To: dts@dpdk.org Cc: Wenjie Li Date: Tue, 6 Aug 2019 16:47:27 +0000 Message-Id: <1565110047-28991-2-git-send-email-wenjiex.a.li@intel.com> X-Mailer: git-send-email 1.9.3 In-Reply-To: <1565110047-28991-1-git-send-email-wenjiex.a.li@intel.com> References: <1565110047-28991-1-git-send-email-wenjiex.a.li@intel.com> Subject: [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" 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","fortville_25g", - "fortville_spirit_single", "niantic"], "NIC Unsupported: " + str(self.nic)) + "fortville_spirit_single", "fortpark_TLV", + "niantic", "twinpond", "sagepond", "sageville"], "NIC Unsupported: " + str(self.nic)) # Based on h/w type, choose how many ports to use self.dut_ports = self.dut.get_ports(self.nic) # Verify that enough ports are available @@ -116,6 +118,18 @@ class TestRxTx_Offload(TestCase): """ pass + + def verify_link_up(self, max_delay=10): + ports = self.dut.get_ports(self.nic) + for port_id in range(len(ports)): + out = self.dut.send_expect("show port info %s" % port_id, "testpmd> ") + port_time_up = 0 + while (port_time_up <= max_delay) and ("Link status: down" in out): + time.sleep(1) + out = self.dut.send_expect("show port info %s" % port_id, "testpmd> ") + port_time_up += 1 + self.verify("Link status: down" not in out, "Port %s Link down, please check your link" % port_id) + def check_port_capability(self, rxtx): """ Check capabilities. @@ -147,6 +161,7 @@ class TestRxTx_Offload(TestCase): result_config = self.dut.send_expect("port start 0", "testpmd> ") self.verify("Fail" not in result_config, "Fail to configure port") + self.verify_link_up(20) if rxtx == "rx": outstring = self.dut.send_expect("show port 0 rx_offload configuration", "testpmd> ") @@ -173,6 +188,7 @@ class TestRxTx_Offload(TestCase): result_config = self.dut.send_expect("port start 0", "testpmd> ") self.verify("Fail" not in result_config, "Fail to configure port") + self.verify_link_up(20) acl_offloads = [] if rxtx == "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") 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 offload setting by queue." % self.nic) + # Only support ixgbe NICs + self.verify(self.nic in ["niantic", "twinpond", "sagepond", "sageville"], "%s nic not support rx offload setting by queue." % self.nic) self.pmdout.start_testpmd("%s" % self.cores, "--rxq=4 --txq=4") self.dut.send_expect("set fwd rxonly", "testpmd> ") @@ -425,10 +444,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 @@ class 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 = ["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 @@ class TestRxTx_Offload(TestCase): """ self.pmdout.start_testpmd("%s" % self.cores, "--rxq=4 --txq=4") capabilities = 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 +568,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","fortville_25g", - "fortville_spirit_single",], "%s nic not support rx offload setting by queue." % self.nic) + "fortville_spirit_single", "fortpark_TLV"], "%s nic not support rx offload setting by queue." % self.nic) # Check offload configuration by port and by queue. self.pmdout.start_testpmd("%s" % self.cores, "--rxq=4 --txq=4") offload = ["mbuf_fast_free"] -- 2.17.1