Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/97465/?format=api
http://patchwork.dpdk.org/api/patches/97465/?format=api", "web_url": "http://patchwork.dpdk.org/project/dts/patch/20210827211254.5114-4-zhiminx.huang@intel.com/", "project": { "id": 3, "url": "http://patchwork.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": "<20210827211254.5114-4-zhiminx.huang@intel.com>", "list_archive_url": "https://inbox.dpdk.org/dts/20210827211254.5114-4-zhiminx.huang@intel.com", "date": "2021-08-27T21:12:53", "name": "[V1,3/4] tests/cvl_fdir:add esp flow test case", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": false, "hash": "b55a898e80e0fdb955155eb088900c587d9fccaf", "submitter": { "id": 1685, "url": "http://patchwork.dpdk.org/api/people/1685/?format=api", "name": "Huang, ZhiminX", "email": "zhiminx.huang@intel.com" }, "delegate": null, "mbox": "http://patchwork.dpdk.org/project/dts/patch/20210827211254.5114-4-zhiminx.huang@intel.com/mbox/", "series": [ { "id": 18496, "url": "http://patchwork.dpdk.org/api/series/18496/?format=api", "web_url": "http://patchwork.dpdk.org/project/dts/list/?series=18496", "date": "2021-08-27T21:12:50", "name": "enable esp flow", "version": 1, "mbox": "http://patchwork.dpdk.org/series/18496/mbox/" } ], "comments": "http://patchwork.dpdk.org/api/patches/97465/comments/", "check": "pending", "checks": "http://patchwork.dpdk.org/api/patches/97465/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 65C1FA0C41;\n\tFri, 27 Aug 2021 14:40:04 +0200 (CEST)", "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 5D3EE411E7;\n\tFri, 27 Aug 2021 14:40:04 +0200 (CEST)", "from mga17.intel.com (mga17.intel.com [192.55.52.151])\n by mails.dpdk.org (Postfix) with ESMTP id 057D540150\n for <dts@dpdk.org>; Fri, 27 Aug 2021 14:40:01 +0200 (CEST)", "from fmsmga003.fm.intel.com ([10.253.24.29])\n by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 27 Aug 2021 05:40:01 -0700", "from unknown (HELO cvl_100g_103.icx.intel.com) ([10.240.183.103])\n by fmsmga003-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 27 Aug 2021 05:40:00 -0700" ], "X-IronPort-AV": [ "E=McAfee;i=\"6200,9189,10088\"; a=\"198190508\"", "E=Sophos;i=\"5.84,356,1620716400\"; d=\"scan'208\";a=\"198190508\"", "E=Sophos;i=\"5.84,356,1620716400\"; d=\"scan'208\";a=\"528301445\"" ], "From": "Zhimin Huang <zhiminx.huang@intel.com>", "To": "dts@dpdk.org", "Cc": "Zhimin Huang <zhiminx.huang@intel.com>", "Date": "Sat, 28 Aug 2021 05:12:53 +0800", "Message-Id": "<20210827211254.5114-4-zhiminx.huang@intel.com>", "X-Mailer": "git-send-email 2.17.1", "In-Reply-To": "<20210827211254.5114-1-zhiminx.huang@intel.com>", "References": "<20210827211254.5114-1-zhiminx.huang@intel.com>", "Subject": "[dts] [PATCH V1 3/4] tests/cvl_fdir:add esp flow test case", "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": "21.08 new feature to support take esp,outer ip src/dst take inputset, \n so add test case in pf fdir.\n\nSigned-off-by: Zhimin Huang <zhiminx.huang@intel.com>\n---\n tests/TestSuite_cvl_fdir.py | 336 ++++++++++++++++++++++++++++++++++++\n 1 file changed, 336 insertions(+)", "diff": "diff --git a/tests/TestSuite_cvl_fdir.py b/tests/TestSuite_cvl_fdir.py\nindex 0c3a1917..9cf3c352 100644\n--- a/tests/TestSuite_cvl_fdir.py\n+++ b/tests/TestSuite_cvl_fdir.py\n@@ -334,6 +334,50 @@ L2_Ethertype = [\n 'Ether(dst=\"00:11:22:33:44:55\",type=0x88f7)/\"\\\\x00\\\\x02\"',\n 'Ether(dst=\"00:11:22:33:44:55\",type=0x8847)']\n \n+MAC_IPV4_ESP = {\n+ \"matched\": [\n+ \"Ether(dst='00:11:22:33:44:55')/IP(src='192.168.0.20',dst='192.168.0.21',proto=50)/ESP(spi=7)/Raw('x'*480)\",\n+ ],\n+ \"unmatched\": [\n+ \"Ether(dst='00:11:22:33:44:55')/IP(src='192.168.0.22',dst='192.168.0.21',proto=50)/ESP(spi=7)/Raw('x'*480)\",\n+ \"Ether(dst='00:11:22:33:44:55')/IP(src='192.168.0.20',dst='192.168.0.11',proto=50)/ESP(spi=7)/Raw('x'*480)\",\n+ \"Ether(dst='00:11:22:33:44:55')/IP(src='192.168.0.20',dst='192.168.0.21',proto=50)/ESP(spi=17)/Raw('x'*480)\",\n+ ]\n+}\n+\n+MAC_IPV6_ESP = {\n+ \"matched\": [\n+ \"Ether(dst='00:11:22:33:44:55')/IPv6(src='2001::1',dst='2001::2',nh=50)/ESP(spi=7)/Raw('x'*480)\",\n+ ],\n+ \"unmatched\": [\n+ \"Ether(dst='00:11:22:33:44:55')/IPv6(src='1111:2222:3333:4444:5555:6666:7777:8888',dst='2001::2',nh=50)/ESP(spi=7)/Raw('x'*480)\",\n+ \"Ether(dst='00:11:22:33:44:55')/IPv6(src='2001::1',dst='1111:2222:3333:4444:5555:6666:7777:9999',nh=50)/ESP(spi=7)/Raw('x'*480)\",\n+ \"Ether(dst='00:11:22:33:44:55')/IPv6(src='2001::1',dst='2001::2',nh=50)/ESP(spi=17)/Raw('x'*480)\",\n+ ]\n+}\n+\n+MAC_IPV4_NAT_T_ESP = {\n+ \"matched\": [\n+ \"Ether(dst='00:11:22:33:44:55')/IP(src='192.168.0.20',dst='192.168.0.21')/UDP(dport=4500)/ESP(spi=7)/Raw('x'*480)\",\n+ ],\n+ \"unmatched\": [\n+ \"Ether(dst='00:11:22:33:44:55')/IP(src='192.168.0.22',dst='192.168.0.21')/UDP(dport=4500)/ESP(spi=7)/Raw('x'*480)\",\n+ \"Ether(dst='00:11:22:33:44:55')/IP(src='192.168.0.20',dst='192.168.0.11')/UDP(dport=4500)/ESP(spi=7)/Raw('x'*480)\",\n+ \"Ether(dst='00:11:22:33:44:55')/IP(src='192.168.0.20',dst='192.168.0.21')/UDP(dport=4500)/ESP(spi=77)/Raw('x'*480)\",\n+ ]\n+}\n+\n+MAC_IPV6_NAT_T_ESP = {\n+ \"matched\": [\n+ \"Ether(dst='00:11:22:33:44:55')/IPv6(src='2001::1',dst='2001::2')/UDP(dport=4500)/ESP(spi=7)/Raw('x'*480)\",\n+ ],\n+ \"unmatched\": [\n+ \"Ether(dst='00:11:22:33:44:55')/IPv6(src='2001::8',dst='2001::2')/UDP(dport=4500)/ESP(spi=7)/Raw('x'*480)\",\n+ \"Ether(dst='00:11:22:33:44:55')/IPv6(src='2001::1',dst='2001::9')/UDP(dport=4500)/ESP(spi=7)/Raw('x'*480)\",\n+ \"Ether(dst='00:11:22:33:44:55')/IPv6(src='2001::1',dst='2001::2')/UDP(dport=4500)/ESP(spi=77)/Raw('x'*480)\",\n+ ]\n+}\n+\n tv_mac_ipv4_pay_queue_index = {\n \"name\": \"test_mac_ipv4_pay_queue_index\",\n \"rule\": \"flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / ipv4 src is 192.168.0.20 dst is 192.168.0.21 proto is 255 ttl is 2 tos is 4 / end actions queue index 1 / end\",\n@@ -2148,6 +2192,282 @@ vectors_l2_ethertype = [tv_l2_ethertype_queue_index,\n tv_l2_ethertype_mark_rss,\n tv_l2_ethertype_mark]\n \n+tv_mac_ipv4_esp_queue_index = {\n+ \"name\": \"tv_mac_ipv4_esp_queue_index\",\n+ \"rule\": \"flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.0.21 / esp spi is 7 / end actions queue index 13 / mark id 7 / end\",\n+ \"scapy_str\": {\"match\": MAC_IPV4_ESP['matched'],\n+ \"unmatched\": MAC_IPV4_ESP['unmatched'],\n+ },\n+ \"check_func\": rfc.check_mark,\n+ \"check_param\": {\"port_id\": 0, \"mark_id\": 7, \"queue\": 13}\n+}\n+\n+tv_mac_ipv4_esp_queue_group = {\n+ \"name\": \"tv_mac_ipv4_esp_queue_group\",\n+ \"rule\": \"flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.0.21 / esp spi is 7 / end actions rss queues 1 2 3 4 end / mark id 6 / end\",\n+ \"scapy_str\": {\"match\": MAC_IPV4_ESP['matched'],\n+ \"unmatched\": MAC_IPV4_ESP['unmatched'],\n+ },\n+ \"check_func\": rfc.check_mark,\n+ \"check_param\": {\"port_id\": 0, \"mark_id\": 6, \"queue\": [1, 2, 3, 4]}\n+}\n+\n+tv_mac_ipv4_esp_passthru = {\n+ \"name\": \"tv_mac_ipv4_esp_passthru\",\n+ \"rule\": \"flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.0.21 / esp spi is 7 / end actions passthru / mark id 1 / end\",\n+ \"scapy_str\": {\"match\": MAC_IPV4_ESP['matched'],\n+ \"unmatched\": MAC_IPV4_ESP['unmatched'],\n+ },\n+ \"check_func\": rfc.check_mark,\n+ \"check_param\": {\"port_id\": 0, \"rss\": True, \"mark_id\": 1}\n+}\n+\n+tv_mac_ipv4_esp_drop = {\n+ \"name\": \"tv_mac_ipv4_esp_drop\",\n+ \"rule\": \"flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.0.21 / esp spi is 7 / end actions drop / end\",\n+ \"scapy_str\": {\"match\": MAC_IPV4_ESP['matched'],\n+ \"unmatched\": MAC_IPV4_ESP['unmatched'],\n+ },\n+ \"check_func\": rfc.check_mark,\n+ \"check_param\": {\"port_id\": 0, \"drop\": 1}\n+}\n+\n+tv_mac_ipv4_esp_mark_rss = {\n+ \"name\": \"tv_mac_ipv4_esp_mark_rss\",\n+ \"rule\": \"flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.0.21 / esp spi is 7 / end actions mark id 2 / rss / end\",\n+ \"scapy_str\": {\"match\": MAC_IPV4_ESP['matched'],\n+ \"unmatched\": MAC_IPV4_ESP['unmatched'],\n+ },\n+ \"check_func\": rfc.check_mark,\n+ \"check_param\": {\"port_id\": 0, \"mark_id\": 2, \"rss\": True}\n+}\n+\n+tv_mac_ipv4_esp_mark = {\n+ \"name\": \"tv_mac_ipv4_esp_mark\",\n+ \"rule\": \"flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.0.21 / esp spi is 7 / end actions mark id 15 / end\",\n+ \"scapy_str\": {\"match\": MAC_IPV4_ESP['matched'],\n+ \"unmatched\": MAC_IPV4_ESP['unmatched'],\n+ },\n+ \"check_func\": rfc.check_mark,\n+ \"check_param\": {\"port_id\": 0, \"mark_id\": 15}\n+}\n+\n+vectors_mac_ipv4_esp = [\n+ tv_mac_ipv4_esp_queue_index,\n+ tv_mac_ipv4_esp_queue_group,\n+ tv_mac_ipv4_esp_passthru,\n+ tv_mac_ipv4_esp_drop,\n+ tv_mac_ipv4_esp_mark_rss,\n+ tv_mac_ipv4_esp_mark,\n+]\n+\n+tv_mac_ipv6_esp_queue_index = {\n+ \"name\": \"tv_mac_ipv6_esp_queue_index\",\n+ \"rule\": \"flow create 0 ingress pattern eth / ipv6 src is 2001::1 dst is 2001::2 / esp spi is 7 / end actions queue index 13 / mark id 7 / end\",\n+ \"scapy_str\": {\"match\": MAC_IPV6_ESP['matched'],\n+ \"unmatched\": MAC_IPV6_ESP['unmatched'],\n+ },\n+ \"check_func\": rfc.check_mark,\n+ \"check_param\": {\"port_id\": 0, \"mark_id\": 7, \"queue\": 13}\n+}\n+\n+tv_mac_ipv6_esp_queue_group = {\n+ \"name\": \"tv_mac_ipv6_esp_queue_group\",\n+ \"rule\": \"flow create 0 ingress pattern eth / ipv6 src is 2001::1 dst is 2001::2 / esp spi is 7 / end actions rss queues 1 2 3 4 end / mark id 6 / end\",\n+ \"scapy_str\": {\"match\": MAC_IPV6_ESP['matched'],\n+ \"unmatched\": MAC_IPV6_ESP['unmatched'],\n+ },\n+ \"check_func\": rfc.check_mark,\n+ \"check_param\": {\"port_id\": 0, \"mark_id\": 6, \"queue\": [1, 2, 3, 4]}\n+}\n+\n+tv_mac_ipv6_esp_passthru = {\n+ \"name\": \"tv_mac_ipv6_esp_passthru\",\n+ \"rule\": \"flow create 0 ingress pattern eth / ipv6 src is 2001::1 dst is 2001::2 / esp spi is 7 / end actions passthru / mark id 1 / end\",\n+ \"scapy_str\": {\"match\": MAC_IPV6_ESP['matched'],\n+ \"unmatched\": MAC_IPV6_ESP['unmatched'],\n+ },\n+ \"check_func\": rfc.check_mark,\n+ \"check_param\": {\"port_id\": 0, \"rss\": True, \"mark_id\": 1}\n+}\n+\n+tv_mac_ipv6_esp_drop = {\n+ \"name\": \"tv_mac_ipv6_esp_drop\",\n+ \"rule\": \"flow create 0 ingress pattern eth / ipv6 src is 2001::1 dst is 2001::2 / esp spi is 7 / end actions drop / end\",\n+ \"scapy_str\": {\"match\": MAC_IPV6_ESP['matched'],\n+ \"unmatched\": MAC_IPV6_ESP['unmatched'],\n+ },\n+ \"check_func\": rfc.check_mark,\n+ \"check_param\": {\"port_id\": 0, \"drop\": 1}\n+}\n+\n+tv_mac_ipv6_esp_mark_rss = {\n+ \"name\": \"tv_mac_ipv6_esp_mark_rss\",\n+ \"rule\": \"flow create 0 ingress pattern eth / ipv6 src is 2001::1 dst is 2001::2 / esp spi is 7 / end actions mark / rss / end\",\n+ \"scapy_str\": {\"match\": MAC_IPV6_ESP['matched'],\n+ \"unmatched\": MAC_IPV6_ESP['unmatched'],\n+ },\n+ \"check_func\": rfc.check_mark,\n+ \"check_param\": {\"port_id\": 0, \"mark_id\": 0, \"rss\": True}\n+}\n+\n+tv_mac_ipv6_esp_mark = {\n+ \"name\": \"tv_mac_ipv6_esp_mark\",\n+ \"rule\": \"flow create 0 ingress pattern eth / ipv6 src is 2001::1 dst is 2001::2 / esp spi is 7 / end actions mark id 15 / end\",\n+ \"scapy_str\": {\"match\": MAC_IPV6_ESP['matched'],\n+ \"unmatched\": MAC_IPV6_ESP['unmatched'],\n+ },\n+ \"check_func\": rfc.check_mark,\n+ \"check_param\": {\"port_id\": 0, \"mark_id\": 15}\n+}\n+\n+vectors_mac_ipv6_esp = [\n+ tv_mac_ipv6_esp_queue_index,\n+ tv_mac_ipv6_esp_queue_group,\n+ tv_mac_ipv6_esp_passthru,\n+ tv_mac_ipv6_esp_drop,\n+ tv_mac_ipv6_esp_mark_rss,\n+ tv_mac_ipv6_esp_mark,\n+]\n+\n+tv_mac_ipv4_nat_t_esp_queue_index = {\n+ \"name\": \"tv_mac_ipv4_nat_t_esp_queue_index\",\n+ \"rule\": \"flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.0.21 / udp / esp spi is 7 / end actions queue index 13 / mark id 7 / end\",\n+ \"scapy_str\": {\"match\": MAC_IPV4_NAT_T_ESP['matched'],\n+ \"unmatched\": MAC_IPV4_NAT_T_ESP['unmatched'],\n+ },\n+ \"check_func\": rfc.check_mark,\n+ \"check_param\": {\"port_id\": 0, \"mark_id\": 7, \"queue\": 13}\n+}\n+\n+tv_mac_ipv4_nat_t_esp_queue_group = {\n+ \"name\": \"tv_mac_ipv4_nat_t_esp_queue_group\",\n+ \"rule\": \"flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.0.21 / udp / esp spi is 7 / end actions rss queues 1 2 3 4 end / mark id 6 / end\",\n+ \"scapy_str\": {\"match\": MAC_IPV4_NAT_T_ESP['matched'],\n+ \"unmatched\": MAC_IPV4_NAT_T_ESP['unmatched'],\n+ },\n+ \"check_func\": rfc.check_mark,\n+ \"check_param\": {\"port_id\": 0, \"mark_id\": 6, \"queue\": [1, 2, 3, 4]}\n+}\n+\n+tv_mac_ipv4_nat_t_esp_passthru = {\n+ \"name\": \"tv_mac_ipv4_nat_t_esp_passthru\",\n+ \"rule\": \"flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.0.21 / udp / esp spi is 7 / end actions passthru / mark id 1 / end\",\n+ \"scapy_str\": {\"match\": MAC_IPV4_NAT_T_ESP['matched'],\n+ \"unmatched\": MAC_IPV4_NAT_T_ESP['unmatched'],\n+ },\n+ \"check_func\": rfc.check_mark,\n+ \"check_param\": {\"port_id\": 0, \"rss\": True, \"mark_id\": 1}\n+}\n+\n+tv_mac_ipv4_nat_t_esp_drop = {\n+ \"name\": \"tv_mac_ipv4_nat_t_esp_drop\",\n+ \"rule\": \"flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.0.21 / udp / esp spi is 7 / end actions drop / end\",\n+ \"scapy_str\": {\"match\": MAC_IPV4_NAT_T_ESP['matched'],\n+ \"unmatched\": MAC_IPV4_NAT_T_ESP['unmatched'],\n+ },\n+ \"check_func\": rfc.check_mark,\n+ \"check_param\": {\"port_id\": 0, \"drop\": 1}\n+}\n+\n+tv_mac_ipv4_nat_t_esp_mark_rss = {\n+ \"name\": \"tv_mac_ipv4_nat_t_esp_mark_rss\",\n+ \"rule\": \"flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.0.21 / udp / esp spi is 7 / end actions mark id 2 / rss / end\",\n+ \"scapy_str\": {\"match\": MAC_IPV4_NAT_T_ESP['matched'],\n+ \"unmatched\": MAC_IPV4_NAT_T_ESP['unmatched'],\n+ },\n+ \"check_func\": rfc.check_mark,\n+ \"check_param\": {\"port_id\": 0, \"mark_id\": 2, \"rss\": True}\n+}\n+\n+tv_mac_ipv4_nat_t_esp_mark = {\n+ \"name\": \"tv_mac_ipv4_nat_t_esp_mark\",\n+ \"rule\": \"flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.0.21 / udp / esp spi is 7 / end actions mark id 15 / end\",\n+ \"scapy_str\": {\"match\": MAC_IPV4_NAT_T_ESP['matched'],\n+ \"unmatched\": MAC_IPV4_NAT_T_ESP['unmatched'],\n+ },\n+ \"check_func\": rfc.check_mark,\n+ \"check_param\": {\"port_id\": 0, \"mark_id\": 15}\n+}\n+\n+vectors_mac_ipv4_nat_t_esp = [\n+ tv_mac_ipv4_nat_t_esp_queue_index,\n+ tv_mac_ipv4_nat_t_esp_queue_group,\n+ tv_mac_ipv4_nat_t_esp_passthru,\n+ tv_mac_ipv4_nat_t_esp_drop,\n+ tv_mac_ipv4_nat_t_esp_mark_rss,\n+ tv_mac_ipv4_nat_t_esp_mark,\n+]\n+\n+tv_mac_ipv6_nat_t_esp_queue_index = {\n+ \"name\": \"tv_mac_ipv6_nat_t_esp_queue_index\",\n+ \"rule\": \"flow create 0 ingress pattern eth / ipv6 src is 2001::1 dst is 2001::2 / udp / esp spi is 7 / end actions queue index 13 / mark id 7 / end\",\n+ \"scapy_str\": {\"match\": MAC_IPV6_NAT_T_ESP['matched'],\n+ \"unmatched\": MAC_IPV6_NAT_T_ESP['unmatched'],\n+ },\n+ \"check_func\": rfc.check_mark,\n+ \"check_param\": {\"port_id\": 0, \"mark_id\": 7, \"queue\": 13}\n+}\n+\n+tv_mac_ipv6_nat_t_esp_queue_group = {\n+ \"name\": \"tv_mac_ipv6_nat_t_esp_queue_group\",\n+ \"rule\": \"flow create 0 ingress pattern eth / ipv6 src is 2001::1 dst is 2001::2 / udp / esp spi is 7 / end actions rss queues 1 2 3 4 end / mark id 6 / end\",\n+ \"scapy_str\": {\"match\": MAC_IPV6_NAT_T_ESP['matched'],\n+ \"unmatched\": MAC_IPV6_NAT_T_ESP['unmatched'],\n+ },\n+ \"check_func\": rfc.check_mark,\n+ \"check_param\": {\"port_id\": 0, \"mark_id\": 6, \"queue\": [1, 2, 3, 4]}\n+}\n+\n+tv_mac_ipv6_nat_t_esp_passthru = {\n+ \"name\": \"tv_mac_ipv6_nat_t_esp_passthru\",\n+ \"rule\": \"flow create 0 ingress pattern eth / ipv6 src is 2001::1 dst is 2001::2 / udp / esp spi is 7 / end actions passthru / mark id 1 / end\",\n+ \"scapy_str\": {\"match\": MAC_IPV6_NAT_T_ESP['matched'],\n+ \"unmatched\": MAC_IPV6_NAT_T_ESP['unmatched'],\n+ },\n+ \"check_func\": rfc.check_mark,\n+ \"check_param\": {\"port_id\": 0, \"rss\": True, \"mark_id\": 1}\n+}\n+\n+tv_mac_ipv6_nat_t_esp_drop = {\n+ \"name\": \"tv_mac_ipv6_nat_t_esp_drop\",\n+ \"rule\": \"flow create 0 ingress pattern eth / ipv6 src is 2001::1 dst is 2001::2 / udp / esp spi is 7 / end actions drop / end\",\n+ \"scapy_str\": {\"match\": MAC_IPV6_NAT_T_ESP['matched'],\n+ \"unmatched\": MAC_IPV6_NAT_T_ESP['unmatched'],\n+ },\n+ \"check_func\": rfc.check_mark,\n+ \"check_param\": {\"port_id\": 0, \"drop\": 1}\n+}\n+\n+tv_mac_ipv6_nat_t_esp_mark_rss = {\n+ \"name\": \"tv_mac_ipv6_nat_t_esp_mark_rss\",\n+ \"rule\": \"flow create 0 ingress pattern eth / ipv6 src is 2001::1 dst is 2001::2 / udp / esp spi is 7 / end actions mark id 2 / rss / end\",\n+ \"scapy_str\": {\"match\": MAC_IPV6_NAT_T_ESP['matched'],\n+ \"unmatched\": MAC_IPV6_NAT_T_ESP['unmatched'],\n+ },\n+ \"check_func\": rfc.check_mark,\n+ \"check_param\": {\"port_id\": 0, \"mark_id\": 2, \"rss\": True}\n+}\n+\n+tv_mac_ipv6_nat_t_esp_mark = {\n+ \"name\": \"tv_mac_ipv6_nat_t_esp_mark\",\n+ \"rule\": \"flow create 0 ingress pattern eth / ipv6 src is 2001::1 dst is 2001::2 / udp / esp spi is 7 / end actions mark id 15 / end\",\n+ \"scapy_str\": {\"match\": MAC_IPV6_NAT_T_ESP['matched'],\n+ \"unmatched\": MAC_IPV6_NAT_T_ESP['unmatched'],\n+ },\n+ \"check_func\": rfc.check_mark,\n+ \"check_param\": {\"port_id\": 0, \"mark_id\": 15}\n+}\n+\n+vectors_mac_ipv6_nat_t_esp = [\n+ tv_mac_ipv6_nat_t_esp_queue_index,\n+ tv_mac_ipv6_nat_t_esp_queue_group,\n+ tv_mac_ipv6_nat_t_esp_passthru,\n+ tv_mac_ipv6_nat_t_esp_drop,\n+ tv_mac_ipv6_nat_t_esp_mark_rss,\n+ tv_mac_ipv6_nat_t_esp_mark,\n+]\n+\n class TestCVLFdir(TestCase):\n \n def query_count(self, hits_set, hits, port_id=0, rule_id=0):\n@@ -3183,6 +3503,22 @@ class TestCVLFdir(TestCase):\n def test_l2_ethertype(self):\n self._multirules_process(vectors_l2_ethertype)\n \n+ @skip_unsupported_pkg('os default')\n+ def test_mac_ipv4_esp(self):\n+ self._rte_flow_validate(vectors_mac_ipv4_esp)\n+\n+ @skip_unsupported_pkg('os default')\n+ def test_mac_ipv6_esp(self):\n+ self._rte_flow_validate(vectors_mac_ipv6_esp)\n+\n+ @skip_unsupported_pkg('os default')\n+ def test_mac_ipv4_nat_t_esp(self):\n+ self._rte_flow_validate(vectors_mac_ipv4_nat_t_esp)\n+\n+ @skip_unsupported_pkg('os default')\n+ def test_mac_ipv6_nat_t_esp(self):\n+ self._rte_flow_validate(vectors_mac_ipv6_nat_t_esp)\n+\n def test_unsupported_ethertype(self):\n rule = ['flow create 0 ingress pattern eth type is 0x0800 / end actions queue index 1 / end',\n 'flow create 0 ingress pattern eth type is 0x86dd / end actions queue index 1 / end']\n", "prefixes": [ "V1", "3/4" ] }{ "id": 97465, "url": "