From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 0886DA0519; Fri, 3 Jul 2020 05:58:07 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id E0EB31D984; Fri, 3 Jul 2020 05:57:53 +0200 (CEST) Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by dpdk.org (Postfix) with ESMTP id EB5C31D938 for ; Fri, 3 Jul 2020 05:57:51 +0200 (CEST) IronPort-SDR: Pniv/6HcDe5pONlHl51U8gkFrxI0IbozrqWjcToMLw9siJgtk4vXFNsTwJym4RIJpHAAjbnqu3 Kr6/tHPgt+Uw== X-IronPort-AV: E=McAfee;i="6000,8403,9670"; a="208603631" X-IronPort-AV: E=Sophos;i="5.75,306,1589266800"; d="scan'208";a="208603631" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Jul 2020 20:57:51 -0700 IronPort-SDR: uOi8EUEws94W/uIqEbeoYsG3fY+SvTo+RPMQDnzHFhBtEwRFZsMwdfw14/Q3oaocvTXaMkM3Fs TvHf9VXne96g== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.75,306,1589266800"; d="scan'208";a="278309771" Received: from npg-dpdk-cvl-jeffguo-01.sh.intel.com ([10.67.111.128]) by orsmga003.jf.intel.com with ESMTP; 02 Jul 2020 20:57:49 -0700 From: Jeff Guo To: qi.z.zhang@intel.com, jingjing.wu@intel.com, beilei.xing@intel.com Cc: dev@dpdk.org, junfeng.guo@intel.com, qiming.yang@intel.com, simei.su@intel.com, jia.guo@intel.com Date: Fri, 3 Jul 2020 11:56:55 +0800 Message-Id: <20200703035656.87908-3-jia.guo@intel.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200703035656.87908-1-jia.guo@intel.com> References: <20200621140235.20488-1-jia.guo@intel.com> <20200703035656.87908-1-jia.guo@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-dev] [dpdk-dev v4 2/3] net/iavf: enable 5 tuple rss hash X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Previous iavf not support 5 tuple hash, this patch aims to enable it for regular ip pattern and also GTPU inner ip pattern, the 5 tuple involves ip src and ip dst, tcp sport and tcp dport, udp sport and udp dport and protocol id. Signed-off-by: Jeff Guo --- drivers/net/iavf/iavf_hash.c | 186 ++++++++++++++++++++++------------- 1 file changed, 116 insertions(+), 70 deletions(-) diff --git a/drivers/net/iavf/iavf_hash.c b/drivers/net/iavf/iavf_hash.c index 921dc961f..a253d08f6 100644 --- a/drivers/net/iavf/iavf_hash.c +++ b/drivers/net/iavf/iavf_hash.c @@ -218,6 +218,28 @@ static struct iavf_pattern_match_item iavf_hash_pattern_list[] = { FIELD_SELECTOR(VIRTCHNL_PROTO_HDR_IPV4_SRC) | \ FIELD_SELECTOR(VIRTCHNL_PROTO_HDR_IPV4_DST), {BUFF_NOUSED } } +#define proto_hint_ipv4_src_prot { \ + VIRTCHNL_PROTO_HDR_IPV4, \ + FIELD_SELECTOR(VIRTCHNL_PROTO_HDR_IPV4_SRC) | \ + FIELD_SELECTOR(VIRTCHNL_PROTO_HDR_IPV4_PROT), \ + {BUFF_NOUSED } } + +#define proto_hint_ipv4_dst_prot { \ + VIRTCHNL_PROTO_HDR_IPV4, \ + FIELD_SELECTOR(VIRTCHNL_PROTO_HDR_IPV4_DST) | \ + FIELD_SELECTOR(VIRTCHNL_PROTO_HDR_IPV4_PROT), \ + {BUFF_NOUSED } } + +#define proto_hint_ipv4_only_prot { \ + VIRTCHNL_PROTO_HDR_IPV4, \ + FIELD_SELECTOR(VIRTCHNL_PROTO_HDR_IPV4_PROT), {BUFF_NOUSED } } + +#define proto_hint_ipv4_prot { \ + VIRTCHNL_PROTO_HDR_IPV4, \ + FIELD_SELECTOR(VIRTCHNL_PROTO_HDR_IPV4_SRC) | \ + FIELD_SELECTOR(VIRTCHNL_PROTO_HDR_IPV4_DST) | \ + FIELD_SELECTOR(VIRTCHNL_PROTO_HDR_IPV4_PROT), {BUFF_NOUSED } } + #define proto_hint_udp_src_port { \ VIRTCHNL_PROTO_HDR_UDP, \ FIELD_SELECTOR(VIRTCHNL_PROTO_HDR_UDP_SRC_PORT), {BUFF_NOUSED } } @@ -282,6 +304,28 @@ static struct iavf_pattern_match_item iavf_hash_pattern_list[] = { FIELD_SELECTOR(VIRTCHNL_PROTO_HDR_IPV6_SRC) | \ FIELD_SELECTOR(VIRTCHNL_PROTO_HDR_IPV6_DST), {BUFF_NOUSED } } +#define proto_hint_ipv6_src_prot { \ + VIRTCHNL_PROTO_HDR_IPV6, \ + FIELD_SELECTOR(VIRTCHNL_PROTO_HDR_IPV6_SRC) | \ + FIELD_SELECTOR(VIRTCHNL_PROTO_HDR_IPV6_PROT), \ + {BUFF_NOUSED } } + +#define proto_hint_ipv6_dst_prot { \ + VIRTCHNL_PROTO_HDR_IPV6, \ + FIELD_SELECTOR(VIRTCHNL_PROTO_HDR_IPV6_DST) | \ + FIELD_SELECTOR(VIRTCHNL_PROTO_HDR_IPV6_PROT), \ + {BUFF_NOUSED } } + +#define proto_hint_ipv6_only_prot { \ + VIRTCHNL_PROTO_HDR_IPV6, \ + FIELD_SELECTOR(VIRTCHNL_PROTO_HDR_IPV6_PROT), {BUFF_NOUSED } } + +#define proto_hint_ipv6_prot { \ + VIRTCHNL_PROTO_HDR_IPV6, \ + FIELD_SELECTOR(VIRTCHNL_PROTO_HDR_IPV6_SRC) | \ + FIELD_SELECTOR(VIRTCHNL_PROTO_HDR_IPV6_DST) | \ + FIELD_SELECTOR(VIRTCHNL_PROTO_HDR_IPV6_PROT), {BUFF_NOUSED } } + #define proto_hint_gtpu_eh_only { \ VIRTCHNL_PROTO_HDR_GTPU_EH, \ FIELD_FOR_PROTO_ONLY, {BUFF_NOUSED } } @@ -347,72 +391,72 @@ struct virtchnl_proto_hdrs hdrs_hint_ipv4 = { }; struct virtchnl_proto_hdrs hdrs_hint_ipv4_src_udp_src_port = { - TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_ipv4_src, + TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_ipv4_src_prot, proto_hint_udp_src_port } }; struct virtchnl_proto_hdrs hdrs_hint_ipv4_src_udp_dst_port = { - TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_ipv4_src, + TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_ipv4_src_prot, proto_hint_udp_dst_port } }; struct virtchnl_proto_hdrs hdrs_hint_ipv4_dst_udp_src_port = { - TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_ipv4_dst, + TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_ipv4_dst_prot, proto_hint_udp_src_port } }; struct virtchnl_proto_hdrs hdrs_hint_ipv4_dst_udp_dst_port = { - TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_ipv4_dst, + TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_ipv4_dst_prot, proto_hint_udp_dst_port } }; struct virtchnl_proto_hdrs hdrs_hint_ipv4_udp_src_port = { - TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_ipv4_only, + TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_ipv4_only_prot, proto_hint_udp_src_port } }; struct virtchnl_proto_hdrs hdrs_hint_ipv4_udp_dst_port = { - TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_ipv4_only, + TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_ipv4_only_prot, proto_hint_udp_dst_port } }; struct virtchnl_proto_hdrs hdrs_hint_ipv4_udp = { - TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_ipv4, + TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_ipv4_prot, proto_hint_udp } }; struct virtchnl_proto_hdrs hdrs_hint_ipv4_src_tcp_src_port = { - TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_ipv4_src, + TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_ipv4_src_prot, proto_hint_tcp_src_port } }; struct virtchnl_proto_hdrs hdrs_hint_ipv4_src_tcp_dst_port = { - TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_ipv4_src, + TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_ipv4_src_prot, proto_hint_tcp_dst_port } }; struct virtchnl_proto_hdrs hdrs_hint_ipv4_dst_tcp_src_port = { - TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_ipv4_dst, + TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_ipv4_dst_prot, proto_hint_tcp_src_port } }; struct virtchnl_proto_hdrs hdrs_hint_ipv4_dst_tcp_dst_port = { - TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_ipv4_dst, + TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_ipv4_dst_prot, proto_hint_tcp_dst_port } }; struct virtchnl_proto_hdrs hdrs_hint_ipv4_tcp_src_port = { - TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_ipv4_only, + TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_ipv4_only_prot, proto_hint_tcp_src_port } }; struct virtchnl_proto_hdrs hdrs_hint_ipv4_tcp_dst_port = { - TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_ipv4_only, + TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_ipv4_only_prot, proto_hint_tcp_dst_port } }; struct virtchnl_proto_hdrs hdrs_hint_ipv4_tcp = { - TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_ipv4, + TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_ipv4_prot, proto_hint_tcp } }; @@ -480,22 +524,22 @@ struct virtchnl_proto_hdrs hdrs_hint_ipv4_udp_esp = { struct virtchnl_proto_hdrs hdrs_hint_ipv4_udp_src_gtpu_eh = { TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_eh_only, - proto_hint_udp_src_port} + proto_hint_ipv4_only_prot, proto_hint_udp_src_port} }; struct virtchnl_proto_hdrs hdrs_hint_ipv4_udp_dst_gtpu_eh = { TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_eh_only, - proto_hint_udp_dst_port} + proto_hint_ipv4_only_prot, proto_hint_udp_dst_port} }; struct virtchnl_proto_hdrs hdrs_hint_ipv4_tcp_src_gtpu_eh = { TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_eh_only, - proto_hint_tcp_src_port} + proto_hint_ipv4_only_prot, proto_hint_tcp_src_port} }; struct virtchnl_proto_hdrs hdrs_hint_ipv4_tcp_dst_gtpu_eh = { TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_eh_only, - proto_hint_tcp_dst_port} + proto_hint_ipv4_only_prot, proto_hint_tcp_dst_port} }; struct virtchnl_proto_hdrs hdrs_hint_ipv4_src_gtpu_eh = { @@ -505,22 +549,22 @@ struct virtchnl_proto_hdrs hdrs_hint_ipv4_src_gtpu_eh = { struct virtchnl_proto_hdrs hdrs_hint_ipv4_src_udp_src_gtpu_eh = { TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_eh_only, - proto_hint_udp_src_port} + proto_hint_ipv4_src_prot, proto_hint_udp_src_port} }; struct virtchnl_proto_hdrs hdrs_hint_ipv4_src_udp_dst_gtpu_eh = { TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_eh_only, - proto_hint_udp_dst_port} + proto_hint_ipv4_src_prot, proto_hint_udp_dst_port} }; struct virtchnl_proto_hdrs hdrs_hint_ipv4_src_tcp_src_gtpu_eh = { TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_eh_only, - proto_hint_tcp_src_port} + proto_hint_ipv4_src_prot, proto_hint_tcp_src_port} }; struct virtchnl_proto_hdrs hdrs_hint_ipv4_src_tcp_dst_gtpu_eh = { TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_eh_only, - proto_hint_tcp_dst_port} + proto_hint_ipv4_src_prot, proto_hint_tcp_dst_port} }; struct virtchnl_proto_hdrs hdrs_hint_ipv4_dst_gtpu_eh = { @@ -535,54 +579,54 @@ struct virtchnl_proto_hdrs hdrs_hint_ipv4_gtpu_eh = { struct virtchnl_proto_hdrs hdrs_hint_ipv4_dst_udp_src_gtpu_eh = { TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_eh_only, - proto_hint_udp_src_port} + proto_hint_ipv4_dst_prot, proto_hint_udp_src_port} }; struct virtchnl_proto_hdrs hdrs_hint_ipv4_dst_udp_dst_gtpu_eh = { TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_eh_only, - proto_hint_udp_dst_port} + proto_hint_ipv4_dst_prot, proto_hint_udp_dst_port} }; struct virtchnl_proto_hdrs hdrs_hint_ipv4_dst_tcp_src_gtpu_eh = { TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_eh_only, - proto_hint_tcp_src_port} + proto_hint_ipv4_dst_prot, proto_hint_tcp_src_port} }; struct virtchnl_proto_hdrs hdrs_hint_ipv4_dst_tcp_dst_gtpu_eh = { TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_eh_only, - proto_hint_tcp_dst_port} + proto_hint_ipv4_dst_prot, proto_hint_tcp_dst_port} }; struct virtchnl_proto_hdrs hdrs_hint_ipv4_udp_gtpu_eh = { TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_eh_only, - proto_hint_udp} + proto_hint_ipv4_prot, proto_hint_udp} }; struct virtchnl_proto_hdrs hdrs_hint_ipv4_tcp_gtpu_eh = { TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_eh_only, - proto_hint_tcp} + proto_hint_ipv4_prot, proto_hint_tcp} }; /* GTPU UP */ struct virtchnl_proto_hdrs hdrs_hint_ipv4_udp_src_gtpu_up = { TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_up_only, - proto_hint_udp_src_port} + proto_hint_ipv4_only_prot, proto_hint_udp_src_port} }; struct virtchnl_proto_hdrs hdrs_hint_ipv4_udp_dst_gtpu_up = { TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_up_only, - proto_hint_udp_dst_port} + proto_hint_ipv4_only_prot, proto_hint_udp_dst_port} }; struct virtchnl_proto_hdrs hdrs_hint_ipv4_tcp_src_gtpu_up = { TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_up_only, - proto_hint_tcp_src_port} + proto_hint_ipv4_only_prot, proto_hint_tcp_src_port} }; struct virtchnl_proto_hdrs hdrs_hint_ipv4_tcp_dst_gtpu_up = { TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_up_only, - proto_hint_tcp_dst_port} + proto_hint_ipv4_only_prot, proto_hint_tcp_dst_port} }; struct virtchnl_proto_hdrs hdrs_hint_ipv4_src_gtpu_up = { @@ -592,22 +636,22 @@ struct virtchnl_proto_hdrs hdrs_hint_ipv4_src_gtpu_up = { struct virtchnl_proto_hdrs hdrs_hint_ipv4_src_udp_src_gtpu_up = { TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_up_only, - proto_hint_udp_src_port} + proto_hint_ipv4_src_prot, proto_hint_udp_src_port} }; struct virtchnl_proto_hdrs hdrs_hint_ipv4_src_udp_dst_gtpu_up = { TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_up_only, - proto_hint_udp_dst_port} + proto_hint_ipv4_src_prot, proto_hint_udp_dst_port} }; struct virtchnl_proto_hdrs hdrs_hint_ipv4_src_tcp_src_gtpu_up = { TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_up_only, - proto_hint_tcp_src_port} + proto_hint_ipv4_src_prot, proto_hint_tcp_src_port} }; struct virtchnl_proto_hdrs hdrs_hint_ipv4_src_tcp_dst_gtpu_up = { TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_up_only, - proto_hint_tcp_dst_port} + proto_hint_ipv4_src_prot, proto_hint_tcp_dst_port} }; struct virtchnl_proto_hdrs hdrs_hint_ipv4_dst_gtpu_up = { @@ -622,54 +666,54 @@ struct virtchnl_proto_hdrs hdrs_hint_ipv4_gtpu_up = { struct virtchnl_proto_hdrs hdrs_hint_ipv4_dst_udp_src_gtpu_up = { TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_up_only, - proto_hint_udp_src_port} + proto_hint_ipv4_dst_prot, proto_hint_udp_src_port} }; struct virtchnl_proto_hdrs hdrs_hint_ipv4_dst_udp_dst_gtpu_up = { TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_up_only, - proto_hint_udp_dst_port} + proto_hint_ipv4_dst_prot, proto_hint_udp_dst_port} }; struct virtchnl_proto_hdrs hdrs_hint_ipv4_dst_tcp_src_gtpu_up = { TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_up_only, - proto_hint_tcp_src_port} + proto_hint_ipv4_dst_prot, proto_hint_tcp_src_port} }; struct virtchnl_proto_hdrs hdrs_hint_ipv4_dst_tcp_dst_gtpu_up = { TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_up_only, - proto_hint_tcp_dst_port} + proto_hint_ipv4_dst_prot, proto_hint_tcp_dst_port} }; struct virtchnl_proto_hdrs hdrs_hint_ipv4_udp_gtpu_up = { TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_up_only, - proto_hint_udp} + proto_hint_ipv4_prot, proto_hint_udp} }; struct virtchnl_proto_hdrs hdrs_hint_ipv4_tcp_gtpu_up = { TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_up_only, - proto_hint_tcp} + proto_hint_ipv4_prot, proto_hint_tcp} }; /* GTPU DWN */ struct virtchnl_proto_hdrs hdrs_hint_ipv4_udp_src_gtpu_dwn = { TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_dwn_only, - proto_hint_udp_src_port} + proto_hint_ipv4_only_prot, proto_hint_udp_src_port} }; struct virtchnl_proto_hdrs hdrs_hint_ipv4_udp_dst_gtpu_dwn = { TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_dwn_only, - proto_hint_udp_dst_port} + proto_hint_ipv4_only_prot, proto_hint_udp_dst_port} }; struct virtchnl_proto_hdrs hdrs_hint_ipv4_tcp_src_gtpu_dwn = { TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_dwn_only, - proto_hint_tcp_src_port} + proto_hint_ipv4_only_prot, proto_hint_tcp_src_port} }; struct virtchnl_proto_hdrs hdrs_hint_ipv4_tcp_dst_gtpu_dwn = { TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_dwn_only, - proto_hint_tcp_dst_port} + proto_hint_ipv4_only_prot, proto_hint_tcp_dst_port} }; struct virtchnl_proto_hdrs hdrs_hint_ipv4_src_gtpu_dwn = { @@ -679,22 +723,22 @@ struct virtchnl_proto_hdrs hdrs_hint_ipv4_src_gtpu_dwn = { struct virtchnl_proto_hdrs hdrs_hint_ipv4_src_udp_src_gtpu_dwn = { TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_dwn_only, - proto_hint_udp_src_port} + proto_hint_ipv4_src_prot, proto_hint_udp_src_port} }; struct virtchnl_proto_hdrs hdrs_hint_ipv4_src_udp_dst_gtpu_dwn = { TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_dwn_only, - proto_hint_udp_dst_port} + proto_hint_ipv4_src_prot, proto_hint_udp_dst_port} }; struct virtchnl_proto_hdrs hdrs_hint_ipv4_src_tcp_src_gtpu_dwn = { TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_dwn_only, - proto_hint_tcp_src_port} + proto_hint_ipv4_src_prot, proto_hint_tcp_src_port} }; struct virtchnl_proto_hdrs hdrs_hint_ipv4_src_tcp_dst_gtpu_dwn = { TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_dwn_only, - proto_hint_tcp_dst_port} + proto_hint_ipv4_src_prot, proto_hint_tcp_dst_port} }; struct virtchnl_proto_hdrs hdrs_hint_ipv4_dst_gtpu_dwn = { @@ -709,32 +753,32 @@ struct virtchnl_proto_hdrs hdrs_hint_ipv4_gtpu_dwn = { struct virtchnl_proto_hdrs hdrs_hint_ipv4_dst_udp_src_gtpu_dwn = { TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_dwn_only, - proto_hint_udp_src_port} + proto_hint_ipv4_dst_prot, proto_hint_udp_src_port} }; struct virtchnl_proto_hdrs hdrs_hint_ipv4_dst_udp_dst_gtpu_dwn = { TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_dwn_only, - proto_hint_udp_dst_port} + proto_hint_ipv4_dst_prot, proto_hint_udp_dst_port} }; struct virtchnl_proto_hdrs hdrs_hint_ipv4_dst_tcp_src_gtpu_dwn = { TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_dwn_only, - proto_hint_tcp_src_port} + proto_hint_ipv4_dst_prot, proto_hint_tcp_src_port} }; struct virtchnl_proto_hdrs hdrs_hint_ipv4_dst_tcp_dst_gtpu_dwn = { TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_dwn_only, - proto_hint_tcp_dst_port} + proto_hint_ipv4_dst_prot, proto_hint_tcp_dst_port} }; struct virtchnl_proto_hdrs hdrs_hint_ipv4_udp_gtpu_dwn = { TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_dwn_only, - proto_hint_udp} + proto_hint_ipv4_prot, proto_hint_udp} }; struct virtchnl_proto_hdrs hdrs_hint_ipv4_tcp_gtpu_dwn = { TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_dwn_only, - proto_hint_tcp} + proto_hint_ipv4_prot, proto_hint_tcp} }; /* IPV6 */ @@ -752,70 +796,72 @@ struct virtchnl_proto_hdrs hdrs_hint_ipv6 = { }; struct virtchnl_proto_hdrs hdrs_hint_ipv6_src_udp_src_port = { - TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_ipv6_src, + TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_ipv6_src_prot, proto_hint_udp_src_port } }; struct virtchnl_proto_hdrs hdrs_hint_ipv6_src_udp_dst_port = { - TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_ipv6_src, + TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_ipv6_src_prot, proto_hint_udp_dst_port } }; struct virtchnl_proto_hdrs hdrs_hint_ipv6_dst_udp_src_port = { - TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_ipv6_dst, + TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_ipv6_dst_prot, proto_hint_udp_src_port } }; struct virtchnl_proto_hdrs hdrs_hint_ipv6_dst_udp_dst_port = { - TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_ipv6_dst, + TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_ipv6_dst_prot, proto_hint_udp_dst_port } }; struct virtchnl_proto_hdrs hdrs_hint_ipv6_udp_src_port = { - TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_udp_src_port } + TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_ipv6_only_prot, + proto_hint_udp_src_port } }; struct virtchnl_proto_hdrs hdrs_hint_ipv6_udp_dst_port = { - TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_udp_dst_port } + TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_ipv6_only_prot, + proto_hint_udp_dst_port } }; struct virtchnl_proto_hdrs hdrs_hint_ipv6_udp = { - TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_ipv6, + TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_ipv6_prot, proto_hint_udp } }; struct virtchnl_proto_hdrs hdrs_hint_ipv6_src_tcp_src_port = { - TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_ipv6_src, + TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_ipv6_src_prot, proto_hint_tcp_src_port } }; struct virtchnl_proto_hdrs hdrs_hint_ipv6_src_tcp_dst_port = { - TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_ipv6_src, + TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_ipv6_src_prot, proto_hint_tcp_dst_port } }; struct virtchnl_proto_hdrs hdrs_hint_ipv6_dst_tcp_src_port = { - TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_ipv6_dst, + TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_ipv6_dst_prot, proto_hint_tcp_src_port } }; struct virtchnl_proto_hdrs hdrs_hint_ipv6_dst_tcp_dst_port = { - TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_ipv6_dst, + TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_ipv6_dst_prot, proto_hint_tcp_dst_port } }; struct virtchnl_proto_hdrs hdrs_hint_ipv6_tcp_src_port = { - TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_ipv6_only, + TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_ipv6_only_prot, proto_hint_tcp_src_port } }; struct virtchnl_proto_hdrs hdrs_hint_ipv6_tcp_dst_port = { - TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_ipv6_only, + TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_ipv6_only_prot, proto_hint_tcp_dst_port } }; struct virtchnl_proto_hdrs hdrs_hint_ipv6_tcp = { - TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_ipv6, + TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_ipv6_prot, proto_hint_tcp } }; -- 2.20.1