Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/76906/?format=api
https://patches.dpdk.org/api/patches/76906/?format=api", "web_url": "https://patches.dpdk.org/project/dpdk/patch/20200908095015.23708-2-alvinx.zhang@intel.com/", "project": { "id": 1, "url": "https://patches.dpdk.org/api/projects/1/?format=api", "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", "list_archive_url": "https://inbox.dpdk.org/dev", "list_archive_url_format": "https://inbox.dpdk.org/dev/{}", "commit_url_format": "" }, "msgid": "<20200908095015.23708-2-alvinx.zhang@intel.com>", "list_archive_url": "https://inbox.dpdk.org/dev/20200908095015.23708-2-alvinx.zhang@intel.com", "date": "2020-09-08T09:50:14", "name": "[v3,2/3] net/iavf: support outer IP hash for GTPC", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": true, "hash": "b27ac40ab821d5ef3b0f2ac6264b414d5799f5e1", "submitter": { "id": 1398, "url": "https://patches.dpdk.org/api/people/1398/?format=api", "name": "Alvin Zhang", "email": "alvinx.zhang@intel.com" }, "delegate": { "id": 1540, "url": "https://patches.dpdk.org/api/users/1540/?format=api", "username": "qzhan15", "first_name": "Qi", "last_name": "Zhang", "email": "qi.z.zhang@intel.com" }, "mbox": "https://patches.dpdk.org/project/dpdk/patch/20200908095015.23708-2-alvinx.zhang@intel.com/mbox/", "series": [ { "id": 12019, "url": "https://patches.dpdk.org/api/series/12019/?format=api", "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=12019", "date": "2020-09-08T09:50:13", "name": "[v3,1/3] common/iavf: add GTPC support", "version": 3, "mbox": "https://patches.dpdk.org/series/12019/mbox/" } ], "comments": "https://patches.dpdk.org/api/patches/76906/comments/", "check": "warning", "checks": "https://patches.dpdk.org/api/patches/76906/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "X-Original-To": "patchwork@inbox.dpdk.org", "Delivered-To": "patchwork@inbox.dpdk.org", "Received": [ "from dpdk.org (dpdk.org [92.243.14.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 5BC54A04AA;\n\tTue, 8 Sep 2020 11:54:20 +0200 (CEST)", "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 94B001C0CD;\n\tTue, 8 Sep 2020 11:54:14 +0200 (CEST)", "from mga06.intel.com (mga06.intel.com [134.134.136.31])\n by dpdk.org (Postfix) with ESMTP id 02D981BEE1\n for <dev@dpdk.org>; Tue, 8 Sep 2020 11:54:12 +0200 (CEST)", "from orsmga002.jf.intel.com ([10.7.209.21])\n by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 08 Sep 2020 02:54:12 -0700", "from shwdenpg235.ccr.corp.intel.com ([10.240.182.60])\n by orsmga002.jf.intel.com with ESMTP; 08 Sep 2020 02:54:10 -0700" ], "IronPort-SDR": [ "\n 8WcWi2CG9+rbtFQuMNdjylGE7/DPxHK3PDv8e3EPL66T/J4R9eSfcqsTyFLVlimrL76mnQ0Jhk\n q06T4WlGhkpA==", "\n qOEc0iyF/HB/gtvvPacM7ohRQnj8Q37jt3nvvGxujkGaUn/F/+crLZRGys8ptmnXnjj6foU3Pz\n qyUFV+DGH+HA==" ], "X-IronPort-AV": [ "E=McAfee;i=\"6000,8403,9737\"; a=\"219662248\"", "E=Sophos;i=\"5.76,405,1592895600\"; d=\"scan'208\";a=\"219662248\"", "E=Sophos;i=\"5.76,405,1592895600\"; d=\"scan'208\";a=\"317136366\"" ], "X-Amp-Result": "SKIPPED(no attachment in message)", "X-Amp-File-Uploaded": "False", "X-ExtLoop1": "1", "From": "alvinx.zhang@intel.com", "To": "jia.guo@intel.com,\n\tqi.z.zhang@intel.com", "Cc": "dev@dpdk.org,\n\tAlvin Zhang <alvinx.zhang@intel.com>", "Date": "Tue, 8 Sep 2020 17:50:14 +0800", "Message-Id": "<20200908095015.23708-2-alvinx.zhang@intel.com>", "X-Mailer": "git-send-email 2.21.0.windows.1", "In-Reply-To": "<20200908095015.23708-1-alvinx.zhang@intel.com>", "References": "<20200908095015.23708-1-alvinx.zhang@intel.com>", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "Subject": "[dpdk-dev] [PATCH v3 2/3] net/iavf: support outer IP hash for GTPC", "X-BeenThere": "dev@dpdk.org", "X-Mailman-Version": "2.1.15", "Precedence": "list", "List-Id": "DPDK patches and discussions <dev.dpdk.org>", "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>", "List-Archive": "<http://mails.dpdk.org/archives/dev/>", "List-Post": "<mailto:dev@dpdk.org>", "List-Help": "<mailto:dev-request@dpdk.org?subject=help>", "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org", "Sender": "\"dev\" <dev-bounces@dpdk.org>" }, "content": "From: Alvin Zhang <alvinx.zhang@intel.com>\n\nAdd patterns and headers for GTPC, now outer IP hash can be configured\nas input sets for GTPC packet.\n\nSigned-off-by: Alvin Zhang <alvinx.zhang@intel.com>\n---\n drivers/net/iavf/iavf_generic_flow.c | 18 ++++++++++++++++++\n drivers/net/iavf/iavf_generic_flow.h | 6 ++++++\n drivers/net/iavf/iavf_hash.c | 15 +++++++++++++++\n 3 files changed, 39 insertions(+)", "diff": "diff --git a/drivers/net/iavf/iavf_generic_flow.c b/drivers/net/iavf/iavf_generic_flow.c\nindex 321a4dc..00e7f15 100644\n--- a/drivers/net/iavf/iavf_generic_flow.c\n+++ b/drivers/net/iavf/iavf_generic_flow.c\n@@ -315,6 +315,15 @@ enum rte_flow_item_type iavf_pattern_eth_qinq_ipv6_icmp6[] = {\n \tRTE_FLOW_ITEM_TYPE_END,\n };\n \n+/* IPv4 GTPC */\n+enum rte_flow_item_type iavf_pattern_eth_ipv4_gtpc[] = {\n+\tRTE_FLOW_ITEM_TYPE_ETH,\n+\tRTE_FLOW_ITEM_TYPE_IPV4,\n+\tRTE_FLOW_ITEM_TYPE_UDP,\n+\tRTE_FLOW_ITEM_TYPE_GTPC,\n+\tRTE_FLOW_ITEM_TYPE_END,\n+};\n+\n /* IPV4 GTPU (EH) */\n enum rte_flow_item_type iavf_pattern_eth_ipv4_gtpu[] = {\n \tRTE_FLOW_ITEM_TYPE_ETH,\n@@ -333,6 +342,15 @@ enum rte_flow_item_type iavf_pattern_eth_ipv4_gtpu_eh[] = {\n \tRTE_FLOW_ITEM_TYPE_END,\n };\n \n+/* IPv6 GTPC */\n+enum rte_flow_item_type iavf_pattern_eth_ipv6_gtpc[] = {\n+\tRTE_FLOW_ITEM_TYPE_ETH,\n+\tRTE_FLOW_ITEM_TYPE_IPV6,\n+\tRTE_FLOW_ITEM_TYPE_UDP,\n+\tRTE_FLOW_ITEM_TYPE_GTPC,\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,\ndiff --git a/drivers/net/iavf/iavf_generic_flow.h b/drivers/net/iavf/iavf_generic_flow.h\nindex f365cc3..dbc7294 100644\n--- a/drivers/net/iavf/iavf_generic_flow.h\n+++ b/drivers/net/iavf/iavf_generic_flow.h\n@@ -182,10 +182,16 @@\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+/* IPv4 GTPC */\n+extern enum rte_flow_item_type iavf_pattern_eth_ipv4_gtpc[];\n+\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_eh[];\n \n+/* IPv4 GTPC */\n+extern enum rte_flow_item_type iavf_pattern_eth_ipv6_gtpc[];\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[];\ndiff --git a/drivers/net/iavf/iavf_hash.c b/drivers/net/iavf/iavf_hash.c\nindex aab8b14..ddea3dd 100644\n--- a/drivers/net/iavf/iavf_hash.c\n+++ b/drivers/net/iavf/iavf_hash.c\n@@ -132,6 +132,9 @@ struct iavf_hash_flow_cfg {\n \tVIRTCHNL_PROTO_HDR_PFCP, \\\n \tFIELD_SELECTOR(VIRTCHNL_PROTO_HDR_PFCP_SEID), {BUFF_NOUSED} }\n \n+#define proto_hdr_gtpc { \\\n+\tVIRTCHNL_PROTO_HDR_GTPC, 0, {BUFF_NOUSED} }\n+\n #define TUNNEL_LEVEL_OUTER\t\t0\n #define TUNNEL_LEVEL_INNER\t\t1\n \n@@ -256,6 +259,14 @@ struct virtchnl_proto_hdrs ipv6_pfcp_tmplt = {\n \tTUNNEL_LEVEL_OUTER, 2, {proto_hdr_ipv6, proto_hdr_pfcp}\n };\n \n+struct virtchnl_proto_hdrs ipv4_udp_gtpc_tmplt = {\n+\tTUNNEL_LEVEL_OUTER, 3, {proto_hdr_ipv4, proto_hdr_udp, proto_hdr_gtpc}\n+};\n+\n+struct virtchnl_proto_hdrs ipv6_udp_gtpc_tmplt = {\n+\tTUNNEL_LEVEL_OUTER, 3, {proto_hdr_ipv6, proto_hdr_udp, proto_hdr_gtpc}\n+};\n+\n /* rss type super set */\n \n /* IPv4 outer */\n@@ -365,6 +376,7 @@ struct virtchnl_proto_hdrs ipv6_pfcp_tmplt = {\n \t{iavf_pattern_eth_ipv4_ah,\t\t\tIAVF_RSS_TYPE_IPV4_AH,\t\t&ipv4_ah_tmplt},\n \t{iavf_pattern_eth_ipv4_l2tpv3,\t\t\tIAVF_RSS_TYPE_IPV4_L2TPV3,\t&ipv4_l2tpv3_tmplt},\n \t{iavf_pattern_eth_ipv4_pfcp,\t\t\tIAVF_RSS_TYPE_IPV4_PFCP,\t&ipv4_pfcp_tmplt},\n+\t{iavf_pattern_eth_ipv4_gtpc,\t\t\tETH_RSS_IPV4,\t\t\t&ipv4_udp_gtpc_tmplt},\n \t/* IPv6 */\n \t{iavf_pattern_eth_ipv6,\t\t\t\tIAVF_RSS_TYPE_OUTER_IPV6,\t&outer_ipv6_tmplt},\n \t{iavf_pattern_eth_ipv6_udp,\t\t\tIAVF_RSS_TYPE_OUTER_IPV6_UDP,\t&outer_ipv6_udp_tmplt},\n@@ -391,6 +403,7 @@ struct virtchnl_proto_hdrs ipv6_pfcp_tmplt = {\n \t{iavf_pattern_eth_ipv6_ah,\t\t\tIAVF_RSS_TYPE_IPV6_AH,\t\t&ipv6_ah_tmplt},\n \t{iavf_pattern_eth_ipv6_l2tpv3,\t\t\tIAVF_RSS_TYPE_IPV6_L2TPV3,\t&ipv6_l2tpv3_tmplt},\n \t{iavf_pattern_eth_ipv6_pfcp,\t\t\tIAVF_RSS_TYPE_IPV6_PFCP,\t&ipv6_pfcp_tmplt},\n+\t{iavf_pattern_eth_ipv6_gtpc,\t\t\tETH_RSS_IPV6,\t\t\t&ipv6_udp_gtpc_tmplt},\n };\n \n struct virtchnl_proto_hdrs *iavf_hash_default_hdrs[] = {\n@@ -592,6 +605,8 @@ struct virtchnl_proto_hdrs *iavf_hash_default_hdrs[] = {\n \t\t\t\telse if (rss_type & ETH_RSS_L4_DST_ONLY)\n \t\t\t\t\tVIRTCHNL_DEL_PROTO_HDR_FIELD(hdr,\n \t\t\t\t\t\tVIRTCHNL_PROTO_HDR_UDP_SRC_PORT);\n+\t\t\t} else {\n+\t\t\t\thdr->field_selector = 0;\n \t\t\t}\n \t\t\tbreak;\n \t\tcase VIRTCHNL_PROTO_HDR_TCP:\n", "prefixes": [ "v3", "2/3" ] }{ "id": 76906, "url": "