Patch Detail
Show a patch.
GET /api/patches/73498/
https://patches.dpdk.org/api/patches/73498/", "web_url": "https://patches.dpdk.org/patch/73498/", "project": { "id": 1, "url": "https://patches.dpdk.org/api/projects/1/", "name": "DPDK", "link_name": "dpdk", "list_id": "dev.dpdk.org", "list_email": "dev@dpdk.org", "web_url": "http://core.dpdk.org", "scm_url": "git://dpdk.org/dpdk", "webscm_url": "http://git.dpdk.org/dpdk" }, "msgid": "<20200708042613.249847-3-junfeng.guo@intel.com>", "date": "2020-07-08T04:26:13", "name": "[v4,2/2] net/iavf: add FD support for GTPU with outer IPv4 and IPv6", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": true, "hash": "d77d873ffae7ba6ba8b3ef68bca25bfccca42e39", "submitter": { "id": 1785, "url": "https://patches.dpdk.org/api/people/1785/", "name": "Junfeng Guo", "email": "junfeng.guo@intel.com" }, "delegate": { "id": 1540, "url": "https://patches.dpdk.org/api/users/1540/", "username": "qzhan15", "first_name": "Qi", "last_name": "Zhang", "email": "qi.z.zhang@intel.com" }, "mbox": "https://patches.dpdk.org/patch/73498/mbox/", "series": [ { "id": 10873, "url": "https://patches.dpdk.org/api/series/10873/", "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=10873", "date": "2020-07-08T04:26:11", "name": "add FD support for GTPU with outer IP on PF and VF", "version": 4, "mbox": "https://patches.dpdk.org/series/10873/mbox/" } ], "comments": "https://patches.dpdk.org/api/patches/73498/comments/", "check": "fail", "checks": "https://patches.dpdk.org/api/patches/73498/checks/", "tags": {}, "headers": { "X-Mailer": "git-send-email 2.25.1", "List-Id": "DPDK patches and discussions <dev.dpdk.org>", "From": "Junfeng Guo <junfeng.guo@intel.com>", "List-Help": "<mailto:dev-request@dpdk.org?subject=help>", "Date": "Wed, 8 Jul 2020 12:26:13 +0800", "X-Mailman-Version": "2.1.15", "Delivered-To": "patchwork@inbox.dpdk.org", "List-Archive": "<http://mails.dpdk.org/archives/dev/>", "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>", "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>", "X-Amp-Result": "SKIPPED(no attachment in message)", "Cc": "dev@dpdk.org, jia.guo@intel.com, junfeng.guo@intel.com, simei.su@intel.com", "To": "qi.z.zhang@intel.com,\n\txiaolong.ye@intel.com,\n\tbeilei.xing@intel.com", "IronPort-SDR": [ "\n WLVQrpJYSxyR+35/UIV/UEF8JfkGOur2akivlH2U8desLKQ8NDIw7i3bwYEoFKBSdMcZa/A0gm\n uk/KFGka03/A==", "\n O8OxdsqWPUSWxRzgMi7T0H3V1gl/Mu9TJiuAfgx11m9TsRm4uew7wdJg00bpnfV0BskR8I2N0Q\n FesPvXlWYJPw==" ], "References": "<20200617024355.44220-1-junfeng.guo@intel.com>\n <20200708042613.249847-1-junfeng.guo@intel.com>", "Sender": "\"dev\" <dev-bounces@dpdk.org>", "Return-Path": "<dev-bounces@dpdk.org>", "Errors-To": "dev-bounces@dpdk.org", "X-IronPort-AV": [ "E=McAfee;i=\"6000,8403,9675\"; a=\"147743871\"", "E=Sophos;i=\"5.75,326,1589266800\"; d=\"scan'208\";a=\"147743871\"", "E=Sophos;i=\"5.75,326,1589266800\"; d=\"scan'208\";a=\"314524773\"" ], "List-Post": "<mailto:dev@dpdk.org>", "Received": [ "from dpdk.org (dpdk.org [92.243.14.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id D6CFBA00BE;\n\tWed, 8 Jul 2020 06:28:13 +0200 (CEST)", "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id F36891DE53;\n\tWed, 8 Jul 2020 06:28:03 +0200 (CEST)", "from mga03.intel.com (mga03.intel.com [134.134.136.65])\n by dpdk.org (Postfix) with ESMTP id D8A641DE50\n for <dev@dpdk.org>; Wed, 8 Jul 2020 06:28:01 +0200 (CEST)", "from orsmga008.jf.intel.com ([10.7.209.65])\n by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 07 Jul 2020 21:28:01 -0700", "from dpdk-junfengguo-v3.sh.intel.com ([10.67.119.146])\n by orsmga008.jf.intel.com with ESMTP; 07 Jul 2020 21:27:59 -0700" ], "Precedence": "list", "X-Amp-File-Uploaded": "False", "Subject": "[dpdk-dev] [PATCH v4 2/2] net/iavf: add FD support for GTPU with\n\touter IPv4 and IPv6", "In-Reply-To": "<20200708042613.249847-1-junfeng.guo@intel.com>", "MIME-Version": "1.0", "Message-Id": "<20200708042613.249847-3-junfeng.guo@intel.com>", "X-ExtLoop1": "1", "Content-Transfer-Encoding": "8bit", "X-BeenThere": "dev@dpdk.org", "X-Original-To": "patchwork@inbox.dpdk.org" }, "content": "Add FDir support for MAC_IPV4_GTPU and MAC_IPV6_GTPU type with outer\nIPv4/IPv6 address, teid and qfi fields matching. Note that outer IPv4\nand IPv6 matching fields here include both SRC & DST of both IPv4 &\nIPv6.\n\nSigned-off-by: Junfeng Guo <junfeng.guo@intel.com>\n---\n drivers/net/iavf/iavf_fdir.c | 18 ++++++++++++++----\n drivers/net/iavf/iavf_generic_flow.c | 22 +++++++++++++++++++++-\n drivers/net/iavf/iavf_generic_flow.h | 12 ++++++++++--\n 3 files changed, 45 insertions(+), 7 deletions(-)", "diff": "diff --git a/drivers/net/iavf/iavf_fdir.c b/drivers/net/iavf/iavf_fdir.c\nindex 264c47d83..f584e5624 100644\n--- a/drivers/net/iavf/iavf_fdir.c\n+++ b/drivers/net/iavf/iavf_fdir.c\n@@ -68,14 +68,22 @@\n \tIAVF_INSET_IPV6_TC | IAVF_INSET_IPV6_HOP_LIMIT | \\\n \tIAVF_INSET_SCTP_SRC_PORT | IAVF_INSET_SCTP_DST_PORT)\n \n-#define IAVF_FDIR_INSET_GTPU (\\\n+#define IAVF_FDIR_INSET_IPV4_GTPU (\\\n \tIAVF_INSET_IPV4_SRC | IAVF_INSET_IPV4_DST | \\\n \tIAVF_INSET_GTPU_TEID)\n \n-#define IAVF_FDIR_INSET_GTPU_EH (\\\n+#define IAVF_FDIR_INSET_IPV4_GTPU_EH (\\\n \tIAVF_INSET_IPV4_SRC | IAVF_INSET_IPV4_DST | \\\n \tIAVF_INSET_GTPU_TEID | IAVF_INSET_GTPU_QFI)\n \n+#define IAVF_FDIR_INSET_IPV6_GTPU (\\\n+\tIAVF_INSET_IPV6_SRC | IAVF_INSET_IPV6_DST | \\\n+\tIAVF_INSET_GTPU_TEID)\n+\n+#define IAVF_FDIR_INSET_IPV6_GTPU_EH (\\\n+\tIAVF_INSET_IPV6_SRC | IAVF_INSET_IPV6_DST | \\\n+\tIAVF_INSET_GTPU_TEID | IAVF_INSET_GTPU_QFI)\n+\n #define IAVF_FDIR_INSET_L2TPV3OIP (\\\n \tIAVF_L2TPV3OIP_SESSION_ID)\n \n@@ -106,8 +114,10 @@ static struct iavf_pattern_match_item iavf_fdir_pattern[] = {\n \t{iavf_pattern_eth_ipv6_udp,\t\tIAVF_FDIR_INSET_ETH_IPV6_UDP,\t\tIAVF_INSET_NONE},\n \t{iavf_pattern_eth_ipv6_tcp,\t\tIAVF_FDIR_INSET_ETH_IPV6_TCP,\t\tIAVF_INSET_NONE},\n \t{iavf_pattern_eth_ipv6_sctp,\t\tIAVF_FDIR_INSET_ETH_IPV6_SCTP,\t\tIAVF_INSET_NONE},\n-\t{iavf_pattern_eth_ipv4_gtpu,\t\tIAVF_FDIR_INSET_GTPU,\t\t\tIAVF_INSET_NONE},\n-\t{iavf_pattern_eth_ipv4_gtpu_eh,\t\tIAVF_FDIR_INSET_GTPU_EH,\t\tIAVF_INSET_NONE},\n+\t{iavf_pattern_eth_ipv4_gtpu,\t\tIAVF_FDIR_INSET_IPV4_GTPU,\t\tIAVF_INSET_NONE},\n+\t{iavf_pattern_eth_ipv4_gtpu_eh,\t\tIAVF_FDIR_INSET_IPV4_GTPU_EH,\t\tIAVF_INSET_NONE},\n+\t{iavf_pattern_eth_ipv6_gtpu,\t\tIAVF_FDIR_INSET_IPV6_GTPU,\t\tIAVF_INSET_NONE},\n+\t{iavf_pattern_eth_ipv6_gtpu_eh,\t\tIAVF_FDIR_INSET_IPV6_GTPU_EH,\t\tIAVF_INSET_NONE},\n \t{iavf_pattern_eth_ipv4_l2tpv3,\t\tIAVF_FDIR_INSET_L2TPV3OIP,\t\tIAVF_INSET_NONE},\n \t{iavf_pattern_eth_ipv6_l2tpv3,\t\tIAVF_FDIR_INSET_L2TPV3OIP,\t\tIAVF_INSET_NONE},\n \t{iavf_pattern_eth_ipv4_esp,\t\tIAVF_FDIR_INSET_ESP,\t\t\tIAVF_INSET_NONE},\ndiff --git a/drivers/net/iavf/iavf_generic_flow.c b/drivers/net/iavf/iavf_generic_flow.c\nindex b6c26c4fd..c6d48f081 100644\n--- a/drivers/net/iavf/iavf_generic_flow.c\n+++ b/drivers/net/iavf/iavf_generic_flow.c\n@@ -315,7 +315,7 @@ enum rte_flow_item_type iavf_pattern_eth_qinq_ipv6_icmp6[] = {\n \tRTE_FLOW_ITEM_TYPE_END,\n };\n \n-/* GTPU */\n+/* IPV4 GTPU (EH) */\n enum rte_flow_item_type iavf_pattern_eth_ipv4_gtpu[] = {\n \tRTE_FLOW_ITEM_TYPE_ETH,\n \tRTE_FLOW_ITEM_TYPE_IPV4,\n@@ -333,6 +333,25 @@ enum rte_flow_item_type iavf_pattern_eth_ipv4_gtpu_eh[] = {\n \tRTE_FLOW_ITEM_TYPE_END,\n };\n \n+/* IPV6 GTPU (EH) */\n+enum rte_flow_item_type iavf_pattern_eth_ipv6_gtpu[] = {\n+\tRTE_FLOW_ITEM_TYPE_ETH,\n+\tRTE_FLOW_ITEM_TYPE_IPV6,\n+\tRTE_FLOW_ITEM_TYPE_UDP,\n+\tRTE_FLOW_ITEM_TYPE_GTPU,\n+\tRTE_FLOW_ITEM_TYPE_END,\n+};\n+\n+enum rte_flow_item_type iavf_pattern_eth_ipv6_gtpu_eh[] = {\n+\tRTE_FLOW_ITEM_TYPE_ETH,\n+\tRTE_FLOW_ITEM_TYPE_IPV6,\n+\tRTE_FLOW_ITEM_TYPE_UDP,\n+\tRTE_FLOW_ITEM_TYPE_GTPU,\n+\tRTE_FLOW_ITEM_TYPE_GTP_PSC,\n+\tRTE_FLOW_ITEM_TYPE_END,\n+};\n+\n+/* IPV4 GTPU IPv4 */\n enum rte_flow_item_type iavf_pattern_eth_ipv4_gtpu_ipv4[] = {\n \tRTE_FLOW_ITEM_TYPE_ETH,\n \tRTE_FLOW_ITEM_TYPE_IPV4,\n@@ -342,6 +361,7 @@ enum rte_flow_item_type iavf_pattern_eth_ipv4_gtpu_ipv4[] = {\n \tRTE_FLOW_ITEM_TYPE_END,\n };\n \n+/* IPV4 GTPU EH IPv4 */\n enum rte_flow_item_type iavf_pattern_eth_ipv4_gtpu_eh_ipv4[] = {\n \tRTE_FLOW_ITEM_TYPE_ETH,\n \tRTE_FLOW_ITEM_TYPE_IPV4,\ndiff --git a/drivers/net/iavf/iavf_generic_flow.h b/drivers/net/iavf/iavf_generic_flow.h\nindex 978d0716b..8a6687542 100644\n--- a/drivers/net/iavf/iavf_generic_flow.h\n+++ b/drivers/net/iavf/iavf_generic_flow.h\n@@ -182,10 +182,18 @@ extern enum rte_flow_item_type iavf_pattern_eth_ipv6_icmp6[];\n extern enum rte_flow_item_type iavf_pattern_eth_vlan_ipv6_icmp6[];\n extern enum rte_flow_item_type iavf_pattern_eth_qinq_ipv6_icmp6[];\n \n-/* GTPU */\n+/* IPv4 GTPU (EH) */\n extern enum rte_flow_item_type iavf_pattern_eth_ipv4_gtpu[];\n-extern enum rte_flow_item_type iavf_pattern_eth_ipv4_gtpu_ipv4[];\n extern enum rte_flow_item_type iavf_pattern_eth_ipv4_gtpu_eh[];\n+\n+/* IPv6 GTPU (EH) */\n+extern enum rte_flow_item_type iavf_pattern_eth_ipv6_gtpu[];\n+extern enum rte_flow_item_type iavf_pattern_eth_ipv6_gtpu_eh[];\n+\n+/* IPv4 GTPU IPv4 */\n+extern enum rte_flow_item_type iavf_pattern_eth_ipv4_gtpu_ipv4[];\n+\n+/* IPv4 GTPU EH IPv4 */\n extern enum rte_flow_item_type iavf_pattern_eth_ipv4_gtpu_eh_ipv4[];\n extern enum rte_flow_item_type iavf_pattern_eth_ipv4_gtpu_eh_ipv4_udp[];\n extern enum rte_flow_item_type iavf_pattern_eth_ipv4_gtpu_eh_ipv4_tcp[];\n", "prefixes": [ "v4", "2/2" ] }{ "id": 73498, "url": "