From patchwork Wed Jul 28 14:11:58 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Huang, ZhiminX" X-Patchwork-Id: 96343 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 CD32DA0547; Wed, 28 Jul 2021 07:40:46 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 9BADF410ED; Wed, 28 Jul 2021 07:40:46 +0200 (CEST) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by mails.dpdk.org (Postfix) with ESMTP id 52D8E40142 for ; Wed, 28 Jul 2021 07:40:44 +0200 (CEST) X-IronPort-AV: E=McAfee;i="6200,9189,10058"; a="192178903" X-IronPort-AV: E=Sophos;i="5.84,275,1620716400"; d="scan'208";a="192178903" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Jul 2021 22:40:42 -0700 X-IronPort-AV: E=Sophos;i="5.84,275,1620716400"; d="scan'208";a="456370585" Received: from unknown (HELO localhost.localdomain) ([10.240.183.103]) by orsmga007-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Jul 2021 22:40:41 -0700 From: Zhimin Huang To: dts@dpdk.org Cc: Zhimin Huang Date: Wed, 28 Jul 2021 22:11:58 +0800 Message-Id: <20210728141158.29240-2-zhiminx.huang@intel.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20210728141158.29240-1-zhiminx.huang@intel.com> References: <20210728141158.29240-1-zhiminx.huang@intel.com> Subject: [dts] [PATCH V1] tests/cvl_ip_fragment_rte_flow:simply ipfargment rule 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 Sender: "dts" *.sync dpdk code to simply ipfragment rule Signed-off-by: Zhimin Huang Tested-by: Zhimin Huang --- tests/TestSuite_cvl_ip_fragment_rte_flow.py | 42 ++++++++++----------- 1 file changed, 20 insertions(+), 22 deletions(-) diff --git a/tests/TestSuite_cvl_ip_fragment_rte_flow.py b/tests/TestSuite_cvl_ip_fragment_rte_flow.py index acf8e78e..e3c03b0f 100644 --- a/tests/TestSuite_cvl_ip_fragment_rte_flow.py +++ b/tests/TestSuite_cvl_ip_fragment_rte_flow.py @@ -42,7 +42,7 @@ LAUNCH_QUEUE = 16 tv_mac_ipv4_frag_fdir_queue_index = { "name": "tv_mac_ipv4_frag_fdir_queue_index", - "rule": "flow create 0 ingress pattern eth / ipv4 packet_id spec 0 packet_id last 0xffff packet_id mask 0xffff fragment_offset spec 0x2000 fragment_offset last 0x1fff fragment_offset mask 0xffff / end actions queue index 1 / mark / end", + "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)"] }, @@ -51,8 +51,7 @@ tv_mac_ipv4_frag_fdir_queue_index = { tv_mac_ipv4_frag_fdir_rss_queues = { "name": "tv_mac_ipv4_frag_fdir_rss_queues", - "rule": ["flow create 0 ingress pattern eth / ipv4 packet_id spec 0 packet_id last 0xffff packet_id mask 0xffff fragment_offset spec 0x2000 fragment_offset last 0x1fff fragment_offset mask 0xffff / end actions rss queues 2 3 end / mark / end", - "flow create 0 ingress pattern eth / ipv4 / end actions rss types ipv4-frag end key_len 0 queues end / end"], + "rule": ["flow create 0 ingress pattern eth / ipv4 fragment_offset spec 0x2000 fragment_offset mask 0x2000 / end actions rss queues 2 3 end / mark / end",], "scapy_str": {"matched": ["Ether()/IP(id=47750)/Raw('X'*666)"], "unmatched": ["Ether()/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666)"] }, @@ -61,16 +60,16 @@ tv_mac_ipv4_frag_fdir_rss_queues = { tv_mac_ipv4_frag_fdir_passthru = { "name": "tv_mac_ipv4_frag_fdir_passthru", - "rule": "flow create 0 ingress pattern eth / ipv4 packet_id spec 0 packet_id last 0xffff packet_id mask 0xffff fragment_offset spec 0x2000 fragment_offset last 0x1fff fragment_offset mask 0xffff / end actions passthru / mark / end", + "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)"] }, - "check_param": {"port_id": 0, "rxq": LAUNCH_QUEUE, "mark_id": 0} + "check_param": {"port_id": 0, "rxq": LAUNCH_QUEUE, "mark_id": 0, "rss": True} } tv_mac_ipv4_frag_fdir_drop = { "name": "tv_mac_ipv4_frag_fdir_drop", - "rule": "flow create 0 ingress pattern eth / ipv4 packet_id spec 0 packet_id last 0xffff packet_id mask 0xffff fragment_offset spec 0x2000 fragment_offset last 0x1fff fragment_offset mask 0xffff / end actions drop / end", + "rule": "flow create 0 ingress pattern eth / ipv4 fragment_offset spec 0x2000 fragment_offset mask 0x2000 / end actions drop / end", "scapy_str": {"matched": ["Ether()/IP(id=47750)/Raw('X'*666)"], "unmatched": ["Ether()/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666)"] }, @@ -79,7 +78,7 @@ tv_mac_ipv4_frag_fdir_drop = { tv_mac_ipv4_frag_fdir_mark_rss = { "name": "tv_mac_ipv4_frag_fdir_mark_rss", - "rule": "flow create 0 ingress pattern eth / ipv4 packet_id spec 0 packet_id last 0xffff packet_id mask 0xffff fragment_offset spec 0x2000 fragment_offset last 0x1fff fragment_offset mask 0xffff / end actions mark / rss / end", + "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)"] }, @@ -88,7 +87,7 @@ tv_mac_ipv4_frag_fdir_mark_rss = { tv_mac_ipv4_frag_fdir_mark = { "name": "tv_mac_ipv4_frag_fdir_mark", - "rule": "flow create 0 ingress pattern eth / ipv4 packet_id spec 0 packet_id last 0xffff packet_id mask 0xffff fragment_offset spec 0x2000 fragment_offset last 0x1fff fragment_offset mask 0xffff / end actions mark id 1 / end", + "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)"] }, @@ -105,7 +104,7 @@ tvs_mac_ipv4_fragment_fdir = [ ] tvs_mac_ipv4_fragment_fdir_l2dst = [eval(str(element).replace('mac_ipv4_frag', 'mac_ipv4_frag_l2dst') - .replace('eth / ipv4 packet_id', 'eth dst is 00:00:00:00:00:01 / ipv4 packet_id') + .replace('eth / ipv4 fragment_offset', 'eth dst is 00:00:00:00:00:01 / ipv4 fragment_offset') .replace("Ether()", "Ether(dst='00:00:00:00:00:01')") ) for element in tvs_mac_ipv4_fragment_fdir] @@ -113,12 +112,12 @@ tvs_mac_ipv4_fragment_fdir_l2dst = [eval(str(element).replace('mac_ipv4_frag', ' tvs_mac_ipv4_frag_fdir_with_l2 = tvs_mac_ipv4_fragment_fdir_l2dst tvs_mac_ipv4_fragment_fdir_l3src = [eval(str(element).replace('mac_ipv4_frag', 'mac_ipv4_frag_l3src') - .replace('ipv4 packet_id', 'ipv4 src is 192.168.1.1 packet_id') + .replace('ipv4 fragment_offset', 'ipv4 src is 192.168.1.1 fragment_offset') .replace("IP(id=47750)", "IP(id=47750, src='192.168.1.1')")) for element in tvs_mac_ipv4_fragment_fdir] tvs_mac_ipv4_fragment_fdir_l3dst = [eval(str(element).replace('mac_ipv4_frag', 'mac_ipv4_frag_l3dst') - .replace('ipv4 packet_id', 'ipv4 dst is 192.168.1.2 packet_id') + .replace('ipv4 fragment_offset', 'ipv4 dst is 192.168.1.2 fragment_offset') .replace("IP(id=47750)", "IP(id=47750, dst='192.168.1.2')")) for element in tvs_mac_ipv4_fragment_fdir] @@ -126,7 +125,7 @@ tvs_mac_ipv4_frag_fdir_with_l3 = tvs_mac_ipv4_fragment_fdir_l3src + tvs_mac_ipv4 tv_mac_ipv6_frag_fdir_queue_index = { "name": "tv_mac_ipv6_frag_fdir_queue_index", - "rule": "flow create 0 ingress pattern eth / ipv6 / ipv6_frag_ext packet_id spec 0 packet_id last 0xffffffff packet_id mask 0xffffffff frag_data spec 0x0001 frag_data last 0xffff frag_data mask 0xffff / end actions queue index 1 / mark / end", + "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)"] }, @@ -135,8 +134,7 @@ tv_mac_ipv6_frag_fdir_queue_index = { tv_mac_ipv6_frag_fdir_rss_queues = { "name": "tv_mac_ipv6_frag_fdir_rss_queues", - "rule": ["flow create 0 ingress pattern eth / ipv6 / ipv6_frag_ext packet_id spec 0 packet_id last 0xffffffff packet_id mask 0xffffffff frag_data spec 0x0001 frag_data last 0xffff frag_data mask 0xffff / end actions rss queues 2 3 end / mark / end", - "flow create 0 ingress pattern eth / ipv6 / ipv6_frag_ext / end actions rss types ipv6-frag end key_len 0 queues end / end"], + "rule": ["flow create 0 ingress pattern eth / ipv6 / ipv6_frag_ext frag_data spec 0x0001 frag_data mask 0x0001 / end actions rss queues 2 3 end / mark / end",], "scapy_str": {"matched": ["Ether()/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666)"], "unmatched": ["Ether()/IP(id=47750)/Raw('X'*666)"] }, @@ -145,16 +143,16 @@ tv_mac_ipv6_frag_fdir_rss_queues = { tv_mac_ipv6_frag_fdir_passthru = { "name": "tv_mac_ipv6_frag_fdir_passthru", - "rule": "flow create 0 ingress pattern eth / ipv6 / ipv6_frag_ext packet_id spec 0 packet_id last 0xffffffff packet_id mask 0xffffffff frag_data spec 0x0001 frag_data last 0xffff frag_data mask 0xffff / end actions passthru / mark / end", + "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)"] }, - "check_param": {"port_id": 0, "rxq": LAUNCH_QUEUE, "mark_id": 0} + "check_param": {"port_id": 0, "rxq": LAUNCH_QUEUE, "mark_id": 0, "rss": True} } tv_mac_ipv6_frag_fdir_drop = { "name": "tv_mac_ipv6_frag_fdir_drop", - "rule": "flow create 0 ingress pattern eth / ipv6 / ipv6_frag_ext packet_id spec 0 packet_id last 0xffffffff packet_id mask 0xffffffff frag_data spec 0x0001 frag_data last 0xffff frag_data mask 0xffff / end actions drop / end", + "rule": "flow create 0 ingress pattern eth / ipv6 / ipv6_frag_ext frag_data spec 0x0001 frag_data mask 0x0001 / end actions drop / end", "scapy_str": {"matched": ["Ether()/IPv6()/IPv6ExtHdrFragment(id=47750)/Raw('X'*666)"], "unmatched": ["Ether()/IP(id=47750)/Raw('X'*666)"] }, @@ -163,7 +161,7 @@ tv_mac_ipv6_frag_fdir_drop = { tv_mac_ipv6_frag_fdir_mark_rss = { "name": "tv_mac_ipv6_frag_fdir_mark_rss", - "rule": "flow create 0 ingress pattern eth / ipv6 / ipv6_frag_ext packet_id spec 0 packet_id last 0xffffffff packet_id mask 0xffffffff frag_data spec 0x0001 frag_data last 0xffff frag_data mask 0xffff / end actions mark / rss / end", + "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)"] }, @@ -172,7 +170,7 @@ tv_mac_ipv6_frag_fdir_mark_rss = { tv_mac_ipv6_frag_fdir_mark = { "name": "tv_mac_ipv6_frag_fdir_mark", - "rule": "flow create 0 ingress pattern eth / ipv6 / ipv6_frag_ext packet_id spec 0 packet_id last 0xffffffff packet_id mask 0xffffffff frag_data spec 0x0001 frag_data last 0xffff frag_data mask 0xffff / end actions mark id 1 / end", + "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)"] }, @@ -189,7 +187,7 @@ tvs_mac_ipv6_fragment_fdir = [ ] tvs_mac_ipv6_fragment_fdir_l2dst = [eval(str(element).replace('mac_ipv6_frag', 'mac_ipv6_frag_l2dst') - .replace('eth / ipv6 / ipv6_frag_ext packet_id', 'eth dst is 00:00:00:00:00:01 / ipv6 / ipv6_frag_ext packet_id') + .replace('eth / ipv6 / ipv6_frag_ext frag_data', 'eth dst is 00:00:00:00:00:01 / ipv6 / ipv6_frag_ext frag_data') .replace("Ether()", "Ether(dst='00:00:00:00:00:01')") ) for element in tvs_mac_ipv6_fragment_fdir] @@ -367,7 +365,7 @@ class TestCvlIpFragmentRteFlow(TestCase): result_list = [] rule_list_fdir = [ 'flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / ipv4 src is 192.168.0.20 / end actions queue index 1 / end', - 'flow create 0 ingress pattern eth / ipv4 packet_id spec 0 packet_id last 0xffff packet_id mask 0xffff fragment_offset spec 0x2000 fragment_offset last 0x1fff fragment_offset mask 0xffff / end actions queue index 2 / end'] + 'flow create 0 ingress pattern eth / ipv4 fragment_offset spec 0x2000 fragment_offset mask 0x2000 / end actions queue index 2 / end'] pkt_fdir = "Ether(dst='00:11:22:33:44:55')/IP(src='192.168.0.20', id=47750)/Raw('X'*666)" self.logger.info('Subcase 1: exclusive validation fdir rule') @@ -442,7 +440,7 @@ class TestCvlIpFragmentRteFlow(TestCase): if hashes1[0] != hashes1[1] and hashes2[0] != hashes2[1]: result = False self.logger.error("hash value is incorrect") - if hashes1[0] != hashes2[0]: + if hashes1[0] == hashes2[0]: result = False self.logger.error("hash value is incorrect") result_list.append(result)