From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id AEC2C41C91; Tue, 14 Feb 2023 07:31:01 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id A58AC42D46; Tue, 14 Feb 2023 07:31:01 +0100 (CET) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by mails.dpdk.org (Postfix) with ESMTP id DEFE542D46 for ; Tue, 14 Feb 2023 07:30:59 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1676356260; x=1707892260; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=e8iMQLcdgWLAfRPzfGa4XQLPdI34JOaD9BdubNcdEKE=; b=MRCCSPeE4Px714WVnk7kc6pIcVKYxbyeG74ICSpxHiHrppejbV7Dm9Od vpXMsATfcO+TXQMzvGBMtZbw7qtor9pvbaHY3fXhqIaURMzECXQOHYNae YEX4aqO9kbY4PunhZtSdFCFbRWCI1F0lPWPQbcEQ9nqffnCmfyCMOsjPX LF/xBjhUfHzqS9i3GIV2x2n3/4WupkFoeED1MD1p91g6XHXG8MK7OGlzt OQ15UvOIsm5P1FUS98s/66BIrIX1+TCEbvKXcmqLRGOrB/z+InIPQ0mYW inwEpmjJqniptFqBVeV/AbCZ5iYZyAc+uiwIZFQf98Y7eH4Z6CQ31X3ih A==; X-IronPort-AV: E=McAfee;i="6500,9779,10620"; a="333228314" X-IronPort-AV: E=Sophos;i="5.97,294,1669104000"; d="scan'208";a="333228314" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Feb 2023 22:30:59 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10620"; a="843051937" X-IronPort-AV: E=Sophos;i="5.97,294,1669104000"; d="scan'208";a="843051937" Received: from dpdk-xuke-lab.sh.intel.com ([10.67.119.8]) by orsmga005.jf.intel.com with ESMTP; 13 Feb 2023 22:30:57 -0800 From: Ke Xu To: dts@dpdk.org Cc: ke1.xu@intel.com, qi.fu@intel.com, lijuan.tu@intel.com, yux.jiang@intel.com, zhiminx.huang@intel.com Subject: [DTS][PATCH V4 3/5] tests/vf_offload: improve vector path validating. Date: Tue, 14 Feb 2023 14:28:38 +0800 Message-Id: <20230214062840.2434213-4-ke1.xu@intel.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230214062840.2434213-1-ke1.xu@intel.com> References: <20230214062840.2434213-1-ke1.xu@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: dts@dpdk.org X-Mailman-Version: 2.1.29 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 For better deployment for daily regression, we introduce a wrapper to add cases for each path. Based on it, we add seperate cases for regression. Signed-off-by: Ke Xu --- tests/TestSuite_vf_offload.py | 176 ++++++++++++++++++++++++++++++++-- 1 file changed, 168 insertions(+), 8 deletions(-) diff --git a/tests/TestSuite_vf_offload.py b/tests/TestSuite_vf_offload.py index d6948738..f3af2379 100644 --- a/tests/TestSuite_vf_offload.py +++ b/tests/TestSuite_vf_offload.py @@ -185,11 +185,13 @@ class TestVfOffload(TestCase): def launch_testpmd(self, **kwargs): dcf_flag = kwargs.get("dcf_flag") + eal_param = kwargs.get("eal_param") if kwargs.get("eal_param") else "" param = kwargs.get("param") if kwargs.get("param") else "" if dcf_flag == "enable": self.vm0_testpmd.start_testpmd( VM_CORES_MASK, param=param, + eal_param=eal_param, ports=[self.vf0_guest_pci, self.vf1_guest_pci], port_options={ self.vf0_guest_pci: "cap=dcf", @@ -197,7 +199,11 @@ class TestVfOffload(TestCase): }, ) else: - self.vm0_testpmd.start_testpmd(VM_CORES_MASK, param=param) + self.vm0_testpmd.start_testpmd( + VM_CORES_MASK, + param=param, + eal_param=eal_param, + ) def checksum_enablehw(self, port, dut): dut.send_expect("port stop all", "testpmd>") @@ -336,7 +342,7 @@ class TestVfOffload(TestCase): ) return result - def test_checksum_offload_enable(self): + def exec_checksum_offload_enable(self, specific_bitwidth=None): """ Enable HW checksum offload. Send packet with incorrect checksum, @@ -346,6 +352,13 @@ class TestVfOffload(TestCase): self.launch_testpmd( dcf_flag=self.dcf_mode, param="--portmask=%s " % (self.portMask) + "--enable-rx-cksum " + "", + eal_param=( + "--force-max-simd-bitwidth=%d " % specific_bitwidth + + "--log-level='iavf,7' " + + "--log-level='dcf,7' " + ) + if (not specific_bitwidth is None) + else "", ) self.vm0_testpmd.execute_cmd("set fwd csum") self.vm0_testpmd.execute_cmd("csum mac-swap off 0", "testpmd>") @@ -400,7 +413,7 @@ class TestVfOffload(TestCase): self.verify(len(result) == 0, ",".join(list(result.values()))) - def test_checksum_offload_vlan_enable(self): + def exec_checksum_offload_vlan_enable(self, specific_bitwidth=None): """ Enable HW checksum offload. Send packet with incorrect checksum, @@ -410,6 +423,13 @@ class TestVfOffload(TestCase): self.launch_testpmd( dcf_flag=self.dcf_mode, param="--portmask=%s " % (self.portMask) + "--enable-rx-cksum " + "", + eal_param=( + "--force-max-simd-bitwidth=%d " % specific_bitwidth + + "--log-level='iavf,7' " + + "--log-level='dcf,7' " + ) + if (not specific_bitwidth is None) + else "", ) self.vm0_testpmd.execute_cmd("set fwd csum") self.vm0_testpmd.execute_cmd("csum mac-swap off 0", "testpmd>") @@ -468,7 +488,7 @@ class TestVfOffload(TestCase): ["ICE_100G-E810C_QSFP", "ICE_25G-E810C_SFP", "ICE_25G-E810_XXV_SFP"] ) @skip_unsupported_pkg(["os default"]) - def test_checksum_offload_tunnel_enable(self): + def exec_checksum_offload_tunnel_enable(self, specific_bitwidth=None): """ Enable HW checksum offload. Send packet with inner and outer incorrect checksum, @@ -478,6 +498,13 @@ class TestVfOffload(TestCase): self.launch_testpmd( dcf_flag=self.dcf_mode, param="--portmask=%s " % (self.portMask) + "--enable-rx-cksum " + "", + eal_param=( + "--force-max-simd-bitwidth=%d " % specific_bitwidth + + "--log-level='iavf,7' " + + "--log-level='dcf,7' " + ) + if (not specific_bitwidth is None) + else "", ) self.vm0_testpmd.execute_cmd("set fwd csum") self.vm0_testpmd.execute_cmd("set promisc 1 on") @@ -612,7 +639,7 @@ class TestVfOffload(TestCase): ["ICE_100G-E810C_QSFP", "ICE_25G-E810C_SFP", "ICE_25G-E810_XXV_SFP"] ) @skip_unsupported_pkg(["os default"]) - def test_checksum_offload_vlan_tunnel_enable(self): + def exec_checksum_offload_vlan_tunnel_enable(self, specific_bitwidth=None): """ Enable HW checksum offload. Send packet with inner and outer incorrect checksum, @@ -622,6 +649,13 @@ class TestVfOffload(TestCase): self.launch_testpmd( dcf_flag=self.dcf_mode, param="--portmask=%s " % (self.portMask) + "--enable-rx-cksum " + "", + eal_param=( + "--force-max-simd-bitwidth=%d " % specific_bitwidth + + "--log-level='iavf,7' " + + "--log-level='dcf,7' " + ) + if (not specific_bitwidth is None) + else "", ) self.vm0_testpmd.execute_cmd("set fwd csum") self.vm0_testpmd.execute_cmd("set promisc 1 on") @@ -752,7 +786,7 @@ class TestVfOffload(TestCase): self.verify(len(result) == 0, ",".join(list(result.values()))) - def test_checksum_offload_disable(self): + def exec_checksum_offload_disable(self, specific_bitwidth=None): """ Enable SW checksum offload. Send same packet with incorrect checksum and verify checksum is valid. @@ -761,6 +795,13 @@ class TestVfOffload(TestCase): self.launch_testpmd( dcf_flag=self.dcf_mode, param="--portmask=%s " % (self.portMask) + "--enable-rx-cksum " + "", + eal_param=( + "--force-max-simd-bitwidth=%d " % specific_bitwidth + + "--log-level='iavf,7' " + + "--log-level='dcf,7' " + ) + if (not specific_bitwidth is None) + else "", ) self.vm0_testpmd.execute_cmd("set fwd csum") self.vm0_testpmd.execute_cmd("csum mac-swap off 0", "testpmd>") @@ -812,6 +853,81 @@ class TestVfOffload(TestCase): self.verify(len(result) == 0, ",".join(list(result.values()))) + def test_checksum_offload_enable(self): + self.exec_checksum_offload_enable() + + def test_checksum_offload_enable_scalar(self): + self.exec_checksum_offload_enable(specific_bitwidth=64) + + def test_checksum_offload_enable_sse(self): + self.exec_checksum_offload_enable(specific_bitwidth=128) + + def test_checksum_offload_enable_avx2(self): + self.exec_checksum_offload_enable(specific_bitwidth=256) + + def test_checksum_offload_enable_avx512(self): + self.exec_checksum_offload_enable(specific_bitwidth=512) + + def test_checksum_offload_vlan_enable(self): + self.exec_checksum_offload_vlan_enable() + + def test_checksum_offload_vlan_enable_scalar(self): + self.exec_checksum_offload_vlan_enable(specific_bitwidth=64) + + def test_checksum_offload_vlan_enable_sse(self): + self.exec_checksum_offload_vlan_enable(specific_bitwidth=128) + + def test_checksum_offload_vlan_enable_avx2(self): + self.exec_checksum_offload_vlan_enable(specific_bitwidth=256) + + def test_checksum_offload_vlan_enable_avx512(self): + self.exec_checksum_offload_vlan_enable(specific_bitwidth=512) + + def test_checksum_offload_tunnel_enable(self): + self.exec_checksum_offload_tunnel_enable() + + def test_checksum_offload_tunnel_enable_scalar(self): + self.exec_checksum_offload_tunnel_enable(specific_bitwidth=64) + + def test_checksum_offload_tunnel_enable_sse(self): + self.exec_checksum_offload_tunnel_enable(specific_bitwidth=128) + + def test_checksum_offload_tunnel_enable_avx2(self): + self.exec_checksum_offload_tunnel_enable(specific_bitwidth=256) + + def test_checksum_offload_tunnel_enable_avx512(self): + self.exec_checksum_offload_tunnel_enable(specific_bitwidth=512) + + def test_checksum_offload_vlan_tunnel_enable(self): + self.exec_checksum_offload_vlan_tunnel_enable() + + def test_checksum_offload_vlan_tunnel_enable_scalar(self): + self.exec_checksum_offload_vlan_tunnel_enable(specific_bitwidth=64) + + def test_checksum_offload_vlan_tunnel_enable_sse(self): + self.exec_checksum_offload_vlan_tunnel_enable(specific_bitwidth=128) + + def test_checksum_offload_vlan_tunnel_enable_avx2(self): + self.exec_checksum_offload_vlan_tunnel_enable(specific_bitwidth=256) + + def test_checksum_offload_vlan_tunnel_enable_avx512(self): + self.exec_checksum_offload_vlan_tunnel_enable(specific_bitwidth=512) + + def test_checksum_offload_disable(self): + self.exec_checksum_offload_disable() + + def test_checksum_offload_disable_scalar(self): + self.exec_checksum_offload_disable(specific_bitwidth=64) + + def test_checksum_offload_disable_sse(self): + self.exec_checksum_offload_disable(specific_bitwidth=128) + + def test_checksum_offload_disable_avx2(self): + self.exec_checksum_offload_disable(specific_bitwidth=256) + + def test_checksum_offload_disable_avx512(self): + self.exec_checksum_offload_disable(specific_bitwidth=512) + def tcpdump_start_sniffing(self, ifaces=[]): """ Start tcpdump in the background to sniff the tester interface where @@ -1015,7 +1131,7 @@ class TestVfOffload(TestCase): validate_result.append(result_message) return validate_result - def test_tso(self): + def exec_tso(self, specific_bitwidth=None): """ TSO IPv4 TCP, IPv6 TCP testing. """ @@ -1057,6 +1173,13 @@ class TestVfOffload(TestCase): param="--portmask=0x3 " + "--enable-rx-cksum " + "--max-pkt-len=%s" % TSO_MTU, + eal_param=( + "--force-max-simd-bitwidth=%d " % specific_bitwidth + + "--log-level='iavf,7' " + + "--log-level='dcf,7' " + ) + if (not specific_bitwidth is None) + else "", ) mac = self.vm0_testpmd.get_port_mac(0) @@ -1091,7 +1214,7 @@ class TestVfOffload(TestCase): ["ICE_100G-E810C_QSFP", "ICE_25G-E810C_SFP", "ICE_25G-E810_XXV_SFP"] ) @skip_unsupported_pkg(["os default"]) - def test_tso_tunnel(self): + def exec_tso_tunnel(self, specific_bitwidth=None): """ TSO tunneled IPv4 TCP, IPv6 TCP testing. """ @@ -1133,6 +1256,13 @@ class TestVfOffload(TestCase): param="--portmask=0x3 " + "--enable-rx-cksum " + "--max-pkt-len=%s" % TSO_MTU, + eal_param=( + "--force-max-simd-bitwidth=%d " % specific_bitwidth + + "--log-level='iavf,7' " + + "--log-level='dcf,7' " + ) + if (not specific_bitwidth is None) + else "", ) mac = self.vm0_testpmd.get_port_mac(0) @@ -1184,6 +1314,36 @@ class TestVfOffload(TestCase): ) self.verify(len(validate_result) == 0, ",".join(list(validate_result))) + def test_tso(self): + self.exec_tso() + + def test_tso_scalar(self): + self.exec_tso(specific_bitwidth=64) + + def test_tso_sse(self): + self.exec_tso(specific_bitwidth=128) + + def test_tso_avx2(self): + self.exec_tso(specific_bitwidth=256) + + def test_tso_avx512(self): + self.exec_tso(specific_bitwidth=512) + + def test_tso_tunnel(self): + self.exec_tso_tunnel() + + def test_tso_tunnel_scalar(self): + self.exec_tso_tunnel(specific_bitwidth=64) + + def test_tso_tunnel_sse(self): + self.exec_tso_tunnel(specific_bitwidth=128) + + def test_tso_tunnel_avx2(self): + self.exec_tso_tunnel(specific_bitwidth=256) + + def test_tso_tunnel_avx512(self): + self.exec_tso_tunnel(specific_bitwidth=512) + def tear_down(self): self.vm0_testpmd.execute_cmd("quit", "# ") self.dut.send_expect( -- 2.25.1