From patchwork Tue May 24 02:12:28 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Huang, ZhiminX" X-Patchwork-Id: 111662 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id E2796A04FF; Tue, 24 May 2022 04:12:59 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B8EDE4067C; Tue, 24 May 2022 04:12:59 +0200 (CEST) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mails.dpdk.org (Postfix) with ESMTP id B58394014F for ; Tue, 24 May 2022 04:12:58 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1653358378; x=1684894378; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=Al+Wqa/OA9kBnLFlHtV15ycYf6+z+D/Zc/k9o73bSXU=; b=d829hpHKtULM2IpkAOIYfxYbxHWel5xdh+mCAMq+CmtxSeX7siSmWtW0 na94kT7uq2vzsMWtb2vRIjYtx+xzugTAP6Ks7MzN2Bo8t8Lt3ghPzy0tv CUtRvWsk8IhL62/tQslPbsH9hK1CEt0OLR/UcllmORZscvWOyFs2BhxYU DOImbxabeCcm58A/fYk/us3PbZSxacEZtP5C5SotV5D+u65WZfrA2vVHu /I+wQhtpd6ptj/3CUj5A7GxwHKdm82wbgNPEjv+thp8pq2Kw7yTzs1MMI rjyEeSS4ntS/rK9E54dpnNuFagJ/hbkmX07PXvC2OwqDSap1/+pxCNARG w==; X-IronPort-AV: E=McAfee;i="6400,9594,10356"; a="273133538" X-IronPort-AV: E=Sophos;i="5.91,247,1647327600"; d="scan'208";a="273133538" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 May 2022 19:12:38 -0700 X-IronPort-AV: E=Sophos;i="5.91,247,1647327600"; d="scan'208";a="600981813" Received: from unknown (HELO daily-regression-131.intel.com) ([10.239.251.131]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 May 2022 19:12:36 -0700 From: Zhimin Huang To: dts@dpdk.org Cc: Zhimin Huang Subject: [dts][PATCH V1 1/5] tests/rte_flow_common:modify check mismatch pkts test Date: Tue, 24 May 2022 10:12:28 +0800 Message-Id: <20220524021232.32762-1-zhiminx.huang@intel.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 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 ipfragment test,the mismatch pkt no need to send with fragment. so modify rte_flow_common to adapt test steps changed. Signed-off-by: Zhimin Huang --- tests/rte_flow_common.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/tests/rte_flow_common.py b/tests/rte_flow_common.py index 45446521..dfd56d2a 100644 --- a/tests/rte_flow_common.py +++ b/tests/rte_flow_common.py @@ -1389,14 +1389,15 @@ class FdirProcessing(object): self.verify = self.test_case.verify self.ipfrag_flag = ipfrag_flag - def send_pkt_get_output(self, pkts, port_id=0, count=1, interval=0, drop=False): + def send_pkt_get_output(self, pkts, port_id=0, count=1, interval=0, drop=False, **kwargs): tx_port = self.tester_ifaces[0] if port_id == 0 else self.tester_ifaces[1] self.logger.info("----------send packet-------------") self.logger.info("{}".format(pkts)) + mismatch_flag = kwargs.get("mismatch") if drop: self.pmd_output.execute_cmd("clear port stats all") time.sleep(1) - if self.ipfrag_flag == True: + if self.ipfrag_flag == True and not mismatch_flag: send_ipfragment_pkt(self.test_case, pkts, tx_port) else: self.pkt.update_pkt(pkts) @@ -1410,7 +1411,7 @@ class FdirProcessing(object): self.pmd_output.execute_cmd("start") return out else: - if self.ipfrag_flag == True: + if self.ipfrag_flag == True and not mismatch_flag: count = 2 send_ipfragment_pkt(self.test_case, pkts, tx_port) else: @@ -1623,11 +1624,11 @@ class FdirProcessing(object): # send and check unmatched packets out2 = self.send_pkt_get_output( - pkts=tv["scapy_str"]["unmatched"], port_id=port_id, drop=drop + pkts=tv["scapy_str"]["unmatched"], port_id=port_id, drop=drop, mismatch=True ) check_mark( out2, - pkt_num=len(tv["scapy_str"]["unmatched"]) * 2 + pkt_num=len(tv["scapy_str"]["unmatched"]) if self.ipfrag_flag else len(tv["scapy_str"]["unmatched"]), check_param=tv["check_param"], From patchwork Tue May 24 02:12:29 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Huang, ZhiminX" X-Patchwork-Id: 111663 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 22086A04FF; Tue, 24 May 2022 04:13:02 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id F398E40A87; Tue, 24 May 2022 04:13:01 +0200 (CEST) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mails.dpdk.org (Postfix) with ESMTP id 2F92A4067B for ; Tue, 24 May 2022 04:12:59 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1653358380; x=1684894380; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=AJozrbSOMvLolBcv6lWJAccGF/hG5TejeviF9ssbXB8=; b=LrO/ZB4qtZ4RqSnGqoWzZzr4O8fhNmSleX/fslCW/VZIxQuHr+Zi7992 zBQ9mcdliIUk915Cy8LfJbR+ztzJviKpLAScIve+ym5dimBbNNPqm6gNr 4xqqxZBemgVVY+KoiPtmrNWn3GVx3V80T7JzwWqLZm6UBqu74MuQmmmaH kLcSAV20s/Rbs8sCeBRYHBza7C+5+zqFNDPbiOJJmN1Wm6DuXBxrk7IVi pYtRPwuOyEiwRRkOOWrarVw3fm+ypLIfg0mt1zRTB9QJ8/P49aYSqVOP1 Br31KUQMuAi7KSm9b6k/FSmjCmfPpEfIxeoZSRFq4Ag2trMtTlIUUzCY2 w==; X-IronPort-AV: E=McAfee;i="6400,9594,10356"; a="273133543" X-IronPort-AV: E=Sophos;i="5.91,247,1647327600"; d="scan'208";a="273133543" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 May 2022 19:12:39 -0700 X-IronPort-AV: E=Sophos;i="5.91,247,1647327600"; d="scan'208";a="600981826" Received: from unknown (HELO daily-regression-131.intel.com) ([10.239.251.131]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 May 2022 19:12:38 -0700 From: Zhimin Huang To: dts@dpdk.org Cc: Zhimin Huang Subject: [dts][PATCH V1 2/5] tests/ice_ip_fragment_rte_flow:extend mismatch pkts Date: Tue, 24 May 2022 10:12:29 +0800 Message-Id: <20220524021232.32762-2-zhiminx.huang@intel.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220524021232.32762-1-zhiminx.huang@intel.com> References: <20220524021232.32762-1-zhiminx.huang@intel.com> MIME-Version: 1.0 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 mismatch pkt should cover mismatch inputset pkts and mismatch pattern pkts. extend mismatch pkts to cover more test. Signed-off-by: Zhimin Huang --- tests/TestSuite_ice_ip_fragment_rte_flow.py | 36 ++++++++++++++------- 1 file changed, 24 insertions(+), 12 deletions(-) diff --git a/tests/TestSuite_ice_ip_fragment_rte_flow.py b/tests/TestSuite_ice_ip_fragment_rte_flow.py index 3acf3250..da3e51bd 100644 --- a/tests/TestSuite_ice_ip_fragment_rte_flow.py +++ b/tests/TestSuite_ice_ip_fragment_rte_flow.py @@ -48,7 +48,8 @@ tv_mac_ipv4_frag_fdir_queue_index = { "rule": "flow create 0 ingress pattern eth / ipv4 fragment_offset spec 0x2000 fragment_offset mask 0x2000 / end actions queue index 1 / mark / end", "scapy_str": { "matched": ["Ether()/IP(id=47750)/Raw('X'*666)"], - "unmatched": ["Ether()/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666)"], + "unmatched": ["Ether()/IP()/Raw('X'*666)", + "Ether()/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666)"], }, "check_param": {"port_id": 0, "rxq": LAUNCH_QUEUE, "queue": 1, "mark_id": 0}, } @@ -60,7 +61,8 @@ tv_mac_ipv4_frag_fdir_rss_queues = { ], "scapy_str": { "matched": ["Ether()/IP(id=47750)/Raw('X'*666)"], - "unmatched": ["Ether()/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666)"], + "unmatched": ["Ether()/IP()/Raw('X'*666)", + "Ether()/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666)"], }, "check_param": {"port_id": 0, "rxq": LAUNCH_QUEUE, "queue": [2, 3], "mark_id": 0}, } @@ -70,7 +72,8 @@ tv_mac_ipv4_frag_fdir_passthru = { "rule": "flow create 0 ingress pattern eth / ipv4 fragment_offset spec 0x2000 fragment_offset mask 0x2000 / end actions passthru / mark / end", "scapy_str": { "matched": ["Ether()/IP(id=47750)/Raw('X'*666)"], - "unmatched": ["Ether()/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666)"], + "unmatched": ["Ether()/IP()/Raw('X'*666)", + "Ether()/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666)"], }, "check_param": {"port_id": 0, "rxq": LAUNCH_QUEUE, "mark_id": 0, "rss": True}, } @@ -80,7 +83,8 @@ tv_mac_ipv4_frag_fdir_drop = { "rule": "flow create 0 ingress pattern eth / ipv4 fragment_offset spec 0x2000 fragment_offset mask 0x2000 / end actions drop / mark / end", "scapy_str": { "matched": ["Ether()/IP(id=47750)/Raw('X'*666)"], - "unmatched": ["Ether()/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666)"], + "unmatched": ["Ether()/IP()/Raw('X'*666)", + "Ether()/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666)"], }, "check_param": {"port_id": 0, "rxq": LAUNCH_QUEUE, "drop": True}, } @@ -90,7 +94,8 @@ tv_mac_ipv4_frag_fdir_mark_rss = { "rule": "flow create 0 ingress pattern eth / ipv4 fragment_offset spec 0x2000 fragment_offset mask 0x2000 / end actions mark / rss / end", "scapy_str": { "matched": ["Ether()/IP(id=47750)/Raw('X'*666)"], - "unmatched": ["Ether()/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666)"], + "unmatched": ["Ether()/IP()/Raw('X'*666)", + "Ether()/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666)"], }, "check_param": {"port_id": 0, "rxq": LAUNCH_QUEUE, "mark_id": 0, "rss": True}, } @@ -100,7 +105,8 @@ tv_mac_ipv4_frag_fdir_mark = { "rule": "flow create 0 ingress pattern eth / ipv4 fragment_offset spec 0x2000 fragment_offset mask 0x2000 / end actions mark id 1 / end", "scapy_str": { "matched": ["Ether()/IP(id=47750)/Raw('X'*666)"], - "unmatched": ["Ether()/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666)"], + "unmatched": ["Ether()/IP()/Raw('X'*666)", + "Ether()/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666)"], }, "check_param": {"port_id": 0, "rxq": LAUNCH_QUEUE, "mark_id": 1}, } @@ -158,7 +164,8 @@ tv_mac_ipv6_frag_fdir_queue_index = { "rule": "flow create 0 ingress pattern eth / ipv6 / ipv6_frag_ext frag_data spec 0x0001 frag_data mask 0x0001 / end actions queue index 1 / mark / end", "scapy_str": { "matched": ["Ether()/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666)"], - "unmatched": ["Ether()/IP(id=47750)/Raw('X'*666)"], + "unmatched": ["Ether()/IPv6()/Raw('X'*666)", + "Ether()/IP(id=47750)/Raw('X'*666)"], }, "check_param": {"port_id": 0, "rxq": LAUNCH_QUEUE, "queue": 1, "mark_id": 0}, } @@ -170,7 +177,8 @@ tv_mac_ipv6_frag_fdir_rss_queues = { ], "scapy_str": { "matched": ["Ether()/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666)"], - "unmatched": ["Ether()/IP(id=47750)/Raw('X'*666)"], + "unmatched": ["Ether()/IPv6()/Raw('X'*666)", + "Ether()/IP(id=47750)/Raw('X'*666)"], }, "check_param": {"port_id": 0, "rxq": LAUNCH_QUEUE, "queue": [2, 3], "mark_id": 0}, } @@ -180,7 +188,8 @@ tv_mac_ipv6_frag_fdir_passthru = { "rule": "flow create 0 ingress pattern eth / ipv6 / ipv6_frag_ext frag_data spec 0x0001 frag_data mask 0x0001 / end actions passthru / mark / end", "scapy_str": { "matched": ["Ether()/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666)"], - "unmatched": ["Ether()/IP(id=47750)/Raw('X'*666)"], + "unmatched": ["Ether()/IPv6()/Raw('X'*666)", + "Ether()/IP(id=47750)/Raw('X'*666)"], }, "check_param": {"port_id": 0, "rxq": LAUNCH_QUEUE, "mark_id": 0, "rss": True}, } @@ -190,7 +199,8 @@ tv_mac_ipv6_frag_fdir_drop = { "rule": "flow create 0 ingress pattern eth / ipv6 / ipv6_frag_ext frag_data spec 0x0001 frag_data mask 0x0001 / end actions drop / mark / end", "scapy_str": { "matched": ["Ether()/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666)"], - "unmatched": ["Ether()/IP(id=47750)/Raw('X'*666)"], + "unmatched": ["Ether()/IPv6()/Raw('X'*666)", + "Ether()/IP(id=47750)/Raw('X'*666)"], }, "check_param": {"port_id": 0, "rxq": LAUNCH_QUEUE, "drop": True}, } @@ -200,7 +210,8 @@ tv_mac_ipv6_frag_fdir_mark_rss = { "rule": "flow create 0 ingress pattern eth / ipv6 / ipv6_frag_ext frag_data spec 0x0001 frag_data mask 0x0001 / end actions mark / rss / end", "scapy_str": { "matched": ["Ether()/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666)"], - "unmatched": ["Ether()/IP(id=47750)/Raw('X'*666)"], + "unmatched": ["Ether()/IPv6()/Raw('X'*666)", + "Ether()/IP(id=47750)/Raw('X'*666)"], }, "check_param": {"port_id": 0, "rxq": LAUNCH_QUEUE, "mark_id": 0, "rss": True}, } @@ -210,7 +221,8 @@ tv_mac_ipv6_frag_fdir_mark = { "rule": "flow create 0 ingress pattern eth / ipv6 / ipv6_frag_ext frag_data spec 0x0001 frag_data mask 0x0001 / end actions mark id 1 / end", "scapy_str": { "matched": ["Ether()/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666)"], - "unmatched": ["Ether()/IP(id=47750)/Raw('X'*666)"], + "unmatched": ["Ether()/IPv6()/Raw('X'*666)", + "Ether()/IP(id=47750)/Raw('X'*666)"], }, "check_param": {"port_id": 0, "rxq": LAUNCH_QUEUE, "mark_id": 1}, } From patchwork Tue May 24 02:12:30 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Huang, ZhiminX" X-Patchwork-Id: 111664 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 6C59EA0501; Tue, 24 May 2022 04:13:02 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 47E5942685; Tue, 24 May 2022 04:13:02 +0200 (CEST) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mails.dpdk.org (Postfix) with ESMTP id 1407140A87 for ; Tue, 24 May 2022 04:12:59 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1653358380; x=1684894380; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=CqGRuf1oU4teydbP5lAm7u6rOBv0+OPAoZ/B3SlIw9w=; b=drHdTrjUOB0gziiDn2OF3PXX8ovRuyhgbiCUL/T+atBItc6KULqbIS/X yfk4Ko/UtgHTBuMfuOIsbatEDRATGYsG5nMnLYev3D9xJXfmTUl0mtbbj DgH9USKI/R7nFDpgSIfwcMIrorEeTHqPOGcQV5X0a66B7oRwD+xKbRkDh RWHsx3QIgoRPqOQB3/WL6fNZ45Eyn8uUpybY6osvPnqwsxytoXgJWVpzy vCJf8+k3amVopTQusKbhcIYq9TzH07BPFzYIcWj/hl+dtVg8UdyZalvxD gIBChrO2ZkAu85143JUOC5RjmbrgcM8AIt0OT9PFPPb8BUHkU8OZUE/4t w==; X-IronPort-AV: E=McAfee;i="6400,9594,10356"; a="273133546" X-IronPort-AV: E=Sophos;i="5.91,247,1647327600"; d="scan'208";a="273133546" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 May 2022 19:12:41 -0700 X-IronPort-AV: E=Sophos;i="5.91,247,1647327600"; d="scan'208";a="600981844" Received: from unknown (HELO daily-regression-131.intel.com) ([10.239.251.131]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 May 2022 19:12:39 -0700 From: Zhimin Huang To: dts@dpdk.org Cc: Zhimin Huang Subject: [dts][PATCH V1 3/5] test_plans/ice_ip_fragment_rte_flow:extend mismatch pkts Date: Tue, 24 May 2022 10:12:30 +0800 Message-Id: <20220524021232.32762-3-zhiminx.huang@intel.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220524021232.32762-1-zhiminx.huang@intel.com> References: <20220524021232.32762-1-zhiminx.huang@intel.com> MIME-Version: 1.0 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 1.add more info for ipfragment rule. 2.mismatch pkt should cover mismatch inputset pkts and mismatch pattern pkts. Signed-off-by: Zhimin Huang --- .../ice_ip_fragment_rte_flow_test_plan.rst | 72 ++++++++++++------- 1 file changed, 46 insertions(+), 26 deletions(-) diff --git a/test_plans/ice_ip_fragment_rte_flow_test_plan.rst b/test_plans/ice_ip_fragment_rte_flow_test_plan.rst index 18e0ad28..34b8efdc 100644 --- a/test_plans/ice_ip_fragment_rte_flow_test_plan.rst +++ b/test_plans/ice_ip_fragment_rte_flow_test_plan.rst @@ -118,6 +118,11 @@ take 'MAC_IPV4_FRAG fdir queue index' for fdir example flow create 0 ingress pattern eth / ipv4 fragment_offset spec 0x2000 fragment_offset mask 0x2000 / end actions queue index 1 / mark / end Flow rule #0 created +.. note:: + + For ipfragment rule, it's a fixed combination for parser to know that a fragment pkt. + dpdk care about the bit 12-13 of fragment offset, so the valid range is 0x2000-0x1fff, the spec is 0x2000 and mask is 0x2000. + 2. send matched pkts and check two pkts distributed to queue 1, `RSS hash=0x261a7deb - RSS queue=0x1` in output:: scapy: @@ -136,17 +141,16 @@ take 'MAC_IPV4_FRAG fdir queue index' for fdir example 3. send mismatched pkts and check fdir id is none:: scapy: - p = Ether()/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666) - pkts=fragment6(p, 500) - sendp(pkts, iface="enp1s0") + Ether()/IP()/Raw('X'*666) + Ether()/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666) + sendp(p, iface="enp1s0") - Sent 2 packets. - dut.10.240.183.133: port 0/queue 3: received 1 packets - src=00:00:00:00:00:00 - dst=FF:FF:FF:FF:FF:FF - type=0x86dd - length=494 - nb_segs=1 - RSS hash=0xe5ae2d03 - RSS queue=0x3 - hw ptype: L2_ETHER L3_IPV6_EXT_UNKNOWN L4_FRAG - sw ptype: L2_ETHER L3_IPV6_EXT L4_FRAG - l2_len=14 - l3_len=48 - l4_len=0 - Receive queue=0x3 - ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD PKT_RX_OUTER_L4_CKSUM_GOOD - port 0/queue 3: received 1 packets - src=00:00:00:00:00:00 - dst=FF:FF:FF:FF:FF:FF - type=0x86dd - length=296 - nb_segs=1 - RSS hash=0xe5ae2d03 - RSS queue=0x3 - hw ptype: L2_ETHER L3_IPV6_EXT_UNKNOWN L4_FRAG - sw ptype: L2_ETHER L3_IPV6_EXT L4_FRAG - l2_len=14 - l3_len=48 - l4_len=0 - Receive queue=0x3 - ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD PKT_RX_OUTER_L4_CKSUM_GOOD + port 0/queue 11: received 1 packets + src=00:00:00:00:00:00 - dst=FF:FF:FF:FF:FF:FF - type=0x0800 - length=700 - nb_segs=1 - RSS hash=0x7bd13a5b - RSS queue=0xb - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_NONFRAG - sw ptype: L2_ETHER L3_IPV4 - l2_len=14 - l3_len=20 - Receive queue=0xb + ol_flags: RTE_MBUF_F_RX_RSS_HASH RTE_MBUF_F_RX_L4_CKSUM_GOOD RTE_MBUF_F_RX_IP_CKSUM_GOOD RTE_MBUF_F_RX_OUTER_L4_CKSUM_GOOD + port 0/queue 0: received 1 packets + src=00:00:00:00:00:00 - dst=FF:FF:FF:FF:FF:FF - type=0x86dd - length=728 - nb_segs=1 - hw ptype: L2_ETHER L3_IPV6_EXT_UNKNOWN L4_FRAG - sw ptype: L2_ETHER L3_IPV6_EXT L4_FRAG - l2_len=14 - l3_len=48 - l4_len=0 - Receive queue=0x0 + ol_flags: RTE_MBUF_F_RX_L4_CKSUM_GOOD RTE_MBUF_F_RX_IP_CKSUM_GOOD RTE_MBUF_F_RX_OUTER_L4_CKSUM_GOOD 4. destroy rule re-send step 2 pkts and check fdir id is none:: @@ -255,7 +259,8 @@ Subcase 1: MAC_IPV4_FRAG fdir queue index 3. unmatched packets:: - p=Ether()/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666); pkt=fragment6(p, 500) + Ether()/IP()/Raw('X'*666) + Ether()/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666) Subcase 2: MAC_IPV4_FRAG fdir rss queues ----------------------------------------- @@ -270,7 +275,8 @@ Subcase 2: MAC_IPV4_FRAG fdir rss queues 3. unmatched packets:: - p=Ether()/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666); pkt=fragment6(p, 500) + Ether()/IP()/Raw('X'*666) + Ether()/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666) Subcase 3: MAC_IPV4_FRAG fdir passthru -------------------------------------- @@ -285,7 +291,8 @@ Subcase 3: MAC_IPV4_FRAG fdir passthru 3. unmatched packets:: - p=Ether()/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666); pkt=fragment6(p, 500) + Ether()/IP()/Raw('X'*666) + Ether()/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666) Subcase 4: MAC_IPV4_FRAG fdir drop ---------------------------------- @@ -300,7 +307,8 @@ Subcase 4: MAC_IPV4_FRAG fdir drop 3. unmatched packets:: - p=Ether()/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666); pkt=fragment6(p, 500) + Ether()/IP()/Raw('X'*666) + Ether()/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666) Subcase 5: MAC_IPV4_FRAG fdir mark+rss -------------------------------------- @@ -315,7 +323,8 @@ Subcase 5: MAC_IPV4_FRAG fdir mark+rss 3. unmatched packets:: - p=Ether()/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666); pkt=fragment6(p, 500) + Ether()/IP()/Raw('X'*666) + Ether()/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666) Subcase 6: MAC_IPV4_FRAG fdir mark ---------------------------------- @@ -330,7 +339,8 @@ Subcase 6: MAC_IPV4_FRAG fdir mark 3. unmatched packets:: - p=Ether()/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666); pkt=fragment6(p, 500) + Ether()/IP()/Raw('X'*666) + Ether()/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666) Test case: MAC_IPV6_FRAG pattern fdir fragment ============================================== @@ -348,7 +358,8 @@ Subcase 1: MAC_IPV6_FRAG fdir queue index 3. unmatched packets:: - p=Ether()/IP(id=47750)/Raw('X'*666); pkts=fragment(p, 500) + Ether()/IPv6()/Raw('X'*666) + Ether()/IP(id=47750)/Raw('X'*666) Subcase 2: MAC_IPV6_FRAG fdir rss queues ---------------------------------------- @@ -363,7 +374,8 @@ Subcase 2: MAC_IPV6_FRAG fdir rss queues 3. unmatched packets:: - p=Ether()/IP(id=47750)/Raw('X'*666); pkts=fragment(p, 500) + Ether()/IPv6()/Raw('X'*666) + Ether()/IP(id=47750)/Raw('X'*666) Subcase 3: MAC_IPV6_FRAG fdir passthru -------------------------------------- @@ -378,7 +390,8 @@ Subcase 3: MAC_IPV6_FRAG fdir passthru 3. unmatched packets:: - p=Ether()/IP(id=47750)/Raw('X'*666); pkts=fragment(p, 500) + Ether()/IPv6()/Raw('X'*666) + Ether()/IP(id=47750)/Raw('X'*666) Subcase 4: MAC_IPV6_FRAG fdir drop ---------------------------------- @@ -393,7 +406,8 @@ Subcase 4: MAC_IPV6_FRAG fdir drop 3. unmatched packets:: - p=Ether()/IP(id=47750)/Raw('X'*666); pkts=fragment(p, 500) + Ether()/IPv6()/Raw('X'*666) + Ether()/IP(id=47750)/Raw('X'*666) Subcase 5: MAC_IPV6_FRAG fdir mark+rss -------------------------------------- @@ -408,7 +422,8 @@ Subcase 5: MAC_IPV6_FRAG fdir mark+rss 3. unmatched packets:: - p=Ether()/IP(id=47750)/Raw('X'*666); pkts=fragment(p, 500) + Ether()/IPv6()/Raw('X'*666) + Ether()/IP(id=47750)/Raw('X'*666) Subcase 6: MAC_IPV6_FRAG fdir mark ---------------------------------- @@ -423,7 +438,8 @@ Subcase 6: MAC_IPV6_FRAG fdir mark 3. unmatched packets:: - p=Ether()/IP(id=47750)/Raw('X'*666); pkts=fragment(p, 500) + Ether()/IPv6()/Raw('X'*666) + Ether()/IP(id=47750)/Raw('X'*666) Test case: MAC_IPV4_FRAG_fdir_with_l2 ===================================== @@ -444,7 +460,8 @@ take 'mac_ipv4_frag_l2dst_fdir_queue_index' example:: 3.unmatched packets: - p=Ether(dst='00:00:00:00:00:01')/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666); pkts=fragment6(p, 500) + Ether(dst='00:00:00:00:00:01')/IP()/Raw('X'*666) + Ether(dst='00:00:00:00:00:01')/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666) .. note:: @@ -469,7 +486,8 @@ take 'mac_ipv6_frag_l2dst_fdir_queue_index' example:: 3.unmatched packets: - p=Ether(dst='00:00:00:00:00:01')/IP(id=47750)/Raw('X'*666); pkts=fragment(p, fragsize=500) + Ether(dst='00:00:00:00:00:01')/IPv6()/Raw('X'*666) + Ether(dst='00:00:00:00:00:01')/IP(id=47750)/Raw('X'*666) .. note:: @@ -495,7 +513,8 @@ take 'mac_ipv4_frag_l3src_fdir_queue_index' example:: 3.unmatched packets: - p=Ether()/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666); pkts=fragment6(p, 500) + Ether()/IP(src='192.168.1.1')/Raw('X'*666) + Ether()/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666) subcase 1: MAC_IPV4_FRAG_fdir_with_l3dst ---------------------------------------- @@ -522,7 +541,8 @@ take 'mac_ipv6_frag_l3src_fdir_queue_index' example:: 3.unmatched packets: - p=Ether()/IP(id=47750, src='192.168.1.1')/Raw('X'*666); pkts=fragment(p, fragsize=500) + Ether()/IPv6(src='2001::1')/Raw('X'*666) + Ether()/IP(id=47750)/Raw('X'*666) subcase 1: MAC_IPV6_FRAG_fdir_with_l3dst ---------------------------------------- From patchwork Tue May 24 02:12:31 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Huang, ZhiminX" X-Patchwork-Id: 111665 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 7A47DA04FF; Tue, 24 May 2022 04:13:04 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 711284067B; Tue, 24 May 2022 04:13:04 +0200 (CEST) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mails.dpdk.org (Postfix) with ESMTP id F13A54014F for ; Tue, 24 May 2022 04:13:00 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1653358382; x=1684894382; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=7985IlcdFygQVgpnMmTyFSc7//7wxOS7RkbErUEXPy8=; b=QSzU1ayNZjxPJvRVZYtgELSeDxzFXn/sgTIzOn2lOwjkaNKXaC7VrSiR ruJbHzwjsrT30atryihLzQCKbBrbAMNop+8rx0+YiOPKuAbcXmTTbuAgt nxr+uGHFUbSTtSTL9HK+tuyx2RHfQD2VcqzRjTc8jin5SmdUYfvfE1d8K M7XpurzxvcIGq8WYq3UDulr0cfA3zDS5rI8iQWNYU1oRhJH4glNhgaQMp CD/vauAYgKxvEOGVxZwxa6PqHU/d/3b6JAQKD3xWw2cL0xjQbbDFzz4ge +RUcTU/ftBx6Tdc4TpGR66bbAfk3JdMW/I5suf5kXFUECM7+1ziGUpBtu w==; X-IronPort-AV: E=McAfee;i="6400,9594,10356"; a="273133551" X-IronPort-AV: E=Sophos;i="5.91,247,1647327600"; d="scan'208";a="273133551" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 May 2022 19:12:42 -0700 X-IronPort-AV: E=Sophos;i="5.91,247,1647327600"; d="scan'208";a="600981861" Received: from unknown (HELO daily-regression-131.intel.com) ([10.239.251.131]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 May 2022 19:12:41 -0700 From: Zhimin Huang To: dts@dpdk.org Cc: Zhimin Huang Subject: [dts][PATCH V1 4/5] tests/ice_iavf_ip_fragment_rte_flow:extend mismatch pkts Date: Tue, 24 May 2022 10:12:31 +0800 Message-Id: <20220524021232.32762-4-zhiminx.huang@intel.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220524021232.32762-1-zhiminx.huang@intel.com> References: <20220524021232.32762-1-zhiminx.huang@intel.com> MIME-Version: 1.0 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 mismatch pkt should cover mismatch inputset pkts and mismatch pattern pkts. extend mismatch pkts to cover more test. Signed-off-by: Zhimin Huang --- ...TestSuite_ice_iavf_ip_fragment_rte_flow.py | 24 ++++++++++++++----- 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/tests/TestSuite_ice_iavf_ip_fragment_rte_flow.py b/tests/TestSuite_ice_iavf_ip_fragment_rte_flow.py index 8c9cfd9d..8d035df5 100644 --- a/tests/TestSuite_ice_iavf_ip_fragment_rte_flow.py +++ b/tests/TestSuite_ice_iavf_ip_fragment_rte_flow.py @@ -49,6 +49,7 @@ tv_mac_ipv4_frag_fdir_queue_index = { "scapy_str": { "matched": ["Ether(dst='00:11:22:33:55:66')/IP(id=47750)/Raw('X'*666)"], "unmatched": [ + "Ether(dst='00:11:22:33:55:66')/IP()/Raw('X'*666)", "Ether(dst='00:11:22:33:55:66')/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666)" ], }, @@ -63,6 +64,7 @@ tv_mac_ipv4_frag_fdir_rss_queues = { "scapy_str": { "matched": ["Ether(dst='00:11:22:33:55:66')/IP(id=47750)/Raw('X'*666)"], "unmatched": [ + "Ether(dst='00:11:22:33:55:66')/IP()/Raw('X'*666)", "Ether(dst='00:11:22:33:55:66')/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666)" ], }, @@ -75,6 +77,7 @@ tv_mac_ipv4_frag_fdir_passthru = { "scapy_str": { "matched": ["Ether(dst='00:11:22:33:55:66')/IP(id=47750)/Raw('X'*666)"], "unmatched": [ + "Ether(dst='00:11:22:33:55:66')/IP()/Raw('X'*666)", "Ether(dst='00:11:22:33:55:66')/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666)" ], }, @@ -87,6 +90,7 @@ tv_mac_ipv4_frag_fdir_drop = { "scapy_str": { "matched": ["Ether(dst='00:11:22:33:55:66')/IP(id=47750)/Raw('X'*666)"], "unmatched": [ + "Ether(dst='00:11:22:33:55:66')/IP()/Raw('X'*666)", "Ether(dst='00:11:22:33:55:66')/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666)" ], }, @@ -99,6 +103,7 @@ tv_mac_ipv4_frag_fdir_mark_rss = { "scapy_str": { "matched": ["Ether(dst='00:11:22:33:55:66')/IP(id=47750)/Raw('X'*666)"], "unmatched": [ + "Ether(dst='00:11:22:33:55:66')/IP()/Raw('X'*666)", "Ether(dst='00:11:22:33:55:66')/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666)" ], }, @@ -111,6 +116,7 @@ tv_mac_ipv4_frag_fdir_mark = { "scapy_str": { "matched": ["Ether(dst='00:11:22:33:55:66')/IP(id=47750)/Raw('X'*666)"], "unmatched": [ + "Ether(dst='00:11:22:33:55:66')/IP()/Raw('X'*666)", "Ether(dst='00:11:22:33:55:66')/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666)" ], }, @@ -157,7 +163,8 @@ tv_mac_ipv6_frag_fdir_queue_index = { "matched": [ "Ether(dst='00:11:22:33:55:66')/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666)" ], - "unmatched": ["Ether(dst='00:11:22:33:55:66')/IP(id=47750)/Raw('X'*666)"], + "unmatched": ["Ether(dst='00:11:22:33:55:66')/IPv6()/Raw('X'*666)", + "Ether(dst='00:11:22:33:55:66')/IP(id=47750)/Raw('X'*666)"], }, "check_param": {"port_id": 0, "rxq": LAUNCH_QUEUE, "queue": 1, "mark_id": 0}, } @@ -171,7 +178,8 @@ tv_mac_ipv6_frag_fdir_rss_queues = { "matched": [ "Ether(dst='00:11:22:33:55:66')/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666)" ], - "unmatched": ["Ether(dst='00:11:22:33:55:66')/IP(id=47750)/Raw('X'*666)"], + "unmatched": ["Ether(dst='00:11:22:33:55:66')/IPv6()/Raw('X'*666)", + "Ether(dst='00:11:22:33:55:66')/IP(id=47750)/Raw('X'*666)"], }, "check_param": {"port_id": 0, "rxq": LAUNCH_QUEUE, "queue": [2, 3], "mark_id": 0}, } @@ -183,7 +191,8 @@ tv_mac_ipv6_frag_fdir_passthru = { "matched": [ "Ether(dst='00:11:22:33:55:66')/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666)" ], - "unmatched": ["Ether(dst='00:11:22:33:55:66')/IP(id=47750)/Raw('X'*666)"], + "unmatched": ["Ether(dst='00:11:22:33:55:66')/IPv6()/Raw('X'*666)", + "Ether(dst='00:11:22:33:55:66')/IP(id=47750)/Raw('X'*666)"], }, "check_param": {"port_id": 0, "rxq": LAUNCH_QUEUE, "mark_id": 0, "rss": True}, } @@ -195,7 +204,8 @@ tv_mac_ipv6_frag_fdir_drop = { "matched": [ "Ether(dst='00:11:22:33:55:66')/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666)" ], - "unmatched": ["Ether(dst='00:11:22:33:55:66')/IP(id=47750)/Raw('X'*666)"], + "unmatched": ["Ether(dst='00:11:22:33:55:66')/IPv6()/Raw('X'*666)", + "Ether(dst='00:11:22:33:55:66')/IP(id=47750)/Raw('X'*666)"], }, "check_param": {"port_id": 0, "rxq": LAUNCH_QUEUE, "drop": True}, } @@ -207,7 +217,8 @@ tv_mac_ipv6_frag_fdir_mark_rss = { "matched": [ "Ether(dst='00:11:22:33:55:66')/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666)" ], - "unmatched": ["Ether(dst='00:11:22:33:55:66')/IP(id=47750)/Raw('X'*666)"], + "unmatched": ["Ether(dst='00:11:22:33:55:66')/IPv6()/Raw('X'*666)", + "Ether(dst='00:11:22:33:55:66')/IP(id=47750)/Raw('X'*666)"], }, "check_param": {"port_id": 0, "rxq": LAUNCH_QUEUE, "mark_id": 0, "rss": True}, } @@ -219,7 +230,8 @@ tv_mac_ipv6_frag_fdir_mark = { "matched": [ "Ether(dst='00:11:22:33:55:66')/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666)" ], - "unmatched": ["Ether(dst='00:11:22:33:55:66')/IP(id=47750)/Raw('X'*666)"], + "unmatched": ["Ether(dst='00:11:22:33:55:66')/IPv6()/Raw('X'*666)", + "Ether(dst='00:11:22:33:55:66')/IP(id=47750)/Raw('X'*666)"], }, "check_param": {"port_id": 0, "rxq": LAUNCH_QUEUE, "mark_id": 1}, } From patchwork Tue May 24 02:12:32 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Huang, ZhiminX" X-Patchwork-Id: 111666 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 9FC1BA0501; Tue, 24 May 2022 04:13:04 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 969E9427F3; Tue, 24 May 2022 04:13:04 +0200 (CEST) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mails.dpdk.org (Postfix) with ESMTP id 8010B4067B for ; Tue, 24 May 2022 04:13:00 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1653358383; x=1684894383; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=ep5q8fmkcbmcwvbvOQ3Xl9qzUSdlgiS9E/TqZB91YMs=; b=c7rCU9xPDbDkGIPIxA4hUyExP5P2VA0LvyRGfqP9qFnJB/1Wrk+OBzO8 9Et5VQVq/srZUoeBb0gyDzAfyc0rz4EKhoDYpSqFmUnqp2HKcvVvrTw2W c/1pjQIIq/lG/z0pHXv1y2ypeKoDuL+e/xUTGWFYJMyX9uIfVys8dSoGX JI4KhtqATH5pARU/JUi84g1JuWqEqkDDq07bsjzgW39guOMLNu2BivmRV 6PQoCgfdKQy+/guQSo6O037VO6EcXsnhQjDyVOTI/wVSLKR7ayX9tqdgO 0C9wal33wDZfnT6wEYlj77E2QHVMOVcgCePof6XNJm77cNTMR1dZzsd8R w==; X-IronPort-AV: E=McAfee;i="6400,9594,10356"; a="273133554" X-IronPort-AV: E=Sophos;i="5.91,247,1647327600"; d="scan'208";a="273133554" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 May 2022 19:12:44 -0700 X-IronPort-AV: E=Sophos;i="5.91,247,1647327600"; d="scan'208";a="600981887" Received: from unknown (HELO daily-regression-131.intel.com) ([10.239.251.131]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 May 2022 19:12:42 -0700 From: Zhimin Huang To: dts@dpdk.org Cc: Zhimin Huang Subject: [dts][PATCH V1 5/5] test_plans/ice_iavf_ip_fragment_rte_flow:extend mismatch pkts Date: Tue, 24 May 2022 10:12:32 +0800 Message-Id: <20220524021232.32762-5-zhiminx.huang@intel.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220524021232.32762-1-zhiminx.huang@intel.com> References: <20220524021232.32762-1-zhiminx.huang@intel.com> MIME-Version: 1.0 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 1.add more info for ipfragment rule. 2.mismatch pkt should cover mismatch inputset pkts and mismatch pattern pkts. Signed-off-by: Zhimin Huang --- ...ce_iavf_ip_fragment_rte_flow_test_plan.rst | 67 ++++++++++++------- 1 file changed, 43 insertions(+), 24 deletions(-) diff --git a/test_plans/ice_iavf_ip_fragment_rte_flow_test_plan.rst b/test_plans/ice_iavf_ip_fragment_rte_flow_test_plan.rst index d7e4e1b1..2ab727c5 100644 --- a/test_plans/ice_iavf_ip_fragment_rte_flow_test_plan.rst +++ b/test_plans/ice_iavf_ip_fragment_rte_flow_test_plan.rst @@ -126,6 +126,12 @@ take 'MAC_IPV4_FRAG fdir queue index' for fdir example flow create 0 ingress pattern eth / ipv4 fragment_offset spec 0x2000 fragment_offset mask 0x2000 / end actions queue index 1 / mark / end Flow rule #0 created +.. note:: + + For ipfragment rule, it's a fixed combination for parser to know that a fragment pkt. + dpdk care about the bit 12-13 of fragment offset, so the valid range is 0x2000-0x1fff, the spec is 0x2000 and mask is 0x2000. + + 2. send matched pkts and check two pkts distributed to queue 1, `RSS hash=0x261a7deb - RSS queue=0x1` in output:: scapy: @@ -144,17 +150,16 @@ take 'MAC_IPV4_FRAG fdir queue index' for fdir example 3. send mismatched pkts and check fdir id is none:: scapy: - p = Ether()/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666) - pkts=fragment6(p, 500) - sendp(pkts, iface="enp1s0") + Ether(dst='00:11:22:33:55:66')/IP()/Raw('X'*666) + Ether(dst='00:11:22:33:55:66')/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666) + sendp(p, iface="enp1s0") - Sent 2 packets. - dut.10.240.183.133: port 0/queue 3: received 1 packets - src=00:00:00:00:00:00 - dst=FF:FF:FF:FF:FF:FF - type=0x86dd - length=494 - nb_segs=1 - RSS hash=0xe5ae2d03 - RSS queue=0x3 - hw ptype: L2_ETHER L3_IPV6_EXT_UNKNOWN L4_FRAG - sw ptype: L2_ETHER L3_IPV6_EXT L4_FRAG - l2_len=14 - l3_len=48 - l4_len=0 - Receive queue=0x3 - ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD PKT_RX_OUTER_L4_CKSUM_GOOD - port 0/queue 3: received 1 packets - src=00:00:00:00:00:00 - dst=FF:FF:FF:FF:FF:FF - type=0x86dd - length=296 - nb_segs=1 - RSS hash=0xe5ae2d03 - RSS queue=0x3 - hw ptype: L2_ETHER L3_IPV6_EXT_UNKNOWN L4_FRAG - sw ptype: L2_ETHER L3_IPV6_EXT L4_FRAG - l2_len=14 - l3_len=48 - l4_len=0 - Receive queue=0x3 - ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD PKT_RX_OUTER_L4_CKSUM_GOOD + port 0/queue 4: received 1 packets + src=00:00:00:00:00:00 - dst=00:11:22:33:55:66 - type=0x0800 - length=700 - nb_segs=1 - RSS hash=0xafca6174 - RSS queue=0x4 - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_NONFRAG - sw ptype: L2_ETHER L3_IPV4 - l2_len=14 - l3_len=20 - Receive queue=0x4 + ol_flags: RTE_MBUF_F_RX_RSS_HASH RTE_MBUF_F_RX_L4_CKSUM_GOOD RTE_MBUF_F_RX_IP_CKSUM_GOOD RTE_MBUF_F_RX_OUTER_L4_CKSUM_UNKNOWN + port 0/queue 0: received 1 packets + src=00:00:00:00:00:00 - dst=00:11:22:33:55:66 - type=0x86dd - length=728 - nb_segs=1 - hw ptype: L2_ETHER L3_IPV6_EXT_UNKNOWN L4_FRAG - sw ptype: L2_ETHER L3_IPV6_EXT L4_FRAG - l2_len=14 - l3_len=48 - l4_len=0 - Receive queue=0x0 + ol_flags: RTE_MBUF_F_RX_L4_CKSUM_GOOD RTE_MBUF_F_RX_IP_CKSUM_GOOD RTE_MBUF_F_RX_OUTER_L4_CKSUM_UNKNOWN 4. destroy rule re-send step 2 pkts and check fdir id is none:: @@ -263,7 +268,8 @@ Subcase 1: MAC_IPV4_FRAG fdir queue index 3. unmatched packets:: - p=Ether()/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666); pkt=fragment6(p, 500) + Ether()/IP()/Raw('X'*666) + Ether()/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666) Subcase 2: MAC_IPV4_FRAG fdir rss queues ----------------------------------------- @@ -278,7 +284,8 @@ Subcase 2: MAC_IPV4_FRAG fdir rss queues 3. unmatched packets:: - p=Ether()/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666); pkt=fragment6(p, 500) + Ether()/IP()/Raw('X'*666) + Ether()/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666) Subcase 3: MAC_IPV4_FRAG fdir passthru -------------------------------------- @@ -293,7 +300,8 @@ Subcase 3: MAC_IPV4_FRAG fdir passthru 3. unmatched packets:: - p=Ether()/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666); pkt=fragment6(p, 500) + Ether()/IP()/Raw('X'*666) + Ether()/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666) Subcase 4: MAC_IPV4_FRAG fdir drop ---------------------------------- @@ -308,7 +316,8 @@ Subcase 4: MAC_IPV4_FRAG fdir drop 3. unmatched packets:: - p=Ether()/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666); pkt=fragment6(p, 500) + Ether()/IP()/Raw('X'*666) + Ether()/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666) Subcase 5: MAC_IPV4_FRAG fdir mark+rss -------------------------------------- @@ -323,7 +332,8 @@ Subcase 5: MAC_IPV4_FRAG fdir mark+rss 3. unmatched packets:: - p=Ether()/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666); pkt=fragment6(p, 500) + Ether()/IP()/Raw('X'*666) + Ether()/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666) Subcase 6: MAC_IPV4_FRAG fdir mark ---------------------------------- @@ -338,7 +348,8 @@ Subcase 6: MAC_IPV4_FRAG fdir mark 3. unmatched packets:: - p=Ether()/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666); pkt=fragment6(p, 500) + Ether()/IP()/Raw('X'*666) + Ether()/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666) Test case: MAC_IPV6_FRAG pattern fdir fragment ============================================== @@ -356,7 +367,8 @@ Subcase 1: MAC_IPV6_FRAG fdir queue index 3. unmatched packets:: - p=Ether()/IP(id=47750)/Raw('X'*666); pkts=fragment(p, 500) + Ether()/IPv6()/Raw('X'*666) + Ether()/IP(id=47750)/Raw('X'*666) Subcase 2: MAC_IPV6_FRAG fdir rss queues ---------------------------------------- @@ -371,7 +383,8 @@ Subcase 2: MAC_IPV6_FRAG fdir rss queues 3. unmatched packets:: - p=Ether()/IP(id=47750)/Raw('X'*666); pkts=fragment(p, 500) + Ether()/IPv6()/Raw('X'*666) + Ether()/IP(id=47750)/Raw('X'*666) Subcase 3: MAC_IPV6_FRAG fdir passthru -------------------------------------- @@ -386,7 +399,8 @@ Subcase 3: MAC_IPV6_FRAG fdir passthru 3. unmatched packets:: - p=Ether()/IP(id=47750)/Raw('X'*666); pkts=fragment(p, 500) + Ether()/IPv6()/Raw('X'*666) + Ether()/IP(id=47750)/Raw('X'*666) Subcase 4: MAC_IPV6_FRAG fdir drop ---------------------------------- @@ -401,7 +415,8 @@ Subcase 4: MAC_IPV6_FRAG fdir drop 3. unmatched packets:: - p=Ether()/IP(id=47750)/Raw('X'*666); pkts=fragment(p, 500) + Ether()/IPv6()/Raw('X'*666) + Ether()/IP(id=47750)/Raw('X'*666) Subcase 5: MAC_IPV6_FRAG fdir mark+rss -------------------------------------- @@ -416,7 +431,8 @@ Subcase 5: MAC_IPV6_FRAG fdir mark+rss 3. unmatched packets:: - p=Ether()/IP(id=47750)/Raw('X'*666); pkts=fragment(p, 500) + Ether()/IPv6()/Raw('X'*666) + Ether()/IP(id=47750)/Raw('X'*666) Subcase 6: MAC_IPV6_FRAG fdir mark ---------------------------------- @@ -431,7 +447,8 @@ Subcase 6: MAC_IPV6_FRAG fdir mark 3. unmatched packets:: - p=Ether()/IP(id=47750)/Raw('X'*666); pkts=fragment(p, 500) + Ether()/IPv6()/Raw('X'*666) + Ether()/IP(id=47750)/Raw('X'*666) Test case: MAC_IPV4_FRAG_fdir_with_l2 ===================================== @@ -464,7 +481,8 @@ take 'mac_ipv4_frag_l3src_fdir_queue_index' example:: 3.unmatched packets: - p=Ether()/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666); pkts=fragment6(p, 500) + Ether()/IP(src='192.168.1.1')/Raw('X'*666) + Ether()/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666) subcase 1: MAC_IPV4_FRAG_fdir_with_l3dst ---------------------------------------- @@ -491,7 +509,8 @@ take 'mac_ipv6_frag_l3src_fdir_queue_index' example:: 3.unmatched packets: - p=Ether()/IP(id=47750, src='192.168.1.1')/Raw('X'*666); pkts=fragment(p, fragsize=500) + Ether()/IPv6(src='2001::1')/Raw('X'*666) + Ether()/IP(id=47750)/Raw('X'*666) subcase 1: MAC_IPV6_FRAG_fdir_with_l3dst ----------------------------------------