Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/97287/?format=api
http://patches.dpdk.org/api/patches/97287/?format=api", "web_url": "http://patches.dpdk.org/project/dts/patch/20210825103809.15141-3-qinx.sun@intel.com/", "project": { "id": 3, "url": "http://patches.dpdk.org/api/projects/3/?format=api", "name": "DTS", "link_name": "dts", "list_id": "dts.dpdk.org", "list_email": "dts@dpdk.org", "web_url": "", "scm_url": "git://dpdk.org/tools/dts", "webscm_url": "http://git.dpdk.org/tools/dts/", "list_archive_url": "https://inbox.dpdk.org/dts", "list_archive_url_format": "https://inbox.dpdk.org/dts/{}", "commit_url_format": "" }, "msgid": "<20210825103809.15141-3-qinx.sun@intel.com>", "list_archive_url": "https://inbox.dpdk.org/dts/20210825103809.15141-3-qinx.sun@intel.com", "date": "2021-08-25T10:38:09", "name": "[V4,2/2] tests/cvl_advanced_iavf_rss: add gre inner rss cases for iavf suite", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": false, "hash": "dfe747dbdb2ee69f24fe8edbcf621b1561c31ad5", "submitter": { "id": 1956, "url": "http://patches.dpdk.org/api/people/1956/?format=api", "name": "Sun, QinX", "email": "qinx.sun@intel.com" }, "delegate": null, "mbox": "http://patches.dpdk.org/project/dts/patch/20210825103809.15141-3-qinx.sun@intel.com/mbox/", "series": [ { "id": 18440, "url": "http://patches.dpdk.org/api/series/18440/?format=api", "web_url": "http://patches.dpdk.org/project/dts/list/?series=18440", "date": "2021-08-25T10:38:07", "name": "add gre inner rss cases for iavf", "version": 4, "mbox": "http://patches.dpdk.org/series/18440/mbox/" } ], "comments": "http://patches.dpdk.org/api/patches/97287/comments/", "check": "fail", "checks": "http://patches.dpdk.org/api/patches/97287/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<dts-bounces@dpdk.org>", "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])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 02D80A0C57;\n\tWed, 25 Aug 2021 04:06:53 +0200 (CEST)", "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id F21714117D;\n\tWed, 25 Aug 2021 04:06:52 +0200 (CEST)", "from mga17.intel.com (mga17.intel.com [192.55.52.151])\n by mails.dpdk.org (Postfix) with ESMTP id DF19D4117D\n for <dts@dpdk.org>; Wed, 25 Aug 2021 04:06:50 +0200 (CEST)", "from fmsmga002.fm.intel.com ([10.253.24.26])\n by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 24 Aug 2021 19:06:50 -0700", "from unknown (HELO localhost.localdomain) ([10.240.183.105])\n by fmsmga002-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 24 Aug 2021 19:06:48 -0700" ], "X-IronPort-AV": [ "E=McAfee;i=\"6200,9189,10086\"; a=\"197675898\"", "E=Sophos;i=\"5.84,349,1620716400\"; d=\"scan'208\";a=\"197675898\"", "E=Sophos;i=\"5.84,349,1620716400\"; d=\"scan'208\";a=\"536078522\"" ], "From": "Qin Sun <qinx.sun@intel.com>", "To": "dts@dpdk.org", "Cc": "xueqin.lin@intel.com,\n\tQin Sun <qinx.sun@intel.com>", "Date": "Wed, 25 Aug 2021 10:38:09 +0000", "Message-Id": "<20210825103809.15141-3-qinx.sun@intel.com>", "X-Mailer": "git-send-email 2.17.1", "In-Reply-To": "<20210825103809.15141-1-qinx.sun@intel.com>", "References": "<20210825103809.15141-1-qinx.sun@intel.com>", "Subject": "[dts] [PATCH V4 2/2] tests/cvl_advanced_iavf_rss: add gre inner rss\n cases for iavf suite", "X-BeenThere": "dts@dpdk.org", "X-Mailman-Version": "2.1.29", "Precedence": "list", "List-Id": "test suite reviews and discussions <dts.dpdk.org>", "List-Unsubscribe": "<https://mails.dpdk.org/options/dts>,\n <mailto:dts-request@dpdk.org?subject=unsubscribe>", "List-Archive": "<http://mails.dpdk.org/archives/dts/>", "List-Post": "<mailto:dts@dpdk.org>", "List-Help": "<mailto:dts-request@dpdk.org?subject=help>", "List-Subscribe": "<https://mails.dpdk.org/listinfo/dts>,\n <mailto:dts-request@dpdk.org?subject=subscribe>", "Errors-To": "dts-bounces@dpdk.org", "Sender": "\"dts\" <dts-bounces@dpdk.org>" }, "content": "according to test plan to add 24 new cases related gre inner rss for iavf suite\n\nSigned-off-by: Qin Sun <qinx.sun@intel.com>\n---\n tests/TestSuite_cvl_advanced_iavf_rss.py | 997 +++++++++++++++++++++++\n 1 file changed, 997 insertions(+)", "diff": "diff --git a/tests/TestSuite_cvl_advanced_iavf_rss.py b/tests/TestSuite_cvl_advanced_iavf_rss.py\nindex a7003b38..249f6bcf 100644\n--- a/tests/TestSuite_cvl_advanced_iavf_rss.py\n+++ b/tests/TestSuite_cvl_advanced_iavf_rss.py\n@@ -4150,6 +4150,931 @@ ipv6_64bit_prefix_l3_src_dst_only = {\n \n ipv6_64bit_prefix = [ipv6_64bit_prefix_l3_src_only, ipv6_64bit_prefix_l3_dst_only, ipv6_64bit_prefix_l3_src_dst_only]\n \n+#gre tunnel related data\n+mac_ipv4_gre_ipv4_basic_pkt = {\n+ 'ipv4-proto':\n+ 'Ether(dst=\"%s\")/IP()/GRE()/IP(dst=\"192.168.0.1\", src=\"192.168.0.2\", proto=6)/(\"X\"*480)' % vf0_mac,\n+ 'ipv4-tcp':\n+ 'Ether(dst=\"%s\")/IP()/GRE()/IP(dst=\"192.168.0.1\", src=\"192.168.0.2\", proto=6)/TCP(sport=22,dport=23)/(\"X\"*480)' % vf0_mac,\n+}\n+\n+mac_ipv4_gre_ipv6_basic_pkt = {\n+ 'ipv6-nh':\n+ 'Ether(dst=\"%s\")/IP()/GRE()/IPv6(dst=\"CDCD:910A:2222:5498:8475:1111:3900:2020\", src=\"ABAB:910B:6666:3457:8295:3333:1800:2929\", nh=6)/(\"X\"*480)' % vf0_mac,\n+ 'ipv6-tcp':\n+ 'Ether(dst=\"%s\")/IP()/GRE()/IPv6(dst=\"CDCD:910A:2222:5498:8475:1111:3900:2020\", src=\"ABAB:910B:6666:3457:8295:3333:1800:2929\", nh=6)/TCP(sport=22,dport=23)/(\"X\"*480)' % vf0_mac,\n+}\n+\n+mac_ipv4_gre_ipv4_all = {\n+ 'sub_casename': 'ipv4_gre_ipv4_all',\n+ 'port_id': 0,\n+ 'rule': 'flow create 0 ingress pattern eth / ipv4 / gre / ipv4 / end actions rss types ipv4 end key_len 0 queues end / end',\n+ 'test': [\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv4_basic_pkt['ipv4-proto'],\n+ 'action': {'save_hash': 'ipv4-proto'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv4_basic_pkt['ipv4-proto'].replace('dst=\"192.168.0.1\"','dst=\"192.168.1.1\"'),\n+ 'action': {'check_hash_different': 'ipv4-proto'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv4_basic_pkt['ipv4-proto'].replace('src=\"192.168.0.2\"','src=\"192.168.1.2\"'),\n+ 'action': {'check_hash_different': 'ipv4-proto'},\n+ },\n+ ],\n+}\n+\n+mac_ipv4_gre_ipv4_l3_src = {\n+ 'sub_casename': 'ipv4_gre_ipv4_l3_src',\n+ 'port_id': 0,\n+ 'rule': 'flow create 0 ingress pattern eth / ipv4 / gre / ipv4 / end actions rss types ipv4 l3-src-only end key_len 0 queues end / end',\n+ 'test': [\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv4_basic_pkt['ipv4-proto'],\n+ 'action': {'save_hash': 'ipv4-proto'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv4_basic_pkt['ipv4-proto'].replace('src=\"192.168.0.2\"','src=\"192.168.1.2\"'),\n+ 'action': {'check_hash_different': 'ipv4-proto'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv4_basic_pkt['ipv4-proto'].replace('dst=\"192.168.0.1\"','dst=\"192.168.1.1\"'),\n+ 'action': {'check_hash_same': 'ipv4-proto'},\n+ },\n+ ],\n+}\n+\n+mac_ipv4_gre_ipv4_l3_dst = {\n+ 'sub_casename': 'ipv4_gre_ipv4_l3_dst',\n+ 'port_id': 0,\n+ 'rule': 'flow create 0 ingress pattern eth / ipv4 / gre / ipv4 / end actions rss types ipv4 l3-dst-only end key_len 0 queues end / end',\n+ 'test': [\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv4_basic_pkt['ipv4-proto'],\n+ 'action': {'save_hash': 'ipv4-proto'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv4_basic_pkt['ipv4-proto'].replace('dst=\"192.168.0.1\"','dst=\"192.168.1.1\"'),\n+ 'action': {'check_hash_different': 'ipv4-proto'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv4_basic_pkt['ipv4-proto'].replace('src=\"192.168.0.2\"','src=\"192.168.1.2\"'),\n+ 'action': {'check_hash_same': 'ipv4-proto'},\n+ },\n+ ],\n+}\n+\n+mac_ipv4_gre_ipv4_tcp_l3_src = {\n+ 'sub_casename': 'ipv4_gre_ipv4_tcp_l3_src',\n+ 'port_id': 0,\n+ 'rule': 'flow create 0 ingress pattern eth / ipv4 / gre / ipv4 / tcp / end actions rss types ipv4-tcp l3-src-only end key_len 0 queues end / end',\n+ 'test': [\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv4_basic_pkt['ipv4-tcp'],\n+ 'action': {'save_hash': 'ipv4-tcp'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv4_basic_pkt['ipv4-tcp'].replace('src=\"192.168.0.2\"', 'src=\"192.168.1.2\"'),\n+ 'action': {'check_hash_different': 'ipv4-tcp'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv4_basic_pkt['ipv4-tcp'].replace('dst=\"192.168.0.1\"', 'dst=\"192.168.1.1\"'),\n+ 'action': {'check_hash_same': 'ipv4-tcp'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv4_basic_pkt['ipv4-tcp'].replace('dport=23', 'dport=24'),\n+ 'action': {'check_hash_same': 'ipv4-tcp'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv4_basic_pkt['ipv4-tcp'].replace('sport=22', 'sport=21'),\n+ 'action': {'check_hash_same': 'ipv4-tcp'},\n+ },\n+ ],\n+}\n+\n+mac_ipv4_gre_ipv4_tcp_l3_dst = {\n+ 'sub_casename': 'ipv4_gre_ipv4_tcp_l3_dst',\n+ 'port_id': 0,\n+ 'rule': 'flow create 0 ingress pattern eth / ipv4 / gre / ipv4 / tcp / end actions rss types ipv4-tcp l3-dst-only end key_len 0 queues end / end',\n+ 'test': [\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv4_basic_pkt['ipv4-tcp'],\n+ 'action': {'save_hash': 'ipv4-tcp'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv4_basic_pkt['ipv4-tcp'].replace('dst=\"192.168.0.1\"', 'dst=\"192.168.1.1\"'),\n+ 'action': {'check_hash_different': 'ipv4-tcp'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv4_basic_pkt['ipv4-tcp'].replace('src=\"192.168.0.2\"', 'src=\"192.168.1.2\"'),\n+ 'action': {'check_hash_same': 'ipv4-tcp'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv4_basic_pkt['ipv4-tcp'].replace('dport=23', 'dport=24'),\n+ 'action': {'check_hash_same': 'ipv4-tcp'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv4_basic_pkt['ipv4-tcp'].replace('sport=22', 'sport=21'),\n+ 'action': {'check_hash_same': 'ipv4-tcp'},\n+ },\n+ ],\n+}\n+\n+mac_ipv4_gre_ipv4_tcp_l3_src_l4_src = {\n+ 'sub_casename': 'ipv4_gre_ipv4_tcp_l3_src_l4_src',\n+ 'port_id': 0,\n+ 'rule': 'flow create 0 ingress pattern eth / ipv4 / gre / ipv4 / tcp / end actions rss types ipv4-tcp l3-src-only l4-src-only end key_len 0 queues end / end',\n+ 'test': [\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv4_basic_pkt['ipv4-tcp'],\n+ 'action': {'save_hash': 'ipv4-tcp'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv4_basic_pkt['ipv4-tcp'].replace('src=\"192.168.0.2\"', 'src=\"192.168.1.2\"'),\n+ 'action': {'check_hash_different': 'ipv4-tcp'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv4_basic_pkt['ipv4-tcp'].replace('sport=22', 'sport=21'),\n+ 'action': {'check_hash_different': 'ipv4-tcp'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv4_basic_pkt['ipv4-tcp'].replace('dst=\"192.168.0.1\"', 'dst=\"192.168.1.1\"'),\n+ 'action': {'check_hash_same': 'ipv4-tcp'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv4_basic_pkt['ipv4-tcp'].replace('dport=23', 'dport=24'),\n+ 'action': {'check_hash_same': 'ipv4-tcp'},\n+ },\n+ ],\n+}\n+\n+mac_ipv4_gre_ipv4_tcp_l3_src_l4_dst = {\n+ 'sub_casename': 'ipv4_gre_ipv4_tcp_l3_src_l4_dst',\n+ 'port_id': 0,\n+ 'rule': 'flow create 0 ingress pattern eth / ipv4 / gre / ipv4 / tcp / end actions rss types ipv4-tcp l3-src-only l4-dst-only end key_len 0 queues end / end',\n+ 'test': [\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv4_basic_pkt['ipv4-tcp'],\n+ 'action': {'save_hash': 'ipv4-tcp'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv4_basic_pkt['ipv4-tcp'].replace('src=\"192.168.0.2\"', 'src=\"192.168.1.2\"'),\n+ 'action': {'check_hash_different': 'ipv4-tcp'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv4_basic_pkt['ipv4-tcp'].replace('dport=23', 'dport=24'),\n+ 'action': {'check_hash_different': 'ipv4-tcp'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv4_basic_pkt['ipv4-tcp'].replace('dst=\"192.168.0.1\"', 'dst=\"192.168.1.1\"'),\n+ 'action': {'check_hash_same': 'ipv4-tcp'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv4_basic_pkt['ipv4-tcp'].replace('sport=22', 'sport=21'),\n+ 'action': {'check_hash_same': 'ipv4-tcp'},\n+ },\n+ ],\n+}\n+\n+mac_ipv4_gre_ipv4_tcp_l3_dst_l4_src = {\n+ 'sub_casename': 'ipv4_gre_ipv4_tcp_l3_dst_l4_src',\n+ 'port_id': 0,\n+ 'rule': 'flow create 0 ingress pattern eth / ipv4 / gre / ipv4 / tcp / end actions rss types ipv4-tcp l3-dst-only l4-src-only end key_len 0 queues end / end',\n+ 'test': [\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv4_basic_pkt['ipv4-tcp'],\n+ 'action': {'save_hash': 'ipv4-tcp'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv4_basic_pkt['ipv4-tcp'].replace('dst=\"192.168.0.1\"', 'dst=\"192.168.1.1\"'),\n+ 'action': {'check_hash_different': 'ipv4-tcp'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv4_basic_pkt['ipv4-tcp'].replace('sport=22', 'sport=21'),\n+ 'action': {'check_hash_different': 'ipv4-tcp'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv4_basic_pkt['ipv4-tcp'].replace('src=\"192.168.0.2\"', 'src=\"192.168.1.2\"'),\n+ 'action': {'check_hash_same': 'ipv4-tcp'},\n+ },\n+ {\n+ 'send_packet':mac_ipv4_gre_ipv4_basic_pkt['ipv4-tcp'].replace('dport=23', 'dport=24'),\n+ 'action': {'check_hash_same': 'ipv4-tcp'},\n+ },\n+ ],\n+}\n+\n+mac_ipv4_gre_ipv4_tcp_l3_dst_l4_dst = {\n+ 'sub_casename': 'ipv4_gre_ipv4_tcp_l3_dst_l4_dst',\n+ 'port_id': 0,\n+ 'rule': 'flow create 0 ingress pattern eth / ipv4 / gre / ipv4 / tcp / end actions rss types ipv4-tcp l3-dst-only l4-dst-only end key_len 0 queues end / end',\n+ 'test': [\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv4_basic_pkt['ipv4-tcp'],\n+ 'action': {'save_hash': 'ipv4-tcp'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv4_basic_pkt['ipv4-tcp'].replace('dst=\"192.168.0.1\"', 'dst=\"192.168.1.1\"'),\n+ 'action': {'check_hash_different': 'ipv4-tcp'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv4_basic_pkt['ipv4-tcp'].replace('dport=23', 'dport=24'),\n+ 'action': {'check_hash_different': 'ipv4-tcp'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv4_basic_pkt['ipv4-tcp'].replace('src=\"192.168.0.2\"', 'src=\"192.168.1.2\"'),\n+ 'action': {'check_hash_same': 'ipv4-tcp'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv4_basic_pkt['ipv4-tcp'].replace('sport=22', 'sport=21'),\n+ 'action': {'check_hash_same': 'ipv4-tcp'},\n+ },\n+ ],\n+}\n+\n+mac_ipv4_gre_ipv4_tcp_l4_src = {\n+ 'sub_casename': 'ipv4_gre_ipv4_tcp_l4_src',\n+ 'port_id': 0,\n+ 'rule': 'flow create 0 ingress pattern eth / ipv4 / gre / ipv4 / tcp / end actions rss types ipv4-tcp l4-src-only end key_len 0 queues end / end',\n+ 'test': [\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv4_basic_pkt['ipv4-tcp'],\n+ 'action': {'save_hash': 'ipv4-tcp'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv4_basic_pkt['ipv4-tcp'].replace('sport=22', 'sport=21'),\n+ 'action': {'check_hash_different': 'ipv4-tcp'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv4_basic_pkt['ipv4-tcp'].replace('dst=\"192.168.0.1\"', 'dst=\"192.168.1.1\"'),\n+ 'action': {'check_hash_same': 'ipv4-tcp'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv4_basic_pkt['ipv4-tcp'].replace('src=\"192.168.0.2\"', 'src=\"192.168.1.2\"'),\n+\n+ 'action': {'check_hash_same': 'ipv4-tcp'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv4_basic_pkt['ipv4-tcp'].replace('dport=23', 'dport=24'),\n+ 'action': {'check_hash_same': 'ipv4-tcp'},\n+ },\n+ ]\n+}\n+\n+mac_ipv4_gre_ipv4_tcp_l4_dst = {\n+ 'sub_casename': 'ipv4_gre_ipv4_tcp_l4_dst',\n+ 'port_id': 0,\n+ 'rule': 'flow create 0 ingress pattern eth / ipv4 / gre / ipv4 / tcp / end actions rss types ipv4-tcp l4-dst-only end key_len 0 queues end / end',\n+ 'test': [\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv4_basic_pkt['ipv4-tcp'],\n+ 'action': {'save_hash': 'ipv4-tcp'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv4_basic_pkt['ipv4-tcp'].replace('dport=23', 'dport=24'),\n+ 'action': {'check_hash_different': 'ipv4-tcp'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv4_basic_pkt['ipv4-tcp'].replace('dst=\"192.168.0.1\"', 'dst=\"192.168.1.1\"'),\n+ 'action': {'check_hash_same': 'ipv4-tcp'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv4_basic_pkt['ipv4-tcp'].replace('src=\"192.168.0.2\"', 'src=\"192.168.1.2\"'),\n+ 'action': {'check_hash_same': 'ipv4-tcp'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv4_basic_pkt['ipv4-tcp'].replace('sport=22', 'sport=21'),\n+ 'action': {'check_hash_same': 'ipv4-tcp'},\n+ },\n+ ]\n+}\n+\n+mac_ipv4_gre_ipv4_tcp_all = {\n+ 'sub_casename': 'ipv4_gre_ipv4_tcp_all',\n+ 'port_id': 0,\n+ 'rule': 'flow create 0 ingress pattern eth / ipv4 / gre / ipv4 / tcp / end actions rss types ipv4-tcp end key_len 0 queues end / end',\n+ 'test': [\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv4_basic_pkt['ipv4-tcp'],\n+ 'action': {'save_hash': 'ipv4-tcp'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv4_basic_pkt['ipv4-tcp'].replace('dst=\"192.168.0.1\"', 'dst=\"192.168.1.1\"'),\n+ 'action': {'check_hash_different': 'ipv4-tcp'}\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv4_basic_pkt['ipv4-tcp'].replace('src=\"192.168.0.2\"', 'src=\"192.168.1.2\"'),\n+ 'action': {'check_hash_different': 'ipv4-tcp'}\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv4_basic_pkt['ipv4-tcp'].replace('sport=22', 'sport=21'),\n+ 'action': {'check_hash_different': 'ipv4-tcp'}\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv4_basic_pkt['ipv4-tcp'].replace('dport=23', 'dport=24'),\n+ 'action': {'check_hash_different': 'ipv4-tcp'}\n+ },\n+ ]\n+}\n+\n+mac_ipv4_gre_ipv4_tcp_ipv4 = {\n+ 'sub_casename': 'ipv4_gre_ipv4_tcp_ipv4',\n+ 'port_id': 0,\n+ 'rule': 'flow create 0 ingress pattern eth / ipv4 / gre / ipv4 / tcp / end actions rss types ipv4 end key_len 0 queues end / end',\n+ 'test': [\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv4_basic_pkt['ipv4-tcp'],\n+ 'action': {'save_hash': 'ipv4-tcp'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv4_basic_pkt['ipv4-tcp'].replace('dst=\"192.168.0.1\"', 'dst=\"192.168.1.1\"'),\n+ 'action': {'check_hash_different': 'ipv4-tcp'}\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv4_basic_pkt['ipv4-tcp'].replace('src=\"192.168.0.2\"', 'src=\"192.168.1.2\"'),\n+\n+ 'action': {'check_hash_different': 'ipv4-tcp'}\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv4_basic_pkt['ipv4-tcp'].replace('sport=22', 'sport=21'),\n+\n+ 'action': {'check_hash_same': 'ipv4-tcp'}\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv4_basic_pkt['ipv4-tcp'].replace('dport=23', 'dport=24'),\n+\n+ 'action': {'check_hash_same': 'ipv4-tcp'}\n+ },\n+ ]\n+}\n+\n+mac_ipv4_gre_ipv6_l3_src = {\n+ 'sub_casename': 'ipv4_gre_ipv6_l3_src',\n+ 'port_id': 0,\n+ 'rule': 'flow create 0 ingress pattern eth / ipv4 / gre / ipv6 / end actions rss types ipv6 l3-src-only end key_len 0 queues end / end',\n+ 'test': [\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv6_basic_pkt['ipv6-nh'],\n+ 'action': {'save_hash': 'ipv6-nh'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv6_basic_pkt['ipv6-nh'].replace('src=\"ABAB:910B:6666:3457:8295:3333:1800:2929\"','src=\"ABAB:910B:6666:3457:8295:3333:1800:2930\"'),\n+ 'action': {'check_hash_different': 'ipv6-nh'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv6_basic_pkt['ipv6-nh'].replace('dst=\"CDCD:910A:2222:5498:8475:1111:3900:2020\"', 'dst=\"CDCD:910A:2222:5498:8475:1111:3900:2021\"'),\n+ 'action': {'check_hash_same': 'ipv6-nh'},\n+ },\n+ ]\n+}\n+\n+mac_ipv4_gre_ipv6_l3_dst = {\n+ 'sub_casename': 'ipv4_gre_ipv6_l3_dst',\n+ 'port_id': 0,\n+ 'rule': 'flow create 0 ingress pattern eth / ipv4 / gre / ipv6 / end actions rss types ipv6 l3-dst-only end key_len 0 queues end / end',\n+ 'test': [\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv6_basic_pkt['ipv6-nh'],\n+ 'action': {'save_hash': 'ipv6-nh'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv6_basic_pkt['ipv6-nh'].replace('dst=\"CDCD:910A:2222:5498:8475:1111:3900:2020\"',\n+ 'dst=\"CDCD:910A:2222:5498:8475:1111:3900:2021\"'),\n+ 'action': {'check_hash_different': 'ipv6-nh'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv6_basic_pkt['ipv6-nh'].replace('src=\"ABAB:910B:6666:3457:8295:3333:1800:2929\"',\n+ 'src=\"ABAB:910B:6666:3457:8295:3333:1800:2930\"'),\n+ 'action': {'check_hash_same': 'ipv6-nh'},\n+ },\n+ ]\n+}\n+\n+mac_ipv4_gre_ipv6_all = {\n+ 'sub_casename': 'ipv4_gre_ipv6_all',\n+ 'port_id': 0,\n+ 'rule': 'flow create 0 ingress pattern eth / ipv4 / gre / ipv6 / end actions rss types ipv6 end key_len 0 queues end / end',\n+ 'test': [\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv6_basic_pkt['ipv6-nh'],\n+ 'action': {'save_hash': 'ipv6-nh'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv6_basic_pkt['ipv6-nh'].replace('dst=\"CDCD:910A:2222:5498:8475:1111:3900:2020\"',\n+ 'dst=\"CDCD:910A:2222:5498:8475:1111:3900:2021\"'),\n+ 'action': {'check_hash_different': 'ipv6-nh'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv6_basic_pkt['ipv6-nh'].replace('src=\"ABAB:910B:6666:3457:8295:3333:1800:2929\"',\n+ 'src=\"ABAB:910B:6666:3457:8295:3333:1800:2930\"'),\n+ 'action': {'check_hash_different': 'ipv6-nh'},\n+ },\n+ ]\n+}\n+\n+mac_ipv4_gre_ipv6_tcp_l3_src = {\n+ 'sub_casename': 'ipv4_gre_ipv6_tcp_l3_src',\n+ 'port_id': 0,\n+ 'rule': 'flow create 0 ingress pattern eth / ipv4 / gre / ipv6 / tcp / end actions rss types ipv6-tcp l3-src-only end key_len 0 queues end / end',\n+ 'test': [\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv6_basic_pkt['ipv6-tcp'],\n+ 'action': {'save_hash': 'ipv6-tcp'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv6_basic_pkt['ipv6-tcp'].replace(\n+ 'src=\"ABAB:910B:6666:3457:8295:3333:1800:2929\"', 'src=\"ABAB:910B:6666:3457:8295:3333:1800:2930\"'),\n+ 'action': {'check_hash_different': 'ipv6-tcp'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv6_basic_pkt['ipv6-nh'].replace(\n+ 'dst=\"CDCD:910A:2222:5498:8475:1111:3900:2020\"',\n+ 'dst=\"CDCD:910A:2222:5498:8475:1111:3900:2021\"'),\n+ 'action': {'check_hash_same': 'ipv6-tcp'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv6_basic_pkt['ipv6-tcp'].replace('dport=23', 'dport=24'),\n+ 'action': {'check_hash_same': 'ipv6-tcp'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv6_basic_pkt['ipv6-tcp'].replace('sport=22', 'sport=21'),\n+ 'action': {'check_hash_same': 'ipv6-tcp'},\n+ },\n+ ]\n+}\n+\n+mac_ipv4_gre_ipv6_tcp_l3_dst = {\n+ 'sub_casename': 'ipv4_gre_ipv6_tcp_l3_dst',\n+ 'port_id': 0,\n+ 'rule': 'flow create 0 ingress pattern eth / ipv4 / gre / ipv6 / tcp / end actions rss types ipv6-tcp l3-dst-only end key_len 0 queues end / end',\n+ 'test': [\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv6_basic_pkt['ipv6-tcp'],\n+ 'action': {'save_hash': 'ipv6-tcp'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv6_basic_pkt['ipv6-nh'].replace(\n+ 'dst=\"CDCD:910A:2222:5498:8475:1111:3900:2020\"',\n+ 'dst=\"CDCD:910A:2222:5498:8475:1111:3900:2021\"'),\n+ 'action': {'check_hash_different': 'ipv6-tcp'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv6_basic_pkt['ipv6-tcp'].replace(\n+ 'src=\"ABAB:910B:6666:3457:8295:3333:1800:2929\"', 'src=\"ABAB:910B:6666:3457:8295:3333:1800:2930\"'),\n+ 'action': {'check_hash_same': 'ipv6-tcp'},\n+ },\n+\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv6_basic_pkt['ipv6-tcp'].replace('dport=23', 'dport=24'),\n+ 'action': {'check_hash_same': 'ipv6-tcp'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv6_basic_pkt['ipv6-tcp'].replace('sport=22', 'sport=21'),\n+ 'action': {'check_hash_same': 'ipv6-tcp'},\n+ },\n+ ]\n+}\n+\n+mac_ipv4_gre_ipv6_tcp_l4_src = {\n+ 'sub_casename': 'ipv4_gre_ipv6_tcp_l4_src',\n+ 'port_id': 0,\n+ 'rule': 'flow create 0 ingress pattern eth / ipv4 / gre / ipv6 / tcp / end actions rss types ipv6-tcp l4-src-only end key_len 0 queues end / end',\n+ 'test': [\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv6_basic_pkt['ipv6-tcp'],\n+ 'action': {'save_hash': 'ipv6-tcp'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv6_basic_pkt['ipv6-tcp'].replace('sport=22', 'sport=21'),\n+ 'action': {'check_hash_different': 'ipv6-tcp'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv6_basic_pkt['ipv6-tcp'].replace(\n+ 'src=\"ABAB:910B:6666:3457:8295:3333:1800:2929\"', 'src=\"ABAB:910B:6666:3457:8295:3333:1800:2930\"'),\n+ 'action': {'check_hash_same': 'ipv6-tcp'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv6_basic_pkt['ipv6-tcp'].replace(\n+ 'dst=\"CDCD:910A:2222:5498:8475:1111:3900:2020\"',\n+ 'dst=\"CDCD:910A:2222:5498:8475:1111:3900:2021\"'),\n+ 'action': {'check_hash_same': 'ipv6-tcp'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv6_basic_pkt['ipv6-tcp'].replace('dport=23', 'dport=24'),\n+ 'action': {'check_hash_same': 'ipv6-tcp'},\n+ },\n+ ]\n+}\n+\n+mac_ipv4_gre_ipv6_tcp_l4_dst = {\n+ 'sub_casename': 'ipv4_gre_ipv6_tcp_l4_dst',\n+ 'port_id': 0,\n+ 'rule': 'flow create 0 ingress pattern eth / ipv4 / gre / ipv6 / tcp / end actions rss types ipv6-tcp l4-dst-only end key_len 0 queues end / end',\n+ 'test': [\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv6_basic_pkt['ipv6-tcp'],\n+ 'action': {'save_hash': 'ipv6-tcp'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv6_basic_pkt['ipv6-tcp'].replace('dport=23', 'dport=24'),\n+ 'action': {'check_hash_different': 'ipv6-tcp'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv6_basic_pkt['ipv6-tcp'].replace('sport=22', 'sport=21'),\n+ 'action': {'check_hash_same': 'ipv6-tcp'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv6_basic_pkt['ipv6-tcp'].replace(\n+ 'src=\"ABAB:910B:6666:3457:8295:3333:1800:2929\"', 'src=\"ABAB:910B:6666:3457:8295:3333:1800:2930\"'),\n+ 'action': {'check_hash_same': 'ipv6-tcp'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv6_basic_pkt['ipv6-tcp'].replace(\n+ 'dst=\"CDCD:910A:2222:5498:8475:1111:3900:2020\"',\n+ 'dst=\"CDCD:910A:2222:5498:8475:1111:3900:2021\"'),\n+ 'action': {'check_hash_same': 'ipv6-tcp'},\n+ },\n+ ]\n+}\n+\n+mac_ipv4_gre_ipv6_tcp_l3_src_l4_src = {\n+ 'sub_casename': 'ipv4_gre_ipv6_tcp_l3_src_l4_src',\n+ 'port_id': 0,\n+ 'rule': 'flow create 0 ingress pattern eth / ipv4 / gre / ipv6 / tcp / end actions rss types ipv6-tcp l3-src-only l4-src-only end key_len 0 queues end / end',\n+ 'test': [\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv6_basic_pkt['ipv6-tcp'],\n+ 'action': {'save_hash': 'ipv6-tcp'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv6_basic_pkt['ipv6-tcp'].replace(\n+ 'src=\"ABAB:910B:6666:3457:8295:3333:1800:2929\"', 'src=\"ABAB:910B:6666:3457:8295:3333:1800:2930\"'),\n+ 'action': {'check_hash_different': 'ipv6-tcp'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv6_basic_pkt['ipv6-tcp'].replace('sport=22', 'sport=21'),\n+ 'action': {'check_hash_different': 'ipv6-tcp'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv6_basic_pkt['ipv6-tcp'].replace(\n+ 'dst=\"CDCD:910A:2222:5498:8475:1111:3900:2020\"',\n+ 'dst=\"CDCD:910A:2222:5498:8475:1111:3900:2021\"'),\n+ 'action': {'check_hash_same': 'ipv6-tcp'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv6_basic_pkt['ipv6-tcp'].replace('dport=23', 'dport=24'),\n+ 'action': {'check_hash_same': 'ipv6-tcp'},\n+ },\n+ ]\n+}\n+\n+mac_ipv4_gre_ipv6_tcp_l3_src_l4_dst = {\n+ 'sub_casename': 'ipv4_gre_ipv6_tcp_l3_src_l4_dst',\n+ 'port_id': 0,\n+ 'rule': 'flow create 0 ingress pattern eth / ipv4 / gre / ipv6 / tcp / end actions rss types ipv6-tcp l3-src-only l4-dst-only end key_len 0 queues end / end',\n+ 'test': [\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv6_basic_pkt['ipv6-tcp'],\n+ 'action': {'save_hash': 'ipv6-tcp'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv6_basic_pkt['ipv6-tcp'].replace(\n+ 'src=\"ABAB:910B:6666:3457:8295:3333:1800:2929\"', 'src=\"ABAB:910B:6666:3457:8295:3333:1800:2930\"'),\n+ 'action': {'check_hash_different': 'ipv6-tcp'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv6_basic_pkt['ipv6-tcp'].replace('dport=23', 'dport=24'),\n+ 'action': {'check_hash_different': 'ipv6-tcp'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv6_basic_pkt['ipv6-tcp'].replace('sport=22', 'sport=21'),\n+ 'action': {'check_hash_same': 'ipv6-tcp'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv6_basic_pkt['ipv6-tcp'].replace(\n+ 'dst=\"CDCD:910A:2222:5498:8475:1111:3900:2020\"',\n+ 'dst=\"CDCD:910A:2222:5498:8475:1111:3900:2021\"'),\n+ 'action': {'check_hash_same': 'ipv6-tcp'},\n+ },\n+ ]\n+}\n+\n+mac_ipv4_gre_ipv6_tcp_l3_dst_l4_src = {\n+ 'sub_casename': 'ipv4_gre_ipv6_tcp_l3_dst_l4_src',\n+ 'port_id': 0,\n+ 'rule': 'flow create 0 ingress pattern eth / ipv4 / gre / ipv6 / tcp / end actions rss types ipv6-tcp l3-dst-only l4-src-only end key_len 0 queues end / end',\n+ 'test': [\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv6_basic_pkt['ipv6-tcp'],\n+ 'action': {'save_hash': 'ipv6-tcp'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv6_basic_pkt['ipv6-tcp'].replace(\n+ 'dst=\"CDCD:910A:2222:5498:8475:1111:3900:2020\"',\n+ 'dst=\"CDCD:910A:2222:5498:8475:1111:3900:2021\"'),\n+ 'action': {'check_hash_different': 'ipv6-tcp'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv6_basic_pkt['ipv6-tcp'].replace('sport=22', 'sport=21'),\n+ 'action': {'check_hash_different': 'ipv6-tcp'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv6_basic_pkt['ipv6-tcp'].replace('dport=23', 'dport=24'),\n+ 'action': {'check_hash_same': 'ipv6-tcp'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv6_basic_pkt['ipv6-tcp'].replace(\n+ 'src=\"ABAB:910B:6666:3457:8295:3333:1800:2929\"', 'src=\"ABAB:910B:6666:3457:8295:3333:1800:2930\"'),\n+ 'action': {'check_hash_same': 'ipv6-tcp'},\n+ },\n+ ]\n+}\n+\n+mac_ipv4_gre_ipv6_tcp_l3_dst_l4_dst = {\n+ 'sub_casename': 'ipv4_gre_ipv6_tcp_l3_dst_l4_dst',\n+ 'port_id': 0,\n+ 'rule': 'flow create 0 ingress pattern eth / ipv4 / gre / ipv6 / tcp / end actions rss types ipv6-tcp l3-dst-only l4-dst-only end key_len 0 queues end / end',\n+ 'test': [\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv6_basic_pkt['ipv6-tcp'],\n+ 'action': {'save_hash': 'ipv6-tcp'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv6_basic_pkt['ipv6-tcp'].replace(\n+ 'dst=\"CDCD:910A:2222:5498:8475:1111:3900:2020\"',\n+ 'dst=\"CDCD:910A:2222:5498:8475:1111:3900:2021\"'),\n+ 'action': {'check_hash_different': 'ipv6-tcp'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv6_basic_pkt['ipv6-tcp'].replace('dport=23', 'dport=24'),\n+ 'action': {'check_hash_different': 'ipv6-tcp'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv6_basic_pkt['ipv6-tcp'].replace(\n+ 'src=\"ABAB:910B:6666:3457:8295:3333:1800:2929\"', 'src=\"ABAB:910B:6666:3457:8295:3333:1800:2930\"'),\n+ 'action': {'check_hash_same': 'ipv6-tcp'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv6_basic_pkt['ipv6-tcp'].replace('sport=22', 'sport=21'),\n+ 'action': {'check_hash_same': 'ipv6-tcp'},\n+ },\n+ ]\n+}\n+\n+mac_ipv4_gre_ipv6_tcp_all = {\n+ 'sub_casename': 'ipv4_gre_ipv6_tcp_all',\n+ 'port_id': 0,\n+ 'rule': 'flow create 0 ingress pattern eth / ipv4 / gre / ipv6 / tcp / end actions rss types ipv6-tcp end key_len 0 queues end / end',\n+ 'test': [\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv6_basic_pkt['ipv6-tcp'],\n+ 'action': {'save_hash': 'ipv6-tcp'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv6_basic_pkt['ipv6-tcp'].replace(\n+ 'dst=\"CDCD:910A:2222:5498:8475:1111:3900:2020\"',\n+ 'dst=\"CDCD:910A:2222:5498:8475:1111:3900:2021\"'),\n+ 'action': {'check_hash_different': 'ipv6-tcp'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv6_basic_pkt['ipv6-tcp'].replace(\n+ 'src=\"ABAB:910B:6666:3457:8295:3333:1800:2929\"', 'src=\"ABAB:910B:6666:3457:8295:3333:1800:2930\"'),\n+ 'action': {'check_hash_different': 'ipv6-tcp'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv6_basic_pkt['ipv6-tcp'].replace('dport=23', 'dport=24'),\n+ 'action': {'check_hash_different': 'ipv6-tcp'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv6_basic_pkt['ipv6-tcp'].replace('sport=22', 'sport=21'),\n+ 'action': {'check_hash_different': 'ipv6-tcp'},\n+ },\n+ ]\n+}\n+\n+mac_ipv4_gre_ipv6_tcp_ipv6 = {\n+ 'sub_casename': 'ipv4_gre_ipv6_tcp_ipv6',\n+ 'port_id': 0,\n+ 'rule': 'flow create 0 ingress pattern eth / ipv4 / gre / ipv6 / tcp / end actions rss types ipv6 end key_len 0 queues end / end',\n+ 'test': [\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv6_basic_pkt['ipv6-tcp'],\n+ 'action': {'save_hash': 'ipv6-tcp'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv6_basic_pkt['ipv6-tcp'].replace(\n+ 'dst=\"CDCD:910A:2222:5498:8475:1111:3900:2020\"',\n+ 'dst=\"CDCD:910A:2222:5498:8475:1111:3900:2021\"'),\n+ 'action': {'check_hash_different': 'ipv6-tcp'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv6_basic_pkt['ipv6-tcp'].replace('dport=23', 'dport=24'),\n+ 'action': {'check_hash_same': 'ipv6-tcp'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv6_basic_pkt['ipv6-tcp'].replace(\n+ 'src=\"ABAB:910B:6666:3457:8295:3333:1800:2929\"', 'src=\"ABAB:910B:6666:3457:8295:3333:1800:2930\"'),\n+ 'action': {'check_hash_different': 'ipv6-tcp'},\n+ },\n+ {\n+ 'send_packet': mac_ipv4_gre_ipv6_basic_pkt['ipv6-tcp'].replace('sport=22', 'sport=21'),\n+ 'action': {'check_hash_same': 'ipv6-tcp'},\n+ },\n+ ]\n+}\n+\n+mac_ipv4_gre_ipv4 = [\n+ mac_ipv4_gre_ipv4_l3_src,\n+ mac_ipv4_gre_ipv4_l3_dst,\n+ mac_ipv4_gre_ipv4_all\n+ ]\n+\n+mac_ipv6_gre_ipv4 = [eval(str(each).replace('ipv4_gre_ipv4','ipv6_gre_ipv4').replace('IP()','IPv6()')\n+ .replace('eth / ipv4','eth / ipv6')) for each in mac_ipv4_gre_ipv4]\n+\n+mac_ipv4_gre_ipv6 = [\n+ mac_ipv4_gre_ipv6_l3_src,\n+ mac_ipv4_gre_ipv6_l3_dst,\n+ mac_ipv4_gre_ipv6_all\n+ ]\n+\n+mac_ipv6_gre_ipv6 = [eval(str(each).replace('ipv4_gre_ipv6','ipv6_gre_ipv6').replace('IP()','IPv6()')\n+ .replace('eth / ipv4','eth / ipv6')) for each in mac_ipv4_gre_ipv6]\n+\n+mac_ipv4_gre_ipv4_tcp = [\n+ mac_ipv4_gre_ipv4_tcp_l3_src,\n+ mac_ipv4_gre_ipv4_tcp_l3_dst,\n+ mac_ipv4_gre_ipv4_tcp_l4_src,\n+ mac_ipv4_gre_ipv4_tcp_l4_dst,\n+ mac_ipv4_gre_ipv4_tcp_l3_src_l4_src,\n+ mac_ipv4_gre_ipv4_tcp_l3_src_l4_dst,\n+ mac_ipv4_gre_ipv4_tcp_l3_dst_l4_src,\n+ mac_ipv4_gre_ipv4_tcp_l3_dst_l4_dst,\n+ mac_ipv4_gre_ipv4_tcp_all,\n+ mac_ipv4_gre_ipv4_tcp_ipv4,\n+ ]\n+\n+mac_ipv6_gre_ipv4_tcp = [eval(str(each).replace('ipv4_gre_ipv4','ipv6_gre_ipv4').replace('IP()','IPv6()')\n+ .replace('eth / ipv4','eth / ipv6')) for each in mac_ipv4_gre_ipv4_tcp]\n+\n+mac_ipv4_gre_ipv6_tcp = [\n+ mac_ipv4_gre_ipv6_tcp_l3_src,\n+ mac_ipv4_gre_ipv6_tcp_l3_dst,\n+ mac_ipv4_gre_ipv6_tcp_l4_src,\n+ mac_ipv4_gre_ipv6_tcp_l4_dst,\n+ mac_ipv4_gre_ipv6_tcp_l3_src_l4_src,\n+ mac_ipv4_gre_ipv6_tcp_l3_src_l4_dst,\n+ mac_ipv4_gre_ipv6_tcp_l3_dst_l4_src,\n+ mac_ipv4_gre_ipv6_tcp_l3_dst_l4_dst,\n+ mac_ipv4_gre_ipv6_tcp_all,\n+ mac_ipv4_gre_ipv6_tcp_ipv6,\n+ ]\n+\n+mac_ipv6_gre_ipv6_tcp = [eval(str(each).replace('ipv4_gre_ipv6','ipv6_gre_ipv6').replace('IP()','IPv6()')\n+ .replace('eth / ipv4','eth / ipv6')) for each in mac_ipv4_gre_ipv6_tcp]\n+\n+mac_ipv4_gre_ipv4_udp = [eval(str(each).replace('tcp','udp').replace('TCP','UDP').replace('proto=6','proto=17')) for each in mac_ipv4_gre_ipv4_tcp]\n+\n+mac_ipv6_gre_ipv4_udp = [eval(str(each).replace('tcp','udp').replace('TCP','UDP').replace('proto=6','proto=17')) for each in mac_ipv6_gre_ipv4_tcp]\n+\n+mac_ipv4_gre_ipv6_udp = [eval(str(each).replace('tcp','udp').replace('TCP','UDP').replace('nh=6','nh=17')) for each in mac_ipv4_gre_ipv6_tcp]\n+\n+mac_ipv6_gre_ipv6_udp = [eval(str(each).replace('tcp','udp').replace('TCP','UDP').replace('nh=6','nh=17')) for each in mac_ipv6_gre_ipv6_tcp]\n+\n+mac_ipv4_gre_ipv4_symmetric = {\n+ 'sub_casename': 'mac_ipv4_gre_ipv4_symmetric',\n+ 'port_id': 0,\n+ 'rule': 'flow create 0 ingress pattern eth / ipv4 / gre / ipv4 / end actions rss func symmetric_toeplitz types ipv4 end key_len 0 queues end / end',\n+ 'test': [\n+ {\n+ 'send_packet': 'Ether(dst=\"%s\")/IP()/GRE()/IP(dst=\"192.168.0.1\", src=\"192.168.0.2\")/(\"X\"*480)' % vf0_mac,\n+ 'action': {'save_hash': 'ipv4'},\n+ },\n+ {\n+ 'send_packet': 'Ether(dst=\"%s\")/IP()/GRE()/IP(dst=\"192.168.0.2\", src=\"192.168.0.1\")/(\"X\"*480)' % vf0_mac,\n+ 'action': {'check_hash_same': 'ipv4'},\n+ },\n+ {\n+ 'send_packet': 'Ether(dst=\"%s\")/IP()/GRE()/IP(dst=\"192.168.0.1\", src=\"192.168.0.2\",proto=6)/(\"X\"*480)' % vf0_mac,\n+ 'action': {'save_hash': 'ipv4-proto'},\n+ },\n+ {\n+ 'send_packet': 'Ether(dst=\"%s\")/IP()/GRE()/IP(dst=\"192.168.0.2\", src=\"192.168.0.1\",proto=6)/(\"X\"*480)' % vf0_mac,\n+ 'action': {'check_hash_same': 'ipv4-proto'},\n+ },\n+ ],\n+}\n+\n+mac_ipv6_gre_ipv4_symmetric = eval(str(mac_ipv4_gre_ipv4_symmetric).replace('ipv4_gre_ipv4','ipv6_gre_ipv4').replace('IP()','IPv6()')\n+ .replace('eth / ipv4','eth / ipv6'))\n+\n+mac_ipv4_gre_ipv6_symmetric = {\n+ 'sub_casename': 'mac_ipv4_gre_ipv6_symmetric',\n+ 'port_id': 0,\n+ 'rule': 'flow create 0 ingress pattern eth / ipv4 / gre / ipv6 / end actions rss func symmetric_toeplitz types ipv6 end key_len 0 queues end / end',\n+ 'test': [\n+ {\n+ 'send_packet': 'Ether(dst=\"%s\")/IP()/GRE()/IPv6(src=\"ABAB:910B:6666:3457:8295:3333:1800:2929\",dst=\"CDCD:910A:2222:5498:8475:1111:3900:2020\")/(\"X\"*480)' % vf0_mac,\n+ 'action': {'save_hash': 'ipv6'},\n+ },\n+ {\n+ 'send_packet': 'Ether(dst=\"%s\")/IP()/GRE()/IPv6(dst=\"ABAB:910B:6666:3457:8295:3333:1800:2929\",src=\"CDCD:910A:2222:5498:8475:1111:3900:2020\")/(\"X\"*480)' % vf0_mac,\n+ 'action': {'check_hash_same': 'ipv6'},\n+ },\n+ {\n+ 'send_packet': 'Ether(dst=\"%s\")/IP()/GRE()/IPv6(src=\"ABAB:910B:6666:3457:8295:3333:1800:2929\",dst=\"CDCD:910A:2222:5498:8475:1111:3900:2020\", nh=6)/(\"X\"*480)' % vf0_mac,\n+ 'action': {'save_hash': 'ipv6-nh'},\n+ },\n+ {\n+ 'send_packet': 'Ether(dst=\"%s\")/IP()/GRE()/IPv6(dst=\"ABAB:910B:6666:3457:8295:3333:1800:2929\",src=\"CDCD:910A:2222:5498:8475:1111:3900:2020\", nh=6)/(\"X\"*480)' % vf0_mac,\n+ 'action': {'check_hash_same': 'ipv6-nh'},\n+ },\n+ ],\n+}\n+\n+mac_ipv6_gre_ipv6_symmetric = eval(str(mac_ipv4_gre_ipv6_symmetric).replace('ipv4_gre_ipv6','ipv6_gre_ipv6').replace('IP()','IPv6()')\n+ .replace('eth / ipv4','eth / ipv6'))\n+\n+mac_ipv4_gre_ipv4_tcp_symmetric = {\n+ 'sub_casename': 'mac_ipv4_gre_ipv4_tcp_symmetric',\n+ 'port_id': 0,\n+ 'rule': 'flow create 0 ingress pattern eth / ipv4 / gre / ipv4 / tcp / end actions rss func symmetric_toeplitz types ipv4-tcp end key_len 0 queues end / end',\n+ 'test': [\n+ {\n+ 'send_packet': 'Ether(dst=\"%s\")/IP()/GRE()/IP(dst=\"192.168.0.1\", src=\"192.168.0.2\")/TCP(sport=22,dport=23)/(\"X\"*480)' % vf0_mac,\n+ 'action': {'save_hash': 'ipv4'},\n+ },\n+ {\n+ 'send_packet': 'Ether(dst=\"%s\")/IP()/GRE()/IP(dst=\"192.168.0.2\", src=\"192.168.0.1\")/TCP(sport=22,dport=23)/(\"X\"*480)' % vf0_mac,\n+ 'action': {'check_hash_same': 'ipv4'},\n+ },\n+ {\n+ 'send_packet': 'Ether(dst=\"%s\")/IP()/GRE()/IP(dst=\"192.168.0.1\", src=\"192.168.0.2\")/TCP(sport=23,dport=22)/(\"X\"*480)' % vf0_mac,\n+ 'action': {'check_hash_same': 'ipv4'},\n+ },\n+ {\n+ 'send_packet': 'Ether(dst=\"%s\")/IP()/GRE()/IP(dst=\"192.168.0.1\", src=\"192.168.0.2\",proto=6)/TCP(sport=22,dport=23)/(\"X\"*480)' % vf0_mac,\n+ 'action': {'save_hash': 'ipv4-proto'},\n+ },\n+ {\n+ 'send_packet': 'Ether(dst=\"%s\")/IP()/GRE()/IP(dst=\"192.168.0.2\", src=\"192.168.0.1\",proto=6)/TCP(sport=22,dport=23)/(\"X\"*480)' % vf0_mac,\n+ 'action': {'check_hash_same': 'ipv4-proto'},\n+ },\n+ {\n+ 'send_packet': 'Ether(dst=\"%s\")/IP()/GRE()/IP(dst=\"192.168.0.1\", src=\"192.168.0.2\",proto=6)/TCP(sport=23,dport=22)/(\"X\"*480)' % vf0_mac,\n+ 'action': {'check_hash_same': 'ipv4-proto'},\n+ },\n+ ],\n+}\n+\n+mac_ipv6_gre_ipv4_tcp_symmetric = eval(str(mac_ipv4_gre_ipv4_tcp_symmetric).replace('ipv4_gre_ipv4','ipv6_gre_ipv4').replace('IP()','IPv6()')\n+ .replace('eth / ipv4','eth / ipv6'))\n+\n+mac_ipv4_gre_ipv6_tcp_symmetric = {\n+ 'sub_casename': 'mac_ipv4_gre_ipv6_tcp_symmetric',\n+ 'port_id': 0,\n+ 'rule': 'flow create 0 ingress pattern eth / ipv4 / gre / ipv6 / tcp / end actions rss func symmetric_toeplitz types ipv6-tcp end key_len 0 queues end / end',\n+ 'test': [\n+ {\n+ 'send_packet': 'Ether(dst=\"%s\")/IP()/GRE()/IPv6(src=\"ABAB:910B:6666:3457:8295:3333:1800:2929\",dst=\"CDCD:910A:2222:5498:8475:1111:3900:2020\")/TCP(sport=22,dport=23)/(\"X\"*480)' % vf0_mac,\n+ 'action': {'save_hash': 'ipv6'},\n+ },\n+ {\n+ 'send_packet': 'Ether(dst=\"%s\")/IP()/GRE()/IPv6(dst=\"ABAB:910B:6666:3457:8295:3333:1800:2929\",src=\"CDCD:910A:2222:5498:8475:1111:3900:2020\")/TCP(sport=22,dport=23)/(\"X\"*480)' % vf0_mac,\n+ 'action': {'check_hash_same': 'ipv6'},\n+ },\n+ {\n+ 'send_packet': 'Ether(dst=\"%s\")/IP()/GRE()/IPv6(src=\"ABAB:910B:6666:3457:8295:3333:1800:2929\",dst=\"CDCD:910A:2222:5498:8475:1111:3900:2020\")/TCP(sport=23,dport=22)/(\"X\"*480)' % vf0_mac,\n+ 'action': {'check_hash_same': 'ipv6'},\n+ },\n+ {\n+ 'send_packet': 'Ether(dst=\"%s\")/IP()/GRE()/IPv6(src=\"ABAB:910B:6666:3457:8295:3333:1800:2929\",dst=\"CDCD:910A:2222:5498:8475:1111:3900:2020\", nh=6)/TCP(sport=22,dport=23)/(\"X\"*480)' % vf0_mac,\n+ 'action': {'save_hash': 'ipv6-nh'},\n+ },\n+ {\n+ 'send_packet': 'Ether(dst=\"%s\")/IP()/GRE()/IPv6(dst=\"ABAB:910B:6666:3457:8295:3333:1800:2929\",src=\"CDCD:910A:2222:5498:8475:1111:3900:2020\", nh=6)/TCP(sport=22,dport=23)/(\"X\"*480)' % vf0_mac,\n+ 'action': {'check_hash_same': 'ipv6-nh'},\n+ },\n+ {\n+ 'send_packet': 'Ether(dst=\"%s\")/IP()/GRE()/IPv6(src=\"ABAB:910B:6666:3457:8295:3333:1800:2929\",dst=\"CDCD:910A:2222:5498:8475:1111:3900:2020\", nh=6)/TCP(sport=23,dport=22)/(\"X\"*480)' % vf0_mac,\n+ 'action': {'check_hash_same': 'ipv6-nh'},\n+ },\n+ ],\n+}\n+\n+mac_ipv6_gre_ipv6_tcp_symmetric = eval(str(mac_ipv4_gre_ipv6_tcp_symmetric).replace('ipv4_gre_ipv6','ipv6_gre_ipv6').replace('IP()','IPv6()')\n+ .replace('eth / ipv4','eth / ipv6'))\n+\n+mac_ipv4_gre_ipv4_udp_symmetric = eval(str(mac_ipv4_gre_ipv4_tcp_symmetric).replace('tcp','udp').replace('TCP','UDP').replace('proto=6','proto=17'))\n+\n+mac_ipv6_gre_ipv4_udp_symmetric = eval(str(mac_ipv6_gre_ipv4_tcp_symmetric).replace('tcp','udp').replace('TCP','UDP').replace('proto=6','proto=17'))\n+\n+mac_ipv4_gre_ipv6_udp_symmetric = eval(str(mac_ipv4_gre_ipv6_tcp_symmetric).replace('tcp','udp').replace('TCP','UDP').replace('proto=6','proto=17'))\n+\n+mac_ipv6_gre_ipv6_udp_symmetric = eval(str(mac_ipv6_gre_ipv6_tcp_symmetric).replace('tcp','udp').replace('TCP','UDP').replace('proto=6','proto=17'))\n+#gre tunnel end\n+\n class AdvancedIavfRSSTest(TestCase):\n \n def set_up_all(self):\n@@ -4451,6 +5376,78 @@ class AdvancedIavfRSSTest(TestCase):\n self.rssprocess.handle_tests(tests, 0)\n self.verify(not self.rssprocess.error_msgs, 'some subcases failed')\n \n+ def test_mac_ipv4_gre_ipv4(self):\n+ self.rssprocess.handle_rss_distribute_cases(cases_info=mac_ipv4_gre_ipv4)\n+\n+ def test_mac_ipv6_gre_ipv4(self):\n+ self.rssprocess.handle_rss_distribute_cases(cases_info=mac_ipv6_gre_ipv4)\n+\n+ def test_mac_ipv4_gre_ipv6(self):\n+ self.rssprocess.handle_rss_distribute_cases(cases_info=mac_ipv4_gre_ipv6)\n+\n+ def test_mac_ipv6_gre_ipv6(self):\n+ self.rssprocess.handle_rss_distribute_cases(cases_info=mac_ipv6_gre_ipv6)\n+\n+ def test_mac_ipv4_gre_ipv4_tcp(self):\n+ self.rssprocess.handle_rss_distribute_cases(cases_info=mac_ipv4_gre_ipv4_tcp)\n+\n+ def test_mac_ipv6_gre_ipv4_tcp(self):\n+ self.rssprocess.handle_rss_distribute_cases(cases_info=mac_ipv6_gre_ipv4_tcp)\n+\n+ def test_mac_ipv4_gre_ipv6_tcp(self):\n+ self.rssprocess.handle_rss_distribute_cases(cases_info=mac_ipv4_gre_ipv6_tcp)\n+\n+ def test_mac_ipv6_gre_ipv6_tcp(self):\n+ self.rssprocess.handle_rss_distribute_cases(cases_info=mac_ipv6_gre_ipv6_tcp)\n+\n+ def test_mac_ipv4_gre_ipv4_udp(self):\n+ self.rssprocess.handle_rss_distribute_cases(cases_info=mac_ipv4_gre_ipv4_udp)\n+\n+ def test_mac_ipv6_gre_ipv4_udp(self):\n+ self.rssprocess.handle_rss_distribute_cases(cases_info=mac_ipv6_gre_ipv4_udp)\n+\n+ def test_mac_ipv4_gre_ipv6_udp(self):\n+ self.rssprocess.handle_rss_distribute_cases(cases_info=mac_ipv4_gre_ipv6_udp)\n+\n+ def test_mac_ipv6_gre_ipv6_udp(self):\n+ self.rssprocess.handle_rss_distribute_cases(cases_info=mac_ipv6_gre_ipv6_udp)\n+\n+ def test_symmetric_mac_ipv4_gre_ipv4(self):\n+ self.rssprocess.handle_rss_distribute_cases(cases_info=mac_ipv4_gre_ipv4_symmetric)\n+\n+ def test_symmetric_mac_ipv6_gre_ipv4(self):\n+ self.rssprocess.handle_rss_distribute_cases(cases_info=mac_ipv6_gre_ipv4_symmetric)\n+\n+ def test_symmetric_mac_ipv4_gre_ipv6(self):\n+ self.rssprocess.handle_rss_distribute_cases(cases_info=mac_ipv4_gre_ipv6_symmetric)\n+\n+ def test_symmetric_mac_ipv6_gre_ipv6(self):\n+ self.rssprocess.handle_rss_distribute_cases(cases_info=mac_ipv6_gre_ipv6_symmetric)\n+\n+ def test_symmetric_mac_ipv4_gre_ipv4_tcp(self):\n+ self.rssprocess.handle_rss_distribute_cases(cases_info=mac_ipv4_gre_ipv4_tcp_symmetric)\n+\n+ def test_symmetric_mac_ipv6_gre_ipv4_tcp(self):\n+ self.rssprocess.handle_rss_distribute_cases(cases_info=mac_ipv6_gre_ipv4_tcp_symmetric)\n+\n+ def test_symmetric_mac_ipv4_gre_ipv6_tcp(self):\n+ self.rssprocess.handle_rss_distribute_cases(cases_info=mac_ipv4_gre_ipv6_tcp_symmetric)\n+\n+ def test_symmetric_mac_ipv6_gre_ipv6_tcp(self):\n+ self.rssprocess.handle_rss_distribute_cases(cases_info=mac_ipv6_gre_ipv6_tcp_symmetric)\n+\n+ def test_symmetric_mac_ipv4_gre_ipv4_udp(self):\n+ self.rssprocess.handle_rss_distribute_cases(cases_info=mac_ipv4_gre_ipv4_udp_symmetric)\n+\n+ def test_symmetric_mac_ipv6_gre_ipv4_udp(self):\n+ self.rssprocess.handle_rss_distribute_cases(cases_info=mac_ipv6_gre_ipv4_udp_symmetric)\n+\n+ def test_symmetric_mac_ipv4_gre_ipv6_udp(self):\n+ self.rssprocess.handle_rss_distribute_cases(cases_info=mac_ipv4_gre_ipv6_udp_symmetric)\n+\n+ def test_symmetric_mac_ipv6_gre_ipv6_udp(self):\n+ self.rssprocess.handle_rss_distribute_cases(cases_info=mac_ipv6_gre_ipv6_udp_symmetric)\n+\n def tear_down(self):\n # destroy all flow rule on port 0\n self.dut.send_command(\"flow flush 0\", timeout=1)\n", "prefixes": [ "V4", "2/2" ] }{ "id": 97287, "url": "