+/* IPv6 GTPU IP */
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_src_gtpu_ip = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_TWO, {proto_hint_gtpu_ip_only,
+ proto_hint_ipv6_src }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_dst_gtpu_ip = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_TWO, {proto_hint_gtpu_ip_only,
+ proto_hint_ipv6_dst }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_gtpu_ip = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_TWO, {proto_hint_gtpu_ip_only,
+ proto_hint_ipv6 }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_src_udp_gtpu_ip = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_ip_only,
+ proto_hint_ipv6_src_prot, proto_hint_udp_only }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_dst_udp_gtpu_ip = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_ip_only,
+ proto_hint_ipv6_dst_prot, proto_hint_udp_only }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_gtpu_udp_ip = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_ip_only,
+ proto_hint_ipv6_prot, proto_hint_udp_only }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_src_tcp_gtpu_ip = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_ip_only,
+ proto_hint_ipv6_src_prot, proto_hint_tcp_only }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_dst_tcp_gtpu_ip = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_ip_only,
+ proto_hint_ipv6_dst_prot, proto_hint_tcp_only }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_gtpu_tcp_ip = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_ip_only,
+ proto_hint_ipv6_prot, proto_hint_tcp_only }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_udp_src_gtpu_ip = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_ip_only,
+ proto_hint_ipv6_only_prot, proto_hint_udp_src_port}
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_udp_dst_gtpu_ip = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_ip_only,
+ proto_hint_ipv6_only_prot, proto_hint_udp_dst_port}
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_tcp_src_gtpu_ip = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_ip_only,
+ proto_hint_ipv6_only_prot, proto_hint_tcp_src_port}
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_tcp_dst_gtpu_ip = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_ip_only,
+ proto_hint_ipv6_only_prot, proto_hint_tcp_dst_port}
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_src_udp_src_gtpu_ip = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_ip_only,
+ proto_hint_ipv6_src_prot, proto_hint_udp_src_port}
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_src_udp_dst_gtpu_ip = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_ip_only,
+ proto_hint_ipv6_src_prot, proto_hint_udp_dst_port}
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_src_tcp_src_gtpu_ip = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_ip_only,
+ proto_hint_ipv6_src_prot, proto_hint_tcp_src_port}
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_src_tcp_dst_gtpu_ip = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_ip_only,
+ proto_hint_ipv6_src_prot, proto_hint_tcp_dst_port}
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_dst_udp_src_gtpu_ip = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_ip_only,
+ proto_hint_ipv6_dst_prot, proto_hint_udp_src_port}
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_dst_udp_dst_gtpu_ip = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_ip_only,
+ proto_hint_ipv6_dst_prot, proto_hint_udp_dst_port}
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_dst_tcp_src_gtpu_ip = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_ip_only,
+ proto_hint_ipv6_dst_prot, proto_hint_tcp_src_port}
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_dst_tcp_dst_gtpu_ip = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_ip_only,
+ proto_hint_ipv6_dst_prot, proto_hint_tcp_dst_port}
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_udp_gtpu_ip = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_ip_only,
+ proto_hint_ipv6_prot, proto_hint_udp}
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_tcp_gtpu_ip = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_ip_only,
+ proto_hint_ipv6_prot, proto_hint_tcp}
+};
+
+/* IPv4 GTPU EH */
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv4_src_udp_gtpu_eh = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_eh_only,
+ proto_hint_ipv4_src_prot, proto_hint_udp_only }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv4_dst_udp_gtpu_eh = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_eh_only,
+ proto_hint_ipv4_dst_prot, proto_hint_udp_only }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv4_gtpu_udp_eh = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_eh_only,
+ proto_hint_ipv4_prot, proto_hint_udp_only }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv4_src_tcp_gtpu_eh = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_eh_only,
+ proto_hint_ipv4_src_prot, proto_hint_tcp_only }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv4_dst_tcp_gtpu_eh = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_eh_only,
+ proto_hint_ipv4_dst_prot, proto_hint_tcp_only }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv4_gtpu_tcp_eh = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_eh_only,
+ proto_hint_ipv4_prot, proto_hint_tcp_only }
+};
+
+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_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_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_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_ipv4_only_prot, proto_hint_tcp_dst_port}
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv4_src_gtpu_eh = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_TWO, {proto_hint_gtpu_eh_only,
+ proto_hint_ipv4_src }
+};
+
+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_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_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_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_ipv4_src_prot, proto_hint_tcp_dst_port}
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv4_dst_gtpu_eh = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_TWO, {proto_hint_gtpu_eh_only,
+ proto_hint_ipv4_dst }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv4_gtpu_eh = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_TWO, {proto_hint_gtpu_eh_only,
+ proto_hint_ipv4 }
+};
+
+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_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_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_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_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_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_ipv4_prot, proto_hint_tcp}
+};
+
+/* IPv6 GTPU EH */
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_src_udp_gtpu_eh = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_eh_only,
+ proto_hint_ipv6_src_prot, proto_hint_udp_only }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_dst_udp_gtpu_eh = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_eh_only,
+ proto_hint_ipv6_dst_prot, proto_hint_udp_only }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_gtpu_udp_eh = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_eh_only,
+ proto_hint_ipv6_prot, proto_hint_udp_only }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_src_tcp_gtpu_eh = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_eh_only,
+ proto_hint_ipv6_src_prot, proto_hint_tcp_only }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_dst_tcp_gtpu_eh = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_eh_only,
+ proto_hint_ipv6_dst_prot, proto_hint_tcp_only }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_gtpu_tcp_eh = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_eh_only,
+ proto_hint_ipv6_prot, proto_hint_tcp_only }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_udp_src_gtpu_eh = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_eh_only,
+ proto_hint_ipv6_only_prot, proto_hint_udp_src_port}
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_udp_dst_gtpu_eh = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_eh_only,
+ proto_hint_ipv6_only_prot, proto_hint_udp_dst_port}
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_tcp_src_gtpu_eh = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_eh_only,
+ proto_hint_ipv6_only_prot, proto_hint_tcp_src_port}
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_tcp_dst_gtpu_eh = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_eh_only,
+ proto_hint_ipv6_only_prot, proto_hint_tcp_dst_port}
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_src_gtpu_eh = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_TWO, {proto_hint_gtpu_eh_only,
+ proto_hint_ipv6_src }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_src_udp_src_gtpu_eh = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_eh_only,
+ proto_hint_ipv6_src_prot, proto_hint_udp_src_port}
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_src_udp_dst_gtpu_eh = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_eh_only,
+ proto_hint_ipv6_src_prot, proto_hint_udp_dst_port}
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_src_tcp_src_gtpu_eh = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_eh_only,
+ proto_hint_ipv6_src_prot, proto_hint_tcp_src_port}
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_src_tcp_dst_gtpu_eh = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_eh_only,
+ proto_hint_ipv6_src_prot, proto_hint_tcp_dst_port}
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_dst_gtpu_eh = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_TWO, {proto_hint_gtpu_eh_only,
+ proto_hint_ipv6_dst }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_gtpu_eh = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_TWO, {proto_hint_gtpu_eh_only,
+ proto_hint_ipv6 }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_dst_udp_src_gtpu_eh = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_eh_only,
+ proto_hint_ipv6_dst_prot, proto_hint_udp_src_port}
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_dst_udp_dst_gtpu_eh = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_eh_only,
+ proto_hint_ipv6_dst_prot, proto_hint_udp_dst_port}
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_dst_tcp_src_gtpu_eh = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_eh_only,
+ proto_hint_ipv6_dst_prot, proto_hint_tcp_src_port}
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_dst_tcp_dst_gtpu_eh = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_eh_only,
+ proto_hint_ipv6_dst_prot, proto_hint_tcp_dst_port}
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_udp_gtpu_eh = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_eh_only,
+ proto_hint_ipv6_prot, proto_hint_udp}
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_tcp_gtpu_eh = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_eh_only,
+ proto_hint_ipv6_prot, proto_hint_tcp}
+};
+
+/* IPv4 GTPU UP */
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv4_src_udp_gtpu_up = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_up_only,
+ proto_hint_ipv4_src_prot, proto_hint_udp_only }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv4_dst_udp_gtpu_up = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_up_only,
+ proto_hint_ipv4_dst_prot, proto_hint_udp_only }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv4_gtpu_udp_up = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_up_only,
+ proto_hint_ipv4_prot, proto_hint_udp_only }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv4_src_tcp_gtpu_up = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_up_only,
+ proto_hint_ipv4_src_prot, proto_hint_tcp_only }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv4_dst_tcp_gtpu_up = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_up_only,
+ proto_hint_ipv4_dst_prot, proto_hint_tcp_only }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv4_gtpu_tcp_up = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_up_only,
+ proto_hint_ipv4_prot, proto_hint_tcp_only }
+};
+
+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_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_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_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_ipv4_only_prot, proto_hint_tcp_dst_port}
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv4_src_gtpu_up = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_TWO, {proto_hint_gtpu_up_only,
+ proto_hint_ipv4_src }
+};
+
+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_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_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_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_ipv4_src_prot, proto_hint_tcp_dst_port}
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv4_dst_gtpu_up = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_TWO, {proto_hint_gtpu_up_only,
+ proto_hint_ipv4_dst }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv4_gtpu_up = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_TWO, {proto_hint_gtpu_up_only,
+ proto_hint_ipv4 }
+};
+
+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_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_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_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_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_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_ipv4_prot, proto_hint_tcp}
+};
+
+/* IPv6 GTPU UP */
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_src_udp_gtpu_up = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_up_only,
+ proto_hint_ipv6_src_prot, proto_hint_udp_only }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_dst_udp_gtpu_up = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_up_only,
+ proto_hint_ipv6_dst_prot, proto_hint_udp_only }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_gtpu_udp_up = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_up_only,
+ proto_hint_ipv6_prot, proto_hint_udp_only }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_src_tcp_gtpu_up = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_up_only,
+ proto_hint_ipv6_src_prot, proto_hint_tcp_only }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_dst_tcp_gtpu_up = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_up_only,
+ proto_hint_ipv6_dst_prot, proto_hint_tcp_only }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_gtpu_tcp_up = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_up_only,
+ proto_hint_ipv6_prot, proto_hint_tcp_only }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_udp_src_gtpu_up = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_up_only,
+ proto_hint_ipv6_only_prot, proto_hint_udp_src_port}
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_udp_dst_gtpu_up = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_up_only,
+ proto_hint_ipv6_only_prot, proto_hint_udp_dst_port}
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_tcp_src_gtpu_up = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_up_only,
+ proto_hint_ipv6_only_prot, proto_hint_tcp_src_port}
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_tcp_dst_gtpu_up = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_up_only,
+ proto_hint_ipv6_only_prot, proto_hint_tcp_dst_port}
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_src_gtpu_up = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_TWO, {proto_hint_gtpu_up_only,
+ proto_hint_ipv6_src }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_src_udp_src_gtpu_up = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_up_only,
+ proto_hint_ipv6_src_prot, proto_hint_udp_src_port}
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_src_udp_dst_gtpu_up = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_up_only,
+ proto_hint_ipv6_src_prot, proto_hint_udp_dst_port}
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_src_tcp_src_gtpu_up = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_up_only,
+ proto_hint_ipv6_src_prot, proto_hint_tcp_src_port}
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_src_tcp_dst_gtpu_up = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_up_only,
+ proto_hint_ipv6_src_prot, proto_hint_tcp_dst_port}
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_dst_gtpu_up = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_TWO, {proto_hint_gtpu_up_only,
+ proto_hint_ipv6_dst }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_gtpu_up = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_TWO, {proto_hint_gtpu_up_only,
+ proto_hint_ipv6 }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_dst_udp_src_gtpu_up = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_up_only,
+ proto_hint_ipv6_dst_prot, proto_hint_udp_src_port}
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_dst_udp_dst_gtpu_up = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_up_only,
+ proto_hint_ipv6_dst_prot, proto_hint_udp_dst_port}
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_dst_tcp_src_gtpu_up = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_up_only,
+ proto_hint_ipv6_dst_prot, proto_hint_tcp_src_port}
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_dst_tcp_dst_gtpu_up = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_up_only,
+ proto_hint_ipv6_dst_prot, proto_hint_tcp_dst_port}
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_udp_gtpu_up = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_up_only,
+ proto_hint_ipv6_prot, proto_hint_udp}
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_tcp_gtpu_up = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_up_only,
+ proto_hint_ipv6_prot, proto_hint_tcp}
+};
+
+/* IPv4 GTPU DWN */
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv4_src_udp_gtpu_dwn = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_dwn_only,
+ proto_hint_ipv4_src_prot, proto_hint_udp_only }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv4_dst_udp_gtpu_dwn = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_dwn_only,
+ proto_hint_ipv4_dst_prot, proto_hint_udp_only }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv4_gtpu_udp_dwn = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_dwn_only,
+ proto_hint_ipv4_prot, proto_hint_udp_only }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv4_src_tcp_gtpu_dwn = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_dwn_only,
+ proto_hint_ipv4_src_prot, proto_hint_tcp_only }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv4_dst_tcp_gtpu_dwn = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_dwn_only,
+ proto_hint_ipv4_dst_prot, proto_hint_tcp_only }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv4_gtpu_tcp_dwn = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_dwn_only,
+ proto_hint_ipv4_prot, proto_hint_tcp_only }
+};
+
+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_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_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_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_ipv4_only_prot, proto_hint_tcp_dst_port}
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv4_src_gtpu_dwn = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_TWO, {proto_hint_gtpu_dwn_only,
+ proto_hint_ipv4_src }
+};
+
+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_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_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_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_ipv4_src_prot, proto_hint_tcp_dst_port}
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv4_dst_gtpu_dwn = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_TWO, {proto_hint_gtpu_dwn_only,
+ proto_hint_ipv4_dst }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv4_gtpu_dwn = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_TWO, {proto_hint_gtpu_dwn_only,
+ proto_hint_ipv4 }
+};
+
+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_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_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_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_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_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_ipv4_prot, proto_hint_tcp}
+};
+
+/* IPv6 GTPU DWN */
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_src_udp_gtpu_dwn = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_dwn_only,
+ proto_hint_ipv6_src_prot, proto_hint_udp_only }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_dst_udp_gtpu_dwn = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_dwn_only,
+ proto_hint_ipv6_dst_prot, proto_hint_udp_only }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_gtpu_udp_dwn = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_dwn_only,
+ proto_hint_ipv6_prot, proto_hint_udp_only }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_src_tcp_gtpu_dwn = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_dwn_only,
+ proto_hint_ipv6_src_prot, proto_hint_tcp_only }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_dst_tcp_gtpu_dwn = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_dwn_only,
+ proto_hint_ipv6_dst_prot, proto_hint_tcp_only }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_gtpu_tcp_dwn = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_dwn_only,
+ proto_hint_ipv6_prot, proto_hint_tcp_only }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_udp_src_gtpu_dwn = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_dwn_only,
+ proto_hint_ipv6_only_prot, proto_hint_udp_src_port}
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_udp_dst_gtpu_dwn = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_dwn_only,
+ proto_hint_ipv6_only_prot, proto_hint_udp_dst_port}
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_tcp_src_gtpu_dwn = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_dwn_only,
+ proto_hint_ipv6_only_prot, proto_hint_tcp_src_port}
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_tcp_dst_gtpu_dwn = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_dwn_only,
+ proto_hint_ipv6_only_prot, proto_hint_tcp_dst_port}
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_src_gtpu_dwn = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_TWO, {proto_hint_gtpu_dwn_only,
+ proto_hint_ipv6_src }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_src_udp_src_gtpu_dwn = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_dwn_only,
+ proto_hint_ipv6_src_prot, proto_hint_udp_src_port}
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_src_udp_dst_gtpu_dwn = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_dwn_only,
+ proto_hint_ipv6_src_prot, proto_hint_udp_dst_port}
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_src_tcp_src_gtpu_dwn = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_dwn_only,
+ proto_hint_ipv6_src_prot, proto_hint_tcp_src_port}
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_src_tcp_dst_gtpu_dwn = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_dwn_only,
+ proto_hint_ipv6_src_prot, proto_hint_tcp_dst_port}
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_dst_gtpu_dwn = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_TWO, {proto_hint_gtpu_dwn_only,
+ proto_hint_ipv6_dst }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_gtpu_dwn = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_TWO, {proto_hint_gtpu_dwn_only,
+ proto_hint_ipv6 }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_dst_udp_src_gtpu_dwn = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_dwn_only,
+ proto_hint_ipv6_dst_prot, proto_hint_udp_src_port}
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_dst_udp_dst_gtpu_dwn = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_dwn_only,
+ proto_hint_ipv6_dst_prot, proto_hint_udp_dst_port}
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_dst_tcp_src_gtpu_dwn = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_dwn_only,
+ proto_hint_ipv6_dst_prot, proto_hint_tcp_src_port}
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_dst_tcp_dst_gtpu_dwn = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_dwn_only,
+ proto_hint_ipv6_dst_prot, proto_hint_tcp_dst_port}
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_udp_gtpu_dwn = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_dwn_only,
+ proto_hint_ipv6_prot, proto_hint_udp}
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_tcp_gtpu_dwn = {
+ TUNNEL_LEVEL_FIRST_INNER, PROTO_COUNT_THREE, {proto_hint_gtpu_dwn_only,
+ proto_hint_ipv6_prot, proto_hint_tcp}
+};
+
+/* IPV6 */
+
+struct virtchnl_proto_hdrs hdrs_hint_eth_src_ipv6 = {
+ TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_eth_src,
+ proto_hint_ipv6_only }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_eth_src_ipv6_udp = {
+ TUNNEL_LEVEL_OUTER, PROTO_COUNT_THREE, {proto_hint_eth_src,
+ proto_hint_ipv6_only, proto_hint_udp_only }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_eth_src_ipv6_tcp = {
+ TUNNEL_LEVEL_OUTER, PROTO_COUNT_THREE, {proto_hint_eth_src,
+ proto_hint_ipv6_only, proto_hint_tcp_only }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_eth_src_ipv6_sctp = {
+ TUNNEL_LEVEL_OUTER, PROTO_COUNT_THREE, {proto_hint_eth_src,
+ proto_hint_ipv6_only, proto_hint_sctp_only }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_eth_dst_ipv6 = {
+ TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_eth_dst,
+ proto_hint_ipv6_only }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_eth_dst_ipv6_udp = {
+ TUNNEL_LEVEL_OUTER, PROTO_COUNT_THREE, {proto_hint_eth_dst,
+ proto_hint_ipv6_only, proto_hint_udp_only }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_eth_dst_ipv6_tcp = {
+ TUNNEL_LEVEL_OUTER, PROTO_COUNT_THREE, {proto_hint_eth_dst,
+ proto_hint_ipv6_only, proto_hint_tcp_only }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_eth_dst_ipv6_sctp = {
+ TUNNEL_LEVEL_OUTER, PROTO_COUNT_THREE, {proto_hint_eth_dst,
+ proto_hint_ipv6_only, proto_hint_sctp_only }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_eth_ipv6 = {
+ TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_eth,
+ proto_hint_ipv6_only }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_eth_ipv6_udp = {
+ TUNNEL_LEVEL_OUTER, PROTO_COUNT_THREE, {proto_hint_eth,
+ proto_hint_ipv6_only, proto_hint_udp_only }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_eth_ipv6_tcp = {
+ TUNNEL_LEVEL_OUTER, PROTO_COUNT_THREE, {proto_hint_eth,
+ proto_hint_ipv6_only, proto_hint_tcp_only }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_eth_ipv6_sctp = {
+ TUNNEL_LEVEL_OUTER, PROTO_COUNT_THREE, {proto_hint_eth,
+ proto_hint_ipv6_only, proto_hint_sctp_only }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_svlan_ipv6 = {
+ TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_svlan,
+ proto_hint_ipv6_only}
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_svlan_ipv6_udp = {
+ TUNNEL_LEVEL_OUTER, PROTO_COUNT_THREE, {proto_hint_svlan,
+ proto_hint_ipv6_only, proto_hint_udp_only}
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_svlan_ipv6_tcp = {
+ TUNNEL_LEVEL_OUTER, PROTO_COUNT_THREE, {proto_hint_svlan,
+ proto_hint_ipv6_only, proto_hint_tcp_only}
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_svlan_ipv6_sctp = {
+ TUNNEL_LEVEL_OUTER, PROTO_COUNT_THREE, {proto_hint_svlan,
+ proto_hint_ipv6_only, proto_hint_sctp_only}
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_cvlan_ipv6 = {
+ TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_cvlan,
+ proto_hint_ipv6_only}
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_cvlan_ipv6_udp = {
+ TUNNEL_LEVEL_OUTER, PROTO_COUNT_THREE, {proto_hint_cvlan,
+ proto_hint_ipv6_only, proto_hint_udp_only}
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_cvlan_ipv6_tcp = {
+ TUNNEL_LEVEL_OUTER, PROTO_COUNT_THREE, {proto_hint_cvlan,
+ proto_hint_ipv6_only, proto_hint_tcp_only}
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_cvlan_ipv6_sctp = {
+ TUNNEL_LEVEL_OUTER, PROTO_COUNT_THREE, {proto_hint_cvlan,
+ proto_hint_ipv6_only, proto_hint_sctp_only}
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_src = {
+ TUNNEL_LEVEL_OUTER, PROTO_COUNT_ONE, {proto_hint_ipv6_src }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_dst = {
+ TUNNEL_LEVEL_OUTER, PROTO_COUNT_ONE, {proto_hint_ipv6_dst }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6 = {
+ TUNNEL_LEVEL_OUTER, PROTO_COUNT_ONE, {proto_hint_ipv6 }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_src_udp = {
+ TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_ipv6_src_prot,
+ proto_hint_udp_only }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_dst_udp = {
+ TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_ipv6_dst_prot,
+ proto_hint_udp_only }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_udp_only = {
+ TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_ipv6_prot,
+ proto_hint_udp_only }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_src_tcp = {
+ TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_ipv6_src_prot,
+ proto_hint_tcp_only }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_dst_tcp = {
+ TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_ipv6_dst_prot,
+ proto_hint_tcp_only }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_tcp_only = {
+ TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_ipv6_prot,
+ proto_hint_tcp_only }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_src_sctp = {
+ TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_ipv6_src_prot,
+ proto_hint_sctp_only }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_dst_sctp = {
+ TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_ipv6_dst_prot,
+ proto_hint_sctp_only }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_sctp_only = {
+ TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_ipv6_prot,
+ proto_hint_sctp_only }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_src_udp_src_port = {
+ 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_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_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_prot,
+ proto_hint_udp_dst_port }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_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_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_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_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_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_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_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_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_prot,
+ proto_hint_tcp_dst_port }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_tcp = {
+ TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_ipv6_prot,
+ proto_hint_tcp }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_src_sctp_src_port = {
+ TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_ipv6_src,
+ proto_hint_sctp_src_port }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_src_sctp_dst_port = {
+ TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_ipv6_src,
+ proto_hint_sctp_dst_port }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_dst_sctp_src_port = {
+ TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_ipv6_dst,
+ proto_hint_sctp_src_port }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_dst_sctp_dst_port = {
+ TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_ipv6_dst,
+ proto_hint_sctp_dst_port }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_sctp_src_port = {
+ TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_ipv6_only,
+ proto_hint_sctp_src_port }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_sctp_dst_port = {
+ TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_ipv6_only,
+ proto_hint_sctp_dst_port }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_sctp = {
+ TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_ipv6,
+ proto_hint_sctp }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_esp = {
+ TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_ipv6_only,
+ proto_hint_esp }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_ah = {
+ TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_ipv6_only,
+ proto_hint_ah }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_l2tpv3 = {
+ TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_ipv6_only,
+ proto_hint_l2tpv3 }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_pfcp = {
+ TUNNEL_LEVEL_OUTER, PROTO_COUNT_TWO, {proto_hint_ipv6_only,
+ proto_hint_pfcp }
+};
+
+struct virtchnl_proto_hdrs hdrs_hint_ipv6_udp_esp = {
+ TUNNEL_LEVEL_OUTER, PROTO_COUNT_THREE, {proto_hint_ipv6_only,
+ proto_hint_udp_only, proto_hint_esp }
+};
+
+struct iavf_hash_match_type iavf_hash_map_list[] = {
+ /* IPV4 */
+ {ETH_RSS_L2_SRC_ONLY,
+ &hdrs_hint_eth_src_ipv4, IAVF_PHINT_IPV4},
+ {ETH_RSS_L2_DST_ONLY,
+ &hdrs_hint_eth_dst_ipv4, IAVF_PHINT_IPV4},
+ {ETH_RSS_ETH,
+ &hdrs_hint_eth_ipv4, IAVF_PHINT_IPV4},
+ {ETH_RSS_L3_SRC_ONLY,
+ &hdrs_hint_ipv4_src, IAVF_PHINT_IPV4},
+ {ETH_RSS_L3_DST_ONLY,
+ &hdrs_hint_ipv4_dst, IAVF_PHINT_IPV4},
+ {ETH_RSS_IPV4 | ETH_RSS_L3_SRC_ONLY,
+ &hdrs_hint_ipv4_src, IAVF_PHINT_IPV4},
+ {ETH_RSS_IPV4 | ETH_RSS_L3_DST_ONLY,
+ &hdrs_hint_ipv4_dst, IAVF_PHINT_IPV4},
+ {ETH_RSS_IPV4,
+ &hdrs_hint_ipv4, IAVF_PHINT_IPV4},
+ {ETH_RSS_ESP,
+ &hdrs_hint_ipv4_esp, IAVF_PHINT_IPV4},
+ {ETH_RSS_AH,
+ &hdrs_hint_ipv4_ah, IAVF_PHINT_IPV4},
+ {ETH_RSS_L2TPV3,
+ &hdrs_hint_ipv4_l2tpv3, IAVF_PHINT_IPV4},
+ {ETH_RSS_S_VLAN,
+ &hdrs_hint_svlan_ipv4, IAVF_PHINT_IPV4},
+ {ETH_RSS_S_VLAN,
+ &hdrs_hint_svlan_ipv4_udp, IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_S_VLAN,
+ &hdrs_hint_svlan_ipv4_tcp, IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_S_VLAN,
+ &hdrs_hint_svlan_ipv4_sctp, IAVF_PHINT_IPV4_SCTP},
+ {ETH_RSS_C_VLAN,
+ &hdrs_hint_cvlan_ipv4, IAVF_PHINT_IPV4},
+ {ETH_RSS_C_VLAN,
+ &hdrs_hint_cvlan_ipv4_udp, IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_C_VLAN,
+ &hdrs_hint_cvlan_ipv4_tcp, IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_C_VLAN,
+ &hdrs_hint_cvlan_ipv4_sctp, IAVF_PHINT_IPV4_SCTP},
+ /* IPV4 UDP */
+ {ETH_RSS_L2_SRC_ONLY,
+ &hdrs_hint_eth_src_ipv4_udp, IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_L2_DST_ONLY,
+ &hdrs_hint_eth_dst_ipv4_udp, IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_ETH,
+ &hdrs_hint_eth_ipv4_udp, IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_src_udp_src_port, IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_src_udp_dst_port, IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_L3_SRC_ONLY,
+ &hdrs_hint_ipv4_src_udp, IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_dst_udp_src_port, IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_dst_udp_dst_port, IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_L3_DST_ONLY,
+ &hdrs_hint_ipv4_dst_udp, IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_src_udp_src_port, IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_src_udp_dst_port, IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP |
+ ETH_RSS_L3_SRC_ONLY, &hdrs_hint_ipv4_src_udp,
+ IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_dst_udp_src_port, IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_dst_udp_dst_port, IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP |
+ ETH_RSS_L3_DST_ONLY, &hdrs_hint_ipv4_dst_udp,
+ IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_udp_src_port, IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_udp_dst_port, IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_udp_src_port, IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_udp_dst_port, IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_PFCP,
+ &hdrs_hint_ipv4_pfcp, IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_ESP,
+ &hdrs_hint_ipv4_udp_esp, IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP,
+ &hdrs_hint_ipv4_udp, IAVF_PHINT_IPV4_UDP},
+ /* IPV4 TCP */
+ {ETH_RSS_L2_SRC_ONLY,
+ &hdrs_hint_eth_src_ipv4_tcp, IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_L2_DST_ONLY,
+ &hdrs_hint_eth_dst_ipv4_tcp, IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_ETH,
+ &hdrs_hint_eth_ipv4_tcp, IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_src_tcp_src_port, IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_src_tcp_dst_port, IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_L3_SRC_ONLY,
+ &hdrs_hint_ipv4_src_tcp, IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_dst_tcp_src_port, IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_dst_tcp_dst_port, IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_L3_DST_ONLY,
+ &hdrs_hint_ipv4_dst_tcp, IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_src_tcp_src_port, IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_src_tcp_dst_port, IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP |
+ ETH_RSS_L3_SRC_ONLY, &hdrs_hint_ipv4_src_tcp,
+ IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_dst_tcp_src_port, IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_dst_tcp_dst_port, IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP |
+ ETH_RSS_L3_DST_ONLY, &hdrs_hint_ipv4_dst_tcp,
+ IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_tcp_src_port, IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_tcp_dst_port, IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_tcp_src_port, IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_tcp_dst_port, IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP,
+ &hdrs_hint_ipv4_tcp, IAVF_PHINT_IPV4_TCP},
+ /* IPV4 SCTP */
+ {ETH_RSS_L2_SRC_ONLY,
+ &hdrs_hint_eth_src_ipv4_sctp, IAVF_PHINT_IPV4_SCTP},
+ {ETH_RSS_L2_DST_ONLY,
+ &hdrs_hint_eth_dst_ipv4_sctp, IAVF_PHINT_IPV4_SCTP},
+ {ETH_RSS_ETH,
+ &hdrs_hint_eth_ipv4_sctp, IAVF_PHINT_IPV4_SCTP},
+ {ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_src_sctp_src_port, IAVF_PHINT_IPV4_SCTP},
+ {ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_src_sctp_dst_port, IAVF_PHINT_IPV4_SCTP},
+ {ETH_RSS_L3_SRC_ONLY,
+ &hdrs_hint_ipv4_src_sctp, IAVF_PHINT_IPV4_SCTP},
+ {ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_dst_sctp_src_port, IAVF_PHINT_IPV4_SCTP},
+ {ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_dst_sctp_dst_port, IAVF_PHINT_IPV4_SCTP},
+ {ETH_RSS_L3_DST_ONLY,
+ &hdrs_hint_ipv4_dst_sctp, IAVF_PHINT_IPV4_SCTP},
+ {ETH_RSS_NONFRAG_IPV4_SCTP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_src_sctp_src_port, IAVF_PHINT_IPV4_SCTP},
+ {ETH_RSS_NONFRAG_IPV4_SCTP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_src_sctp_dst_port, IAVF_PHINT_IPV4_SCTP},
+ {ETH_RSS_NONFRAG_IPV4_SCTP |
+ ETH_RSS_L3_SRC_ONLY, &hdrs_hint_ipv4_src_sctp,
+ IAVF_PHINT_IPV4_SCTP},
+ {ETH_RSS_NONFRAG_IPV4_SCTP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_dst_sctp_src_port, IAVF_PHINT_IPV4_SCTP},
+ {ETH_RSS_NONFRAG_IPV4_SCTP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_dst_sctp_dst_port, IAVF_PHINT_IPV4_SCTP},
+ {ETH_RSS_NONFRAG_IPV4_SCTP |
+ ETH_RSS_L3_DST_ONLY, &hdrs_hint_ipv4_dst_sctp,
+ IAVF_PHINT_IPV4_SCTP},
+ {ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_sctp_src_port, IAVF_PHINT_IPV4_SCTP},
+ {ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_sctp_dst_port, IAVF_PHINT_IPV4_SCTP},
+ {ETH_RSS_NONFRAG_IPV4_SCTP | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_sctp_src_port, IAVF_PHINT_IPV4_SCTP},
+ {ETH_RSS_NONFRAG_IPV4_SCTP | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_sctp_dst_port, IAVF_PHINT_IPV4_SCTP},
+ {ETH_RSS_NONFRAG_IPV4_SCTP,
+ &hdrs_hint_ipv4_sctp, IAVF_PHINT_IPV4_SCTP},
+ /* IPV6 */
+ {ETH_RSS_L2_SRC_ONLY,
+ &hdrs_hint_eth_src_ipv6, IAVF_PHINT_IPV6},
+ {ETH_RSS_L2_DST_ONLY,
+ &hdrs_hint_eth_dst_ipv6, IAVF_PHINT_IPV6},
+ {ETH_RSS_ETH,
+ &hdrs_hint_eth_ipv6, IAVF_PHINT_IPV6},
+ {ETH_RSS_L3_SRC_ONLY,
+ &hdrs_hint_ipv6_src, IAVF_PHINT_IPV6},
+ {ETH_RSS_L3_DST_ONLY,
+ &hdrs_hint_ipv6_dst, IAVF_PHINT_IPV6},
+ {ETH_RSS_IPV6 | ETH_RSS_L3_SRC_ONLY,
+ &hdrs_hint_ipv6_src, IAVF_PHINT_IPV6},
+ {ETH_RSS_IPV6 | ETH_RSS_L3_DST_ONLY,
+ &hdrs_hint_ipv6_dst, IAVF_PHINT_IPV6},
+ {ETH_RSS_IPV6,
+ &hdrs_hint_ipv6, IAVF_PHINT_IPV6},
+ {ETH_RSS_ESP,
+ &hdrs_hint_ipv6_esp, IAVF_PHINT_IPV6},
+ {ETH_RSS_AH,
+ &hdrs_hint_ipv6_ah, IAVF_PHINT_IPV6},
+ {ETH_RSS_L2TPV3,
+ &hdrs_hint_ipv6_l2tpv3, IAVF_PHINT_IPV6},
+ /* IPV6 UDP */
+ {ETH_RSS_L2_SRC_ONLY,
+ &hdrs_hint_eth_src_ipv6_udp, IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_L2_DST_ONLY,
+ &hdrs_hint_eth_dst_ipv6_udp, IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_ETH,
+ &hdrs_hint_eth_ipv6_udp, IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv6_src_udp_src_port, IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv6_src_udp_dst_port, IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_L3_SRC_ONLY,
+ &hdrs_hint_ipv6_src_udp, IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv6_dst_udp_src_port, IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv6_dst_udp_dst_port, IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_L3_DST_ONLY,
+ &hdrs_hint_ipv6_dst_udp, IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_NONFRAG_IPV6_UDP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv6_src_udp_src_port, IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_NONFRAG_IPV6_UDP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv6_src_udp_dst_port, IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_NONFRAG_IPV6_UDP |
+ ETH_RSS_L3_SRC_ONLY, &hdrs_hint_ipv6_src_udp,
+ IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_NONFRAG_IPV6_UDP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv6_dst_udp_src_port, IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_NONFRAG_IPV6_UDP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv6_dst_udp_dst_port, IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_NONFRAG_IPV6_UDP |
+ ETH_RSS_L3_DST_ONLY, &hdrs_hint_ipv6_dst_udp,
+ IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv6_udp_src_port, IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv6_udp_dst_port, IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_NONFRAG_IPV6_UDP | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv6_udp_src_port, IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_NONFRAG_IPV6_UDP | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv6_udp_dst_port, IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_PFCP,
+ &hdrs_hint_ipv6_pfcp, IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_ESP,
+ &hdrs_hint_ipv6_udp_esp, IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_NONFRAG_IPV6_UDP,
+ &hdrs_hint_ipv6_udp, IAVF_PHINT_IPV6_UDP},
+ /* IPV6 TCP */
+ {ETH_RSS_L2_SRC_ONLY,
+ &hdrs_hint_eth_src_ipv6_tcp, IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_L2_DST_ONLY,
+ &hdrs_hint_eth_dst_ipv6_tcp, IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_ETH,
+ &hdrs_hint_eth_ipv6_tcp, IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv6_src_tcp_src_port, IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv6_src_tcp_dst_port, IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_L3_SRC_ONLY,
+ &hdrs_hint_ipv6_src_tcp, IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv6_dst_tcp_src_port, IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv6_dst_tcp_dst_port, IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_L3_DST_ONLY,
+ &hdrs_hint_ipv6_dst_tcp, IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_NONFRAG_IPV6_TCP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv6_src_tcp_src_port, IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_NONFRAG_IPV6_TCP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv6_src_tcp_dst_port, IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_NONFRAG_IPV6_TCP |
+ ETH_RSS_L3_SRC_ONLY, &hdrs_hint_ipv6_src_tcp,
+ IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_NONFRAG_IPV6_TCP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv6_dst_tcp_src_port, IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_NONFRAG_IPV6_TCP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv6_dst_tcp_dst_port, IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_NONFRAG_IPV6_TCP |
+ ETH_RSS_L3_DST_ONLY, &hdrs_hint_ipv6_dst_tcp,
+ IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv6_tcp_src_port, IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv6_tcp_dst_port, IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_NONFRAG_IPV6_TCP | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv6_tcp_src_port, IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_NONFRAG_IPV6_TCP | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv6_tcp_dst_port, IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_NONFRAG_IPV6_TCP,
+ &hdrs_hint_ipv6_tcp, IAVF_PHINT_IPV6_TCP},
+ /* IPV6 SCTP */
+ {ETH_RSS_L2_SRC_ONLY,
+ &hdrs_hint_eth_src_ipv6_sctp, IAVF_PHINT_IPV6_SCTP},
+ {ETH_RSS_L2_DST_ONLY,
+ &hdrs_hint_eth_dst_ipv6_sctp, IAVF_PHINT_IPV6_SCTP},
+ {ETH_RSS_ETH,
+ &hdrs_hint_eth_ipv6_sctp, IAVF_PHINT_IPV6_SCTP},
+ {ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv6_src_sctp_src_port, IAVF_PHINT_IPV6_SCTP},
+ {ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv6_src_sctp_dst_port, IAVF_PHINT_IPV6_SCTP},
+ {ETH_RSS_L3_SRC_ONLY,
+ &hdrs_hint_ipv6_src_sctp, IAVF_PHINT_IPV6_SCTP},
+ {ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv6_dst_sctp_src_port, IAVF_PHINT_IPV6_SCTP},
+ {ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv6_dst_sctp_dst_port, IAVF_PHINT_IPV6_SCTP},
+ {ETH_RSS_L3_DST_ONLY,
+ &hdrs_hint_ipv6_dst_sctp, IAVF_PHINT_IPV6_SCTP},
+ {ETH_RSS_NONFRAG_IPV6_SCTP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv6_src_sctp_src_port, IAVF_PHINT_IPV6_SCTP},
+ {ETH_RSS_NONFRAG_IPV6_SCTP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv6_src_sctp_dst_port, IAVF_PHINT_IPV6_SCTP},
+ {ETH_RSS_NONFRAG_IPV6_SCTP |
+ ETH_RSS_L3_SRC_ONLY, &hdrs_hint_ipv6_src_sctp,
+ IAVF_PHINT_IPV6_SCTP},
+ {ETH_RSS_NONFRAG_IPV6_SCTP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv6_dst_sctp_src_port, IAVF_PHINT_IPV6_SCTP},
+ {ETH_RSS_NONFRAG_IPV6_SCTP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv6_dst_sctp_dst_port, IAVF_PHINT_IPV6_SCTP},
+ {ETH_RSS_NONFRAG_IPV6_SCTP |
+ ETH_RSS_L3_DST_ONLY, &hdrs_hint_ipv6_dst_sctp,
+ IAVF_PHINT_IPV6_SCTP},
+ {ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv6_sctp_src_port, IAVF_PHINT_IPV6_SCTP},
+ {ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv6_sctp_dst_port, IAVF_PHINT_IPV6_SCTP},
+ {ETH_RSS_NONFRAG_IPV6_SCTP | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv6_sctp_src_port, IAVF_PHINT_IPV6_SCTP},
+ {ETH_RSS_NONFRAG_IPV6_SCTP | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv6_sctp_dst_port, IAVF_PHINT_IPV6_SCTP},
+ {ETH_RSS_NONFRAG_IPV6_SCTP,
+ &hdrs_hint_ipv6_sctp, IAVF_PHINT_IPV6_SCTP},
+ {ETH_RSS_S_VLAN,
+ &hdrs_hint_svlan_ipv6, IAVF_PHINT_IPV6},
+ {ETH_RSS_S_VLAN,
+ &hdrs_hint_svlan_ipv6_udp, IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_S_VLAN,
+ &hdrs_hint_svlan_ipv6_tcp, IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_S_VLAN,
+ &hdrs_hint_svlan_ipv6_sctp, IAVF_PHINT_IPV6_SCTP},
+ {ETH_RSS_C_VLAN,
+ &hdrs_hint_cvlan_ipv6, IAVF_PHINT_IPV6},
+ {ETH_RSS_C_VLAN,
+ &hdrs_hint_cvlan_ipv6_udp, IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_C_VLAN,
+ &hdrs_hint_cvlan_ipv6_tcp, IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_C_VLAN,
+ &hdrs_hint_cvlan_ipv6_sctp, IAVF_PHINT_IPV6_SCTP},
+};
+
+struct iavf_hash_match_type iavf_gtpu_hash_map_list[] = {
+ /* GTPU */
+ /* GTPU IP */
+ /* IPv4 GTPU IP IPv4*/
+ {ETH_RSS_L3_SRC_ONLY,
+ &hdrs_hint_ipv4_src_gtpu_ip,
+ IAVF_PHINT_IPV4_GTPU_IP | IAVF_PHINT_IPV4},
+ {ETH_RSS_L3_DST_ONLY,
+ &hdrs_hint_ipv4_dst_gtpu_ip,
+ IAVF_PHINT_IPV4_GTPU_IP | IAVF_PHINT_IPV4},
+ {ETH_RSS_IPV4 |
+ ETH_RSS_L3_SRC_ONLY,
+ &hdrs_hint_ipv4_src_gtpu_ip,
+ IAVF_PHINT_IPV4_GTPU_IP | IAVF_PHINT_IPV4},
+ {ETH_RSS_IPV4 |
+ ETH_RSS_L3_DST_ONLY,
+ &hdrs_hint_ipv4_dst_gtpu_ip,
+ IAVF_PHINT_IPV4_GTPU_IP | IAVF_PHINT_IPV4},
+ {ETH_RSS_IPV4,
+ &hdrs_hint_ipv4_gtpu_ip,
+ IAVF_PHINT_IPV4_GTPU_IP | IAVF_PHINT_IPV4},
+ {ETH_RSS_GTPU,
+ &hdrs_hint_teid_gtpu_ip,
+ IAVF_PHINT_IPV4_GTPU_IP | IAVF_PHINT_IPV4},
+ /* IPv4 GTPU IP IPv6*/
+ {ETH_RSS_IPV6 |
+ ETH_RSS_L3_SRC_ONLY,
+ &hdrs_hint_ipv6_src_gtpu_ip,
+ IAVF_PHINT_IPV4_GTPU_IP | IAVF_PHINT_IPV6},
+ {ETH_RSS_IPV6 |
+ ETH_RSS_L3_DST_ONLY,
+ &hdrs_hint_ipv6_dst_gtpu_ip,
+ IAVF_PHINT_IPV4_GTPU_IP | IAVF_PHINT_IPV6},
+ {ETH_RSS_IPV6,
+ &hdrs_hint_ipv6_gtpu_ip,
+ IAVF_PHINT_IPV4_GTPU_IP | IAVF_PHINT_IPV6},
+ {ETH_RSS_GTPU,
+ &hdrs_hint_teid_gtpu_ip,
+ IAVF_PHINT_IPV4_GTPU_IP | IAVF_PHINT_IPV6},
+ /* IPv6 GTPU IP IPv4*/
+ {ETH_RSS_IPV4 |
+ ETH_RSS_L3_SRC_ONLY,
+ &hdrs_hint_ipv4_src_gtpu_ip,
+ IAVF_PHINT_IPV6_GTPU_IP | IAVF_PHINT_IPV4},
+ {ETH_RSS_IPV4 |
+ ETH_RSS_L3_DST_ONLY,
+ &hdrs_hint_ipv4_dst_gtpu_ip,
+ IAVF_PHINT_IPV6_GTPU_IP | IAVF_PHINT_IPV4},
+ {ETH_RSS_IPV4,
+ &hdrs_hint_ipv4_gtpu_ip,
+ IAVF_PHINT_IPV6_GTPU_IP | IAVF_PHINT_IPV4},
+ {ETH_RSS_GTPU,
+ &hdrs_hint_teid_gtpu_ip,
+ IAVF_PHINT_IPV6_GTPU_IP | IAVF_PHINT_IPV4},
+ /* IPv6 GTPU IP IPv6*/
+ {ETH_RSS_IPV6 |
+ ETH_RSS_L3_SRC_ONLY,
+ &hdrs_hint_ipv6_src_gtpu_ip,
+ IAVF_PHINT_IPV6_GTPU_IP | IAVF_PHINT_IPV6},
+ {ETH_RSS_IPV6 |
+ ETH_RSS_L3_DST_ONLY,
+ &hdrs_hint_ipv6_dst_gtpu_ip,
+ IAVF_PHINT_IPV6_GTPU_IP | IAVF_PHINT_IPV6},
+ {ETH_RSS_IPV6,
+ &hdrs_hint_ipv6_gtpu_ip,
+ IAVF_PHINT_IPV6_GTPU_IP | IAVF_PHINT_IPV6},
+ {ETH_RSS_GTPU,
+ &hdrs_hint_teid_gtpu_ip,
+ IAVF_PHINT_IPV6_GTPU_IP | IAVF_PHINT_IPV6},
+ /* IPv4 GTPU IP IPv4 UDP */
+ {ETH_RSS_L3_SRC_ONLY |
+ ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_src_udp_src_gtpu_ip,
+ IAVF_PHINT_IPV4_GTPU_IP | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_L3_SRC_ONLY |
+ ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_src_udp_dst_gtpu_ip,
+ IAVF_PHINT_IPV4_GTPU_IP | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_L3_SRC_ONLY,
+ &hdrs_hint_ipv4_src_udp_gtpu_ip,
+ IAVF_PHINT_IPV4_GTPU_IP | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_udp_src_gtpu_ip,
+ IAVF_PHINT_IPV4_GTPU_IP | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_L3_DST_ONLY |
+ ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_dst_udp_src_gtpu_ip,
+ IAVF_PHINT_IPV4_GTPU_IP | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_L3_DST_ONLY |
+ ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_dst_udp_dst_gtpu_ip,
+ IAVF_PHINT_IPV4_GTPU_IP | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_L3_DST_ONLY,
+ &hdrs_hint_ipv4_dst_udp_gtpu_ip,
+ IAVF_PHINT_IPV4_GTPU_IP | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_udp_dst_gtpu_ip,
+ IAVF_PHINT_IPV4_GTPU_IP | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_src_udp_src_gtpu_ip,
+ IAVF_PHINT_IPV4_GTPU_IP | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_src_udp_dst_gtpu_ip,
+ IAVF_PHINT_IPV4_GTPU_IP | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP |
+ ETH_RSS_L3_SRC_ONLY,
+ &hdrs_hint_ipv4_src_udp_gtpu_ip,
+ IAVF_PHINT_IPV4_GTPU_IP | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP |
+ ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_udp_src_gtpu_ip,
+ IAVF_PHINT_IPV4_GTPU_IP | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_dst_udp_src_gtpu_ip,
+ IAVF_PHINT_IPV4_GTPU_IP | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_dst_udp_dst_gtpu_ip,
+ IAVF_PHINT_IPV4_GTPU_IP | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP |
+ ETH_RSS_L3_DST_ONLY,
+ &hdrs_hint_ipv4_dst_udp_gtpu_ip,
+ IAVF_PHINT_IPV4_GTPU_IP | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP |
+ ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_udp_dst_gtpu_ip,
+ IAVF_PHINT_IPV4_GTPU_IP | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP,
+ &hdrs_hint_ipv4_udp_gtpu_ip,
+ IAVF_PHINT_IPV4_GTPU_IP | IAVF_PHINT_IPV4_UDP},
+ /* IPv4 GTPU IP IPv6 UDP */
+ {ETH_RSS_NONFRAG_IPV6_UDP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv6_src_udp_src_gtpu_ip,
+ IAVF_PHINT_IPV4_GTPU_IP | IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_NONFRAG_IPV6_UDP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv6_src_udp_dst_gtpu_ip,
+ IAVF_PHINT_IPV4_GTPU_IP | IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_NONFRAG_IPV6_UDP |
+ ETH_RSS_L3_SRC_ONLY,
+ &hdrs_hint_ipv6_src_udp_gtpu_ip,
+ IAVF_PHINT_IPV4_GTPU_IP | IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_NONFRAG_IPV6_UDP |
+ ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv6_udp_src_gtpu_ip,
+ IAVF_PHINT_IPV4_GTPU_IP | IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_NONFRAG_IPV6_UDP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv6_dst_udp_src_gtpu_ip,
+ IAVF_PHINT_IPV4_GTPU_IP | IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_NONFRAG_IPV6_UDP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv6_dst_udp_dst_gtpu_ip,
+ IAVF_PHINT_IPV4_GTPU_IP | IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_NONFRAG_IPV6_UDP |
+ ETH_RSS_L3_DST_ONLY,
+ &hdrs_hint_ipv6_dst_udp_gtpu_ip,
+ IAVF_PHINT_IPV4_GTPU_IP | IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_NONFRAG_IPV6_UDP |
+ ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv6_udp_dst_gtpu_ip,
+ IAVF_PHINT_IPV4_GTPU_IP | IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_NONFRAG_IPV6_UDP,
+ &hdrs_hint_ipv6_udp_gtpu_ip,
+ IAVF_PHINT_IPV4_GTPU_IP | IAVF_PHINT_IPV6_UDP},
+ /* IPv6 GTPU IP IPv4 UDP */
+ {ETH_RSS_NONFRAG_IPV4_UDP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_src_udp_src_gtpu_ip,
+ IAVF_PHINT_IPV6_GTPU_IP | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_src_udp_dst_gtpu_ip,
+ IAVF_PHINT_IPV6_GTPU_IP | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP |
+ ETH_RSS_L3_SRC_ONLY,
+ &hdrs_hint_ipv4_src_udp_gtpu_ip,
+ IAVF_PHINT_IPV6_GTPU_IP | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP |
+ ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_udp_src_gtpu_ip,
+ IAVF_PHINT_IPV6_GTPU_IP | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_dst_udp_src_gtpu_ip,
+ IAVF_PHINT_IPV6_GTPU_IP | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_dst_udp_dst_gtpu_ip,
+ IAVF_PHINT_IPV6_GTPU_IP | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP |
+ ETH_RSS_L3_DST_ONLY,
+ &hdrs_hint_ipv4_dst_udp_gtpu_ip,
+ IAVF_PHINT_IPV6_GTPU_IP | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP |
+ ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_udp_dst_gtpu_ip,
+ IAVF_PHINT_IPV6_GTPU_IP | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP,
+ &hdrs_hint_ipv4_udp_gtpu_ip,
+ IAVF_PHINT_IPV6_GTPU_IP | IAVF_PHINT_IPV4_UDP},
+ /* IPv6 GTPU IP IPv6 UDP */
+ {ETH_RSS_NONFRAG_IPV6_UDP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv6_src_udp_src_gtpu_ip,
+ IAVF_PHINT_IPV6_GTPU_IP | IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_NONFRAG_IPV6_UDP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv6_src_udp_dst_gtpu_ip,
+ IAVF_PHINT_IPV6_GTPU_IP | IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_NONFRAG_IPV6_UDP |
+ ETH_RSS_L3_SRC_ONLY,
+ &hdrs_hint_ipv6_src_udp_gtpu_ip,
+ IAVF_PHINT_IPV6_GTPU_IP | IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_NONFRAG_IPV6_UDP |
+ ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv6_udp_src_gtpu_ip,
+ IAVF_PHINT_IPV6_GTPU_IP | IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_NONFRAG_IPV6_UDP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv6_dst_udp_src_gtpu_ip,
+ IAVF_PHINT_IPV6_GTPU_IP | IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_NONFRAG_IPV6_UDP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv6_dst_udp_dst_gtpu_ip,
+ IAVF_PHINT_IPV6_GTPU_IP | IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_NONFRAG_IPV6_UDP |
+ ETH_RSS_L3_DST_ONLY,
+ &hdrs_hint_ipv6_dst_udp_gtpu_ip,
+ IAVF_PHINT_IPV6_GTPU_IP | IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_NONFRAG_IPV6_UDP |
+ ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv6_udp_dst_gtpu_ip,
+ IAVF_PHINT_IPV6_GTPU_IP | IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_NONFRAG_IPV6_UDP,
+ &hdrs_hint_ipv6_udp_gtpu_ip,
+ IAVF_PHINT_IPV6_GTPU_IP | IAVF_PHINT_IPV6_UDP},
+ /* IPv4 GTPU IP IPv4 TCP */
+ {ETH_RSS_L3_SRC_ONLY |
+ ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_src_tcp_src_gtpu_ip,
+ IAVF_PHINT_IPV4_GTPU_IP | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_L3_SRC_ONLY |
+ ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_src_tcp_dst_gtpu_ip,
+ IAVF_PHINT_IPV4_GTPU_IP | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_L3_SRC_ONLY,
+ &hdrs_hint_ipv4_src_tcp_gtpu_ip,
+ IAVF_PHINT_IPV4_GTPU_IP | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_tcp_src_gtpu_ip,
+ IAVF_PHINT_IPV4_GTPU_IP | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_L3_DST_ONLY |
+ ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_dst_tcp_src_gtpu_ip,
+ IAVF_PHINT_IPV4_GTPU_IP | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_L3_DST_ONLY |
+ ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_dst_tcp_dst_gtpu_ip,
+ IAVF_PHINT_IPV4_GTPU_IP | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_L3_DST_ONLY,
+ &hdrs_hint_ipv4_dst_tcp_gtpu_ip,
+ IAVF_PHINT_IPV4_GTPU_IP | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_tcp_dst_gtpu_ip,
+ IAVF_PHINT_IPV4_GTPU_IP | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_src_tcp_src_gtpu_ip,
+ IAVF_PHINT_IPV4_GTPU_IP | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_src_tcp_dst_gtpu_ip,
+ IAVF_PHINT_IPV4_GTPU_IP | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP |
+ ETH_RSS_L3_SRC_ONLY,
+ &hdrs_hint_ipv4_src_tcp_gtpu_ip,
+ IAVF_PHINT_IPV4_GTPU_IP | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP |
+ ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_tcp_src_gtpu_ip,
+ IAVF_PHINT_IPV4_GTPU_IP | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_dst_tcp_src_gtpu_ip,
+ IAVF_PHINT_IPV4_GTPU_IP | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_dst_tcp_dst_gtpu_ip,
+ IAVF_PHINT_IPV4_GTPU_IP | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP |
+ ETH_RSS_L3_DST_ONLY,
+ &hdrs_hint_ipv4_dst_tcp_gtpu_ip,
+ IAVF_PHINT_IPV4_GTPU_IP | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP |
+ ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_tcp_dst_gtpu_ip,
+ IAVF_PHINT_IPV4_GTPU_IP | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP,
+ &hdrs_hint_ipv4_tcp_gtpu_ip,
+ IAVF_PHINT_IPV4_GTPU_IP | IAVF_PHINT_IPV4_TCP},
+ /* IPv4 GTPU IP IPv6 TCP */
+ {ETH_RSS_NONFRAG_IPV6_TCP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv6_src_tcp_src_gtpu_ip,
+ IAVF_PHINT_IPV4_GTPU_IP | IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_NONFRAG_IPV6_TCP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv6_src_tcp_dst_gtpu_ip,
+ IAVF_PHINT_IPV4_GTPU_IP | IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_NONFRAG_IPV6_TCP |
+ ETH_RSS_L3_SRC_ONLY,
+ &hdrs_hint_ipv6_src_tcp_gtpu_ip,
+ IAVF_PHINT_IPV4_GTPU_IP | IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_NONFRAG_IPV6_TCP |
+ ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv6_tcp_src_gtpu_ip,
+ IAVF_PHINT_IPV4_GTPU_IP | IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_NONFRAG_IPV6_TCP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv6_dst_tcp_src_gtpu_ip,
+ IAVF_PHINT_IPV4_GTPU_IP | IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_NONFRAG_IPV6_TCP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv6_dst_tcp_dst_gtpu_ip,
+ IAVF_PHINT_IPV4_GTPU_IP | IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_NONFRAG_IPV6_TCP |
+ ETH_RSS_L3_DST_ONLY,
+ &hdrs_hint_ipv6_dst_tcp_gtpu_ip,
+ IAVF_PHINT_IPV4_GTPU_IP | IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_NONFRAG_IPV6_TCP |
+ ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv6_tcp_dst_gtpu_ip,
+ IAVF_PHINT_IPV4_GTPU_IP | IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_NONFRAG_IPV6_TCP,
+ &hdrs_hint_ipv6_tcp_gtpu_ip,
+ IAVF_PHINT_IPV4_GTPU_IP | IAVF_PHINT_IPV6_TCP},
+ /* IPv6 GTPU IP IPv4 TCP */
+ {ETH_RSS_NONFRAG_IPV4_TCP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_src_tcp_src_gtpu_ip,
+ IAVF_PHINT_IPV6_GTPU_IP | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_src_tcp_dst_gtpu_ip,
+ IAVF_PHINT_IPV6_GTPU_IP | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP |
+ ETH_RSS_L3_SRC_ONLY,
+ &hdrs_hint_ipv4_src_tcp_gtpu_ip,
+ IAVF_PHINT_IPV6_GTPU_IP | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP |
+ ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_tcp_src_gtpu_ip,
+ IAVF_PHINT_IPV6_GTPU_IP | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_dst_tcp_src_gtpu_ip,
+ IAVF_PHINT_IPV6_GTPU_IP | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_dst_tcp_dst_gtpu_ip,
+ IAVF_PHINT_IPV6_GTPU_IP | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP |
+ ETH_RSS_L3_DST_ONLY,
+ &hdrs_hint_ipv4_dst_tcp_gtpu_ip,
+ IAVF_PHINT_IPV6_GTPU_IP | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP |
+ ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_tcp_dst_gtpu_ip,
+ IAVF_PHINT_IPV6_GTPU_IP | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP,
+ &hdrs_hint_ipv4_tcp_gtpu_ip,
+ IAVF_PHINT_IPV6_GTPU_IP | IAVF_PHINT_IPV4_TCP},
+ /* IPv6 GTPU IP IPv6 TCP */
+ {ETH_RSS_NONFRAG_IPV6_TCP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv6_src_tcp_src_gtpu_ip,
+ IAVF_PHINT_IPV6_GTPU_IP | IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_NONFRAG_IPV6_TCP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv6_src_tcp_dst_gtpu_ip,
+ IAVF_PHINT_IPV6_GTPU_IP | IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_NONFRAG_IPV6_TCP |
+ ETH_RSS_L3_SRC_ONLY,
+ &hdrs_hint_ipv6_src_tcp_gtpu_ip,
+ IAVF_PHINT_IPV6_GTPU_IP | IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_NONFRAG_IPV6_TCP |
+ ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv6_tcp_src_gtpu_ip,
+ IAVF_PHINT_IPV6_GTPU_IP | IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_NONFRAG_IPV6_TCP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv6_dst_tcp_src_gtpu_ip,
+ IAVF_PHINT_IPV6_GTPU_IP | IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_NONFRAG_IPV6_TCP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv6_dst_tcp_dst_gtpu_ip,
+ IAVF_PHINT_IPV6_GTPU_IP | IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_NONFRAG_IPV6_TCP |
+ ETH_RSS_L3_DST_ONLY,
+ &hdrs_hint_ipv6_dst_tcp_gtpu_ip,
+ IAVF_PHINT_IPV6_GTPU_IP | IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_NONFRAG_IPV6_TCP |
+ ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv6_tcp_dst_gtpu_ip,
+ IAVF_PHINT_IPV6_GTPU_IP | IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_NONFRAG_IPV6_TCP,
+ &hdrs_hint_ipv6_tcp_gtpu_ip,
+ IAVF_PHINT_IPV6_GTPU_IP | IAVF_PHINT_IPV6_TCP},
+ /* GTPU EH */
+ /* IPv4 GTPU EH IPv4 */
+ {ETH_RSS_L3_SRC_ONLY,
+ &hdrs_hint_ipv4_src_gtpu_eh,
+ IAVF_PHINT_IPV4_GTPU_EH | IAVF_PHINT_IPV4},
+ {ETH_RSS_L3_DST_ONLY,
+ &hdrs_hint_ipv4_dst_gtpu_eh,
+ IAVF_PHINT_IPV4_GTPU_EH | IAVF_PHINT_IPV4},
+ {ETH_RSS_IPV4 |
+ ETH_RSS_L3_SRC_ONLY,
+ &hdrs_hint_ipv4_src_gtpu_eh,
+ IAVF_PHINT_IPV4_GTPU_EH | IAVF_PHINT_IPV4},
+ {ETH_RSS_IPV4 |
+ ETH_RSS_L3_DST_ONLY,
+ &hdrs_hint_ipv4_dst_gtpu_eh,
+ IAVF_PHINT_IPV4_GTPU_EH | IAVF_PHINT_IPV4},
+ {ETH_RSS_IPV4,
+ &hdrs_hint_ipv4_gtpu_eh,
+ IAVF_PHINT_IPV4_GTPU_EH | IAVF_PHINT_IPV4},
+ /* IPv4 GTPU EH IPv6 */
+ {ETH_RSS_IPV6 |
+ ETH_RSS_L3_SRC_ONLY,
+ &hdrs_hint_ipv6_src_gtpu_eh,
+ IAVF_PHINT_IPV4_GTPU_EH | IAVF_PHINT_IPV6},
+ {ETH_RSS_IPV6 |
+ ETH_RSS_L3_DST_ONLY,
+ &hdrs_hint_ipv6_dst_gtpu_eh,
+ IAVF_PHINT_IPV4_GTPU_EH | IAVF_PHINT_IPV6},
+ {ETH_RSS_IPV6,
+ &hdrs_hint_ipv6_gtpu_eh,
+ IAVF_PHINT_IPV4_GTPU_EH | IAVF_PHINT_IPV6},
+ /* IPv6 GTPU EH IPv4 */
+ {ETH_RSS_IPV4 |
+ ETH_RSS_L3_SRC_ONLY,
+ &hdrs_hint_ipv4_src_gtpu_eh,
+ IAVF_PHINT_IPV6_GTPU_EH | IAVF_PHINT_IPV4},
+ {ETH_RSS_IPV4 |
+ ETH_RSS_L3_DST_ONLY,
+ &hdrs_hint_ipv4_dst_gtpu_eh,
+ IAVF_PHINT_IPV6_GTPU_EH | IAVF_PHINT_IPV4},
+ {ETH_RSS_IPV4,
+ &hdrs_hint_ipv4_gtpu_eh,
+ IAVF_PHINT_IPV6_GTPU_EH | IAVF_PHINT_IPV4},
+ /* IPv6 GTPU EH IPv6 */
+ {ETH_RSS_IPV6 |
+ ETH_RSS_L3_SRC_ONLY,
+ &hdrs_hint_ipv6_src_gtpu_eh,
+ IAVF_PHINT_IPV6_GTPU_EH | IAVF_PHINT_IPV6},
+ {ETH_RSS_IPV6 |
+ ETH_RSS_L3_DST_ONLY,
+ &hdrs_hint_ipv6_dst_gtpu_eh,
+ IAVF_PHINT_IPV6_GTPU_EH | IAVF_PHINT_IPV6},
+ {ETH_RSS_IPV6,
+ &hdrs_hint_ipv6_gtpu_eh,
+ IAVF_PHINT_IPV6_GTPU_EH | IAVF_PHINT_IPV6},
+ /* IPv4 GTPU EH IPv4 UDP */
+ {ETH_RSS_L3_SRC_ONLY |
+ ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_src_udp_src_gtpu_eh,
+ IAVF_PHINT_IPV4_GTPU_EH | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_L3_SRC_ONLY |
+ ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_src_udp_dst_gtpu_eh,
+ IAVF_PHINT_IPV4_GTPU_EH | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_L3_SRC_ONLY,
+ &hdrs_hint_ipv4_src_udp_gtpu_eh,
+ IAVF_PHINT_IPV4_GTPU_EH | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_udp_src_gtpu_eh,
+ IAVF_PHINT_IPV4_GTPU_EH | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_L3_DST_ONLY |
+ ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_dst_udp_src_gtpu_eh,
+ IAVF_PHINT_IPV4_GTPU_EH | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_L3_DST_ONLY |
+ ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_dst_udp_dst_gtpu_eh,
+ IAVF_PHINT_IPV4_GTPU_EH | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_L3_DST_ONLY,
+ &hdrs_hint_ipv4_dst_udp_gtpu_eh,
+ IAVF_PHINT_IPV4_GTPU_EH | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_udp_dst_gtpu_eh,
+ IAVF_PHINT_IPV4_GTPU_EH | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_src_udp_src_gtpu_eh,
+ IAVF_PHINT_IPV4_GTPU_EH | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_src_udp_dst_gtpu_eh,
+ IAVF_PHINT_IPV4_GTPU_EH | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP |
+ ETH_RSS_L3_SRC_ONLY,
+ &hdrs_hint_ipv4_src_udp_gtpu_eh,
+ IAVF_PHINT_IPV4_GTPU_EH | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP |
+ ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_udp_src_gtpu_eh,
+ IAVF_PHINT_IPV4_GTPU_EH | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_dst_udp_src_gtpu_eh,
+ IAVF_PHINT_IPV4_GTPU_EH | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_dst_udp_dst_gtpu_eh,
+ IAVF_PHINT_IPV4_GTPU_EH | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP |
+ ETH_RSS_L3_DST_ONLY,
+ &hdrs_hint_ipv4_dst_udp_gtpu_eh,
+ IAVF_PHINT_IPV4_GTPU_EH | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP |
+ ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_udp_dst_gtpu_eh,
+ IAVF_PHINT_IPV4_GTPU_EH | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP,
+ &hdrs_hint_ipv4_udp_gtpu_eh,
+ IAVF_PHINT_IPV4_GTPU_EH | IAVF_PHINT_IPV4_UDP},
+ /* IPv4 GTPU EH IPv6 UDP */
+ {ETH_RSS_NONFRAG_IPV6_UDP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv6_src_udp_src_gtpu_eh,
+ IAVF_PHINT_IPV4_GTPU_EH | IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_NONFRAG_IPV6_UDP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv6_src_udp_dst_gtpu_eh,
+ IAVF_PHINT_IPV4_GTPU_EH | IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_NONFRAG_IPV6_UDP |
+ ETH_RSS_L3_SRC_ONLY,
+ &hdrs_hint_ipv6_src_udp_gtpu_eh,
+ IAVF_PHINT_IPV4_GTPU_EH | IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_NONFRAG_IPV6_UDP |
+ ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv6_udp_src_gtpu_eh,
+ IAVF_PHINT_IPV4_GTPU_EH | IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_NONFRAG_IPV6_UDP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv6_dst_udp_src_gtpu_eh,
+ IAVF_PHINT_IPV4_GTPU_EH | IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_NONFRAG_IPV6_UDP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv6_dst_udp_dst_gtpu_eh,
+ IAVF_PHINT_IPV4_GTPU_EH | IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_NONFRAG_IPV6_UDP |
+ ETH_RSS_L3_DST_ONLY,
+ &hdrs_hint_ipv6_dst_udp_gtpu_eh,
+ IAVF_PHINT_IPV4_GTPU_EH | IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_NONFRAG_IPV6_UDP |
+ ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv6_udp_dst_gtpu_eh,
+ IAVF_PHINT_IPV4_GTPU_EH | IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_NONFRAG_IPV6_UDP,
+ &hdrs_hint_ipv6_udp_gtpu_eh,
+ IAVF_PHINT_IPV4_GTPU_EH | IAVF_PHINT_IPV6_UDP},
+ /* IPv6 GTPU EH IPv4 UDP */
+ {ETH_RSS_NONFRAG_IPV4_UDP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_src_udp_src_gtpu_eh,
+ IAVF_PHINT_IPV6_GTPU_EH | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_src_udp_dst_gtpu_eh,
+ IAVF_PHINT_IPV6_GTPU_EH | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP |
+ ETH_RSS_L3_SRC_ONLY,
+ &hdrs_hint_ipv4_src_udp_gtpu_eh,
+ IAVF_PHINT_IPV6_GTPU_EH | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP |
+ ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_udp_src_gtpu_eh,
+ IAVF_PHINT_IPV6_GTPU_EH | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_dst_udp_src_gtpu_eh,
+ IAVF_PHINT_IPV6_GTPU_EH | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_dst_udp_dst_gtpu_eh,
+ IAVF_PHINT_IPV6_GTPU_EH | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP |
+ ETH_RSS_L3_DST_ONLY,
+ &hdrs_hint_ipv4_dst_udp_gtpu_eh,
+ IAVF_PHINT_IPV6_GTPU_EH | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP |
+ ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_udp_dst_gtpu_eh,
+ IAVF_PHINT_IPV6_GTPU_EH | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP,
+ &hdrs_hint_ipv4_udp_gtpu_eh,
+ IAVF_PHINT_IPV6_GTPU_EH | IAVF_PHINT_IPV4_UDP},
+ /* IPv6 GTPU EH IPv6 UDP */
+ {ETH_RSS_NONFRAG_IPV6_UDP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv6_src_udp_src_gtpu_eh,
+ IAVF_PHINT_IPV6_GTPU_EH | IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_NONFRAG_IPV6_UDP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv6_src_udp_dst_gtpu_eh,
+ IAVF_PHINT_IPV6_GTPU_EH | IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_NONFRAG_IPV6_UDP |
+ ETH_RSS_L3_SRC_ONLY,
+ &hdrs_hint_ipv6_src_udp_gtpu_eh,
+ IAVF_PHINT_IPV6_GTPU_EH | IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_NONFRAG_IPV6_UDP |
+ ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv6_udp_src_gtpu_eh,
+ IAVF_PHINT_IPV6_GTPU_EH | IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_NONFRAG_IPV6_UDP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv6_dst_udp_src_gtpu_eh,
+ IAVF_PHINT_IPV6_GTPU_EH | IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_NONFRAG_IPV6_UDP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv6_dst_udp_dst_gtpu_eh,
+ IAVF_PHINT_IPV6_GTPU_EH | IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_NONFRAG_IPV6_UDP |
+ ETH_RSS_L3_DST_ONLY,
+ &hdrs_hint_ipv6_dst_udp_gtpu_eh,
+ IAVF_PHINT_IPV6_GTPU_EH | IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_NONFRAG_IPV6_UDP |
+ ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv6_udp_dst_gtpu_eh,
+ IAVF_PHINT_IPV6_GTPU_EH | IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_NONFRAG_IPV6_UDP,
+ &hdrs_hint_ipv6_udp_gtpu_eh,
+ IAVF_PHINT_IPV6_GTPU_EH | IAVF_PHINT_IPV6_UDP},
+ /* IPv4 GTPU EH IPv4 TCP */
+ {ETH_RSS_L3_SRC_ONLY |
+ ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_src_tcp_src_gtpu_eh,
+ IAVF_PHINT_IPV4_GTPU_EH | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_L3_SRC_ONLY |
+ ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_src_tcp_dst_gtpu_eh,
+ IAVF_PHINT_IPV4_GTPU_EH | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_L3_SRC_ONLY,
+ &hdrs_hint_ipv4_src_tcp_gtpu_eh,
+ IAVF_PHINT_IPV4_GTPU_EH | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_tcp_src_gtpu_eh,
+ IAVF_PHINT_IPV4_GTPU_EH | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_L3_DST_ONLY |
+ ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_dst_tcp_src_gtpu_eh,
+ IAVF_PHINT_IPV4_GTPU_EH | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_L3_DST_ONLY |
+ ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_dst_tcp_dst_gtpu_eh,
+ IAVF_PHINT_IPV4_GTPU_EH | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_L3_DST_ONLY,
+ &hdrs_hint_ipv4_dst_tcp_gtpu_eh,
+ IAVF_PHINT_IPV4_GTPU_EH | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_tcp_dst_gtpu_eh,
+ IAVF_PHINT_IPV4_GTPU_EH | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_src_tcp_src_gtpu_eh,
+ IAVF_PHINT_IPV4_GTPU_EH | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_src_tcp_dst_gtpu_eh,
+ IAVF_PHINT_IPV4_GTPU_EH | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP |
+ ETH_RSS_L3_SRC_ONLY,
+ &hdrs_hint_ipv4_src_tcp_gtpu_eh,
+ IAVF_PHINT_IPV4_GTPU_EH | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP |
+ ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_tcp_src_gtpu_eh,
+ IAVF_PHINT_IPV4_GTPU_EH | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_dst_tcp_src_gtpu_eh,
+ IAVF_PHINT_IPV4_GTPU_EH | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_dst_tcp_dst_gtpu_eh,
+ IAVF_PHINT_IPV4_GTPU_EH | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP |
+ ETH_RSS_L3_DST_ONLY,
+ &hdrs_hint_ipv4_dst_tcp_gtpu_eh,
+ IAVF_PHINT_IPV4_GTPU_EH | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP |
+ ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_tcp_dst_gtpu_eh,
+ IAVF_PHINT_IPV4_GTPU_EH | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP,
+ &hdrs_hint_ipv4_tcp_gtpu_eh,
+ IAVF_PHINT_IPV4_GTPU_EH | IAVF_PHINT_IPV4_TCP},
+ /* IPv4 GTPU EH IPv6 TCP */
+ {ETH_RSS_NONFRAG_IPV6_TCP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv6_src_tcp_src_gtpu_eh,
+ IAVF_PHINT_IPV4_GTPU_EH | IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_NONFRAG_IPV6_TCP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv6_src_tcp_dst_gtpu_eh,
+ IAVF_PHINT_IPV4_GTPU_EH | IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_NONFRAG_IPV6_TCP |
+ ETH_RSS_L3_SRC_ONLY,
+ &hdrs_hint_ipv6_src_tcp_gtpu_eh,
+ IAVF_PHINT_IPV4_GTPU_EH | IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_NONFRAG_IPV6_TCP |
+ ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv6_tcp_src_gtpu_eh,
+ IAVF_PHINT_IPV4_GTPU_EH | IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_NONFRAG_IPV6_TCP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv6_dst_tcp_src_gtpu_eh,
+ IAVF_PHINT_IPV4_GTPU_EH | IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_NONFRAG_IPV6_TCP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv6_dst_tcp_dst_gtpu_eh,
+ IAVF_PHINT_IPV4_GTPU_EH | IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_NONFRAG_IPV6_TCP |
+ ETH_RSS_L3_DST_ONLY,
+ &hdrs_hint_ipv6_dst_tcp_gtpu_eh,
+ IAVF_PHINT_IPV4_GTPU_EH | IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_NONFRAG_IPV6_TCP |
+ ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv6_tcp_dst_gtpu_eh,
+ IAVF_PHINT_IPV4_GTPU_EH | IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_NONFRAG_IPV6_TCP,
+ &hdrs_hint_ipv6_tcp_gtpu_eh,
+ IAVF_PHINT_IPV4_GTPU_EH | IAVF_PHINT_IPV6_TCP},
+ /* IPv6 GTPU EH IPv4 TCP */
+ {ETH_RSS_NONFRAG_IPV4_TCP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_src_tcp_src_gtpu_eh,
+ IAVF_PHINT_IPV6_GTPU_EH | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_src_tcp_dst_gtpu_eh,
+ IAVF_PHINT_IPV6_GTPU_EH | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP |
+ ETH_RSS_L3_SRC_ONLY,
+ &hdrs_hint_ipv4_src_tcp_gtpu_eh,
+ IAVF_PHINT_IPV6_GTPU_EH | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP |
+ ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_tcp_src_gtpu_eh,
+ IAVF_PHINT_IPV6_GTPU_EH | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_dst_tcp_src_gtpu_eh,
+ IAVF_PHINT_IPV6_GTPU_EH | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_dst_tcp_dst_gtpu_eh,
+ IAVF_PHINT_IPV6_GTPU_EH | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP |
+ ETH_RSS_L3_DST_ONLY,
+ &hdrs_hint_ipv4_dst_tcp_gtpu_eh,
+ IAVF_PHINT_IPV6_GTPU_EH | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP |
+ ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_tcp_dst_gtpu_eh,
+ IAVF_PHINT_IPV6_GTPU_EH | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP,
+ &hdrs_hint_ipv4_tcp_gtpu_eh,
+ IAVF_PHINT_IPV6_GTPU_EH | IAVF_PHINT_IPV4_TCP},
+ /* IPv6 GTPU EH IPv6 TCP */
+ {ETH_RSS_NONFRAG_IPV6_TCP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv6_src_tcp_src_gtpu_eh,
+ IAVF_PHINT_IPV6_GTPU_EH | IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_NONFRAG_IPV6_TCP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv6_src_tcp_dst_gtpu_eh,
+ IAVF_PHINT_IPV6_GTPU_EH | IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_NONFRAG_IPV6_TCP |
+ ETH_RSS_L3_SRC_ONLY,
+ &hdrs_hint_ipv6_src_tcp_gtpu_eh,
+ IAVF_PHINT_IPV6_GTPU_EH | IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_NONFRAG_IPV6_TCP |
+ ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv6_tcp_src_gtpu_eh,
+ IAVF_PHINT_IPV6_GTPU_EH | IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_NONFRAG_IPV6_TCP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv6_dst_tcp_src_gtpu_eh,
+ IAVF_PHINT_IPV6_GTPU_EH | IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_NONFRAG_IPV6_TCP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv6_dst_tcp_dst_gtpu_eh,
+ IAVF_PHINT_IPV6_GTPU_EH | IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_NONFRAG_IPV6_TCP |
+ ETH_RSS_L3_DST_ONLY,
+ &hdrs_hint_ipv6_dst_tcp_gtpu_eh,
+ IAVF_PHINT_IPV6_GTPU_EH | IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_NONFRAG_IPV6_TCP |
+ ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv6_tcp_dst_gtpu_eh,
+ IAVF_PHINT_IPV6_GTPU_EH | IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_NONFRAG_IPV6_TCP,
+ &hdrs_hint_ipv6_tcp_gtpu_eh,
+ IAVF_PHINT_IPV6_GTPU_EH | IAVF_PHINT_IPV6_TCP},
+ /* GTPU EH UP */
+ /* IPv4 GTPU EH UP IPv4 */
+ {ETH_RSS_L3_SRC_ONLY,
+ &hdrs_hint_ipv4_src_gtpu_up,
+ IAVF_PHINT_IPV4_GTPU_EH_UPLINK | IAVF_PHINT_IPV4},
+ {ETH_RSS_L3_DST_ONLY,
+ &hdrs_hint_ipv4_dst_gtpu_up,
+ IAVF_PHINT_IPV4_GTPU_EH_UPLINK | IAVF_PHINT_IPV4},
+ {ETH_RSS_IPV4 |
+ ETH_RSS_L3_SRC_ONLY,
+ &hdrs_hint_ipv4_src_gtpu_up,
+ IAVF_PHINT_IPV4_GTPU_EH_UPLINK | IAVF_PHINT_IPV4},
+ {ETH_RSS_IPV4 |
+ ETH_RSS_L3_DST_ONLY,
+ &hdrs_hint_ipv4_dst_gtpu_up,
+ IAVF_PHINT_IPV4_GTPU_EH_UPLINK | IAVF_PHINT_IPV4},
+ {ETH_RSS_IPV4,
+ &hdrs_hint_ipv4_gtpu_up,
+ IAVF_PHINT_IPV4_GTPU_EH_UPLINK | IAVF_PHINT_IPV4},
+ /* IPv4 GTPU EH UP IPv6 */
+ {ETH_RSS_IPV6 |
+ ETH_RSS_L3_SRC_ONLY,
+ &hdrs_hint_ipv6_src_gtpu_up,
+ IAVF_PHINT_IPV4_GTPU_EH_UPLINK | IAVF_PHINT_IPV6},
+ {ETH_RSS_IPV6 |
+ ETH_RSS_L3_DST_ONLY,
+ &hdrs_hint_ipv6_dst_gtpu_up,
+ IAVF_PHINT_IPV4_GTPU_EH_UPLINK | IAVF_PHINT_IPV6},
+ {ETH_RSS_IPV6,
+ &hdrs_hint_ipv6_gtpu_up,
+ IAVF_PHINT_IPV4_GTPU_EH_UPLINK | IAVF_PHINT_IPV6},
+ /* IPv6 GTPU EH UP IPv4 */
+ {ETH_RSS_IPV4 |
+ ETH_RSS_L3_SRC_ONLY,
+ &hdrs_hint_ipv4_src_gtpu_up,
+ IAVF_PHINT_IPV6_GTPU_EH_UPLINK | IAVF_PHINT_IPV4},
+ {ETH_RSS_IPV4 |
+ ETH_RSS_L3_DST_ONLY,
+ &hdrs_hint_ipv4_dst_gtpu_up,
+ IAVF_PHINT_IPV6_GTPU_EH_UPLINK | IAVF_PHINT_IPV4},
+ {ETH_RSS_IPV4,
+ &hdrs_hint_ipv4_gtpu_up,
+ IAVF_PHINT_IPV6_GTPU_EH_UPLINK | IAVF_PHINT_IPV4},
+ /* IPv6 GTPU EH UP IPv6 */
+ {ETH_RSS_IPV6 |
+ ETH_RSS_L3_SRC_ONLY,
+ &hdrs_hint_ipv6_src_gtpu_up,
+ IAVF_PHINT_IPV6_GTPU_EH_UPLINK | IAVF_PHINT_IPV6},
+ {ETH_RSS_IPV6 |
+ ETH_RSS_L3_DST_ONLY,
+ &hdrs_hint_ipv6_dst_gtpu_up,
+ IAVF_PHINT_IPV6_GTPU_EH_UPLINK | IAVF_PHINT_IPV6},
+ {ETH_RSS_IPV6,
+ &hdrs_hint_ipv6_gtpu_up,
+ IAVF_PHINT_IPV6_GTPU_EH_UPLINK | IAVF_PHINT_IPV6},
+ /* IPv4 GTPU EH UP IPv4 UDP */
+ {ETH_RSS_L3_SRC_ONLY |
+ ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_src_udp_src_gtpu_up,
+ IAVF_PHINT_IPV4_GTPU_EH_UPLINK | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_L3_SRC_ONLY |
+ ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_src_udp_dst_gtpu_up,
+ IAVF_PHINT_IPV4_GTPU_EH_UPLINK | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_L3_SRC_ONLY,
+ &hdrs_hint_ipv4_src_udp_gtpu_up,
+ IAVF_PHINT_IPV4_GTPU_EH_UPLINK | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_udp_src_gtpu_up,
+ IAVF_PHINT_IPV4_GTPU_EH_UPLINK | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_L3_DST_ONLY |
+ ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_dst_udp_src_gtpu_up,
+ IAVF_PHINT_IPV4_GTPU_EH_UPLINK | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_L3_DST_ONLY |
+ ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_dst_udp_dst_gtpu_up,
+ IAVF_PHINT_IPV4_GTPU_EH_UPLINK | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_L3_DST_ONLY,
+ &hdrs_hint_ipv4_dst_udp_gtpu_up,
+ IAVF_PHINT_IPV4_GTPU_EH_UPLINK | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_udp_dst_gtpu_up,
+ IAVF_PHINT_IPV4_GTPU_EH_UPLINK | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_src_udp_src_gtpu_up,
+ IAVF_PHINT_IPV4_GTPU_EH_UPLINK | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_src_udp_dst_gtpu_up,
+ IAVF_PHINT_IPV4_GTPU_EH_UPLINK | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP |
+ ETH_RSS_L3_SRC_ONLY,
+ &hdrs_hint_ipv4_src_udp_gtpu_up,
+ IAVF_PHINT_IPV4_GTPU_EH_UPLINK | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP |
+ ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_udp_src_gtpu_up,
+ IAVF_PHINT_IPV4_GTPU_EH_UPLINK | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_dst_udp_src_gtpu_up,
+ IAVF_PHINT_IPV4_GTPU_EH_UPLINK | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_dst_udp_dst_gtpu_up,
+ IAVF_PHINT_IPV4_GTPU_EH_UPLINK | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP |
+ ETH_RSS_L3_DST_ONLY,
+ &hdrs_hint_ipv4_dst_udp_gtpu_up,
+ IAVF_PHINT_IPV4_GTPU_EH_UPLINK | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP |
+ ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_udp_dst_gtpu_up,
+ IAVF_PHINT_IPV4_GTPU_EH_UPLINK | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP,
+ &hdrs_hint_ipv4_udp_gtpu_up,
+ IAVF_PHINT_IPV4_GTPU_EH_UPLINK | IAVF_PHINT_IPV4_UDP},
+ /* IPv4 GTPU EH UP IPv6 UDP */
+ {ETH_RSS_NONFRAG_IPV6_UDP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv6_src_udp_src_gtpu_up,
+ IAVF_PHINT_IPV4_GTPU_EH_UPLINK | IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_NONFRAG_IPV6_UDP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv6_src_udp_dst_gtpu_up,
+ IAVF_PHINT_IPV4_GTPU_EH_UPLINK | IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_NONFRAG_IPV6_UDP |
+ ETH_RSS_L3_SRC_ONLY,
+ &hdrs_hint_ipv6_src_udp_gtpu_up,
+ IAVF_PHINT_IPV4_GTPU_EH_UPLINK | IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_NONFRAG_IPV6_UDP |
+ ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv6_udp_src_gtpu_up,
+ IAVF_PHINT_IPV4_GTPU_EH_UPLINK | IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_NONFRAG_IPV6_UDP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv6_dst_udp_src_gtpu_up,
+ IAVF_PHINT_IPV4_GTPU_EH_UPLINK | IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_NONFRAG_IPV6_UDP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv6_dst_udp_dst_gtpu_up,
+ IAVF_PHINT_IPV4_GTPU_EH_UPLINK | IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_NONFRAG_IPV6_UDP |
+ ETH_RSS_L3_DST_ONLY,
+ &hdrs_hint_ipv6_dst_udp_gtpu_up,
+ IAVF_PHINT_IPV4_GTPU_EH_UPLINK | IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_NONFRAG_IPV6_UDP |
+ ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv6_udp_dst_gtpu_up,
+ IAVF_PHINT_IPV4_GTPU_EH_UPLINK | IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_NONFRAG_IPV6_UDP,
+ &hdrs_hint_ipv6_udp_gtpu_up,
+ IAVF_PHINT_IPV4_GTPU_EH_UPLINK | IAVF_PHINT_IPV6_UDP},
+ /* IPv6 GTPU EH UP IPv4 UDP */
+ {ETH_RSS_NONFRAG_IPV4_UDP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_src_udp_src_gtpu_up,
+ IAVF_PHINT_IPV6_GTPU_EH_UPLINK | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_src_udp_dst_gtpu_up,
+ IAVF_PHINT_IPV6_GTPU_EH_UPLINK | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP |
+ ETH_RSS_L3_SRC_ONLY,
+ &hdrs_hint_ipv4_src_udp_gtpu_up,
+ IAVF_PHINT_IPV6_GTPU_EH_UPLINK | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP |
+ ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_udp_src_gtpu_up,
+ IAVF_PHINT_IPV6_GTPU_EH_UPLINK | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_dst_udp_src_gtpu_up,
+ IAVF_PHINT_IPV6_GTPU_EH_UPLINK | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_dst_udp_dst_gtpu_up,
+ IAVF_PHINT_IPV6_GTPU_EH_UPLINK | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP |
+ ETH_RSS_L3_DST_ONLY,
+ &hdrs_hint_ipv4_dst_udp_gtpu_up,
+ IAVF_PHINT_IPV6_GTPU_EH_UPLINK | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP |
+ ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_udp_dst_gtpu_up,
+ IAVF_PHINT_IPV6_GTPU_EH_UPLINK | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP,
+ &hdrs_hint_ipv4_udp_gtpu_up,
+ IAVF_PHINT_IPV6_GTPU_EH_UPLINK | IAVF_PHINT_IPV4_UDP},
+ /* IPv6 GTPU EH UP IPv6 UDP */
+ {ETH_RSS_NONFRAG_IPV6_UDP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv6_src_udp_src_gtpu_up,
+ IAVF_PHINT_IPV6_GTPU_EH_UPLINK | IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_NONFRAG_IPV6_UDP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv6_src_udp_dst_gtpu_up,
+ IAVF_PHINT_IPV6_GTPU_EH_UPLINK | IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_NONFRAG_IPV6_UDP |
+ ETH_RSS_L3_SRC_ONLY,
+ &hdrs_hint_ipv6_src_udp_gtpu_up,
+ IAVF_PHINT_IPV6_GTPU_EH_UPLINK | IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_NONFRAG_IPV6_UDP |
+ ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv6_udp_src_gtpu_up,
+ IAVF_PHINT_IPV6_GTPU_EH_UPLINK | IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_NONFRAG_IPV6_UDP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv6_dst_udp_src_gtpu_up,
+ IAVF_PHINT_IPV6_GTPU_EH_UPLINK | IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_NONFRAG_IPV6_UDP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv6_dst_udp_dst_gtpu_up,
+ IAVF_PHINT_IPV6_GTPU_EH_UPLINK | IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_NONFRAG_IPV6_UDP |
+ ETH_RSS_L3_DST_ONLY,
+ &hdrs_hint_ipv6_dst_udp_gtpu_up,
+ IAVF_PHINT_IPV6_GTPU_EH_UPLINK | IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_NONFRAG_IPV6_UDP |
+ ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv6_udp_dst_gtpu_up,
+ IAVF_PHINT_IPV6_GTPU_EH_UPLINK | IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_NONFRAG_IPV6_UDP,
+ &hdrs_hint_ipv6_udp_gtpu_up,
+ IAVF_PHINT_IPV6_GTPU_EH_UPLINK | IAVF_PHINT_IPV6_UDP},
+ /* IPv4 GTPU EH UP IPv4 TCP */
+ {ETH_RSS_L3_SRC_ONLY |
+ ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_src_tcp_src_gtpu_up,
+ IAVF_PHINT_IPV4_GTPU_EH_UPLINK | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_L3_SRC_ONLY |
+ ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_src_tcp_dst_gtpu_up,
+ IAVF_PHINT_IPV4_GTPU_EH_UPLINK | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_L3_SRC_ONLY,
+ &hdrs_hint_ipv4_src_tcp_gtpu_up,
+ IAVF_PHINT_IPV4_GTPU_EH_UPLINK | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_tcp_src_gtpu_up,
+ IAVF_PHINT_IPV4_GTPU_EH_UPLINK | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_L3_DST_ONLY |
+ ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_dst_tcp_src_gtpu_up,
+ IAVF_PHINT_IPV4_GTPU_EH_UPLINK | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_L3_DST_ONLY |
+ ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_dst_tcp_dst_gtpu_up,
+ IAVF_PHINT_IPV4_GTPU_EH_UPLINK | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_L3_DST_ONLY,
+ &hdrs_hint_ipv4_dst_tcp_gtpu_up,
+ IAVF_PHINT_IPV4_GTPU_EH_UPLINK | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_tcp_dst_gtpu_up,
+ IAVF_PHINT_IPV4_GTPU_EH_UPLINK | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_src_tcp_src_gtpu_up,
+ IAVF_PHINT_IPV4_GTPU_EH_UPLINK | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_src_tcp_dst_gtpu_up,
+ IAVF_PHINT_IPV4_GTPU_EH_UPLINK | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP |
+ ETH_RSS_L3_SRC_ONLY,
+ &hdrs_hint_ipv4_src_tcp_gtpu_up,
+ IAVF_PHINT_IPV4_GTPU_EH_UPLINK | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP |
+ ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_tcp_src_gtpu_up,
+ IAVF_PHINT_IPV4_GTPU_EH_UPLINK | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_dst_tcp_src_gtpu_up,
+ IAVF_PHINT_IPV4_GTPU_EH_UPLINK | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_dst_tcp_dst_gtpu_up,
+ IAVF_PHINT_IPV4_GTPU_EH_UPLINK | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP |
+ ETH_RSS_L3_DST_ONLY,
+ &hdrs_hint_ipv4_dst_tcp_gtpu_up,
+ IAVF_PHINT_IPV4_GTPU_EH_UPLINK | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP |
+ ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_tcp_dst_gtpu_up,
+ IAVF_PHINT_IPV4_GTPU_EH_UPLINK | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP,
+ &hdrs_hint_ipv4_tcp_gtpu_up,
+ IAVF_PHINT_IPV4_GTPU_EH_UPLINK | IAVF_PHINT_IPV4_TCP},
+ /* IPv4 GTPU EH UP IPv6 TCP */
+ {ETH_RSS_NONFRAG_IPV6_TCP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv6_src_tcp_src_gtpu_up,
+ IAVF_PHINT_IPV4_GTPU_EH_UPLINK | IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_NONFRAG_IPV6_TCP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv6_src_tcp_dst_gtpu_up,
+ IAVF_PHINT_IPV4_GTPU_EH_UPLINK | IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_NONFRAG_IPV6_TCP |
+ ETH_RSS_L3_SRC_ONLY,
+ &hdrs_hint_ipv6_src_tcp_gtpu_up,
+ IAVF_PHINT_IPV4_GTPU_EH_UPLINK | IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_NONFRAG_IPV6_TCP |
+ ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv6_tcp_src_gtpu_up,
+ IAVF_PHINT_IPV4_GTPU_EH_UPLINK | IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_NONFRAG_IPV6_TCP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv6_dst_tcp_src_gtpu_up,
+ IAVF_PHINT_IPV4_GTPU_EH_UPLINK | IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_NONFRAG_IPV6_TCP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv6_dst_tcp_dst_gtpu_up,
+ IAVF_PHINT_IPV4_GTPU_EH_UPLINK | IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_NONFRAG_IPV6_TCP |
+ ETH_RSS_L3_DST_ONLY,
+ &hdrs_hint_ipv6_dst_tcp_gtpu_up,
+ IAVF_PHINT_IPV4_GTPU_EH_UPLINK | IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_NONFRAG_IPV6_TCP |
+ ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv6_tcp_dst_gtpu_up,
+ IAVF_PHINT_IPV4_GTPU_EH_UPLINK | IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_NONFRAG_IPV6_TCP,
+ &hdrs_hint_ipv6_tcp_gtpu_up,
+ IAVF_PHINT_IPV4_GTPU_EH_UPLINK | IAVF_PHINT_IPV6_TCP},
+ /* IPv6 GTPU EH UP IPv4 TCP */
+ {ETH_RSS_NONFRAG_IPV4_TCP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_src_tcp_src_gtpu_up,
+ IAVF_PHINT_IPV6_GTPU_EH_UPLINK | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_src_tcp_dst_gtpu_up,
+ IAVF_PHINT_IPV6_GTPU_EH_UPLINK | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP |
+ ETH_RSS_L3_SRC_ONLY,
+ &hdrs_hint_ipv4_src_tcp_gtpu_up,
+ IAVF_PHINT_IPV6_GTPU_EH_UPLINK | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP |
+ ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_tcp_src_gtpu_up,
+ IAVF_PHINT_IPV6_GTPU_EH_UPLINK | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_dst_tcp_src_gtpu_up,
+ IAVF_PHINT_IPV6_GTPU_EH_UPLINK | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_dst_tcp_dst_gtpu_up,
+ IAVF_PHINT_IPV6_GTPU_EH_UPLINK | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP |
+ ETH_RSS_L3_DST_ONLY,
+ &hdrs_hint_ipv4_dst_tcp_gtpu_up,
+ IAVF_PHINT_IPV6_GTPU_EH_UPLINK | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP |
+ ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_tcp_dst_gtpu_up,
+ IAVF_PHINT_IPV6_GTPU_EH_UPLINK | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP,
+ &hdrs_hint_ipv4_tcp_gtpu_up,
+ IAVF_PHINT_IPV6_GTPU_EH_UPLINK | IAVF_PHINT_IPV4_TCP},
+ /* IPv6 GTPU EH UP IPv6 TCP */
+ {ETH_RSS_NONFRAG_IPV6_TCP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv6_src_tcp_src_gtpu_up,
+ IAVF_PHINT_IPV6_GTPU_EH_UPLINK | IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_NONFRAG_IPV6_TCP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv6_src_tcp_dst_gtpu_up,
+ IAVF_PHINT_IPV6_GTPU_EH_UPLINK | IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_NONFRAG_IPV6_TCP |
+ ETH_RSS_L3_SRC_ONLY,
+ &hdrs_hint_ipv6_src_tcp_gtpu_up,
+ IAVF_PHINT_IPV6_GTPU_EH_UPLINK | IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_NONFRAG_IPV6_TCP |
+ ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv6_tcp_src_gtpu_up,
+ IAVF_PHINT_IPV6_GTPU_EH_UPLINK | IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_NONFRAG_IPV6_TCP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv6_dst_tcp_src_gtpu_up,
+ IAVF_PHINT_IPV6_GTPU_EH_UPLINK | IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_NONFRAG_IPV6_TCP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv6_dst_tcp_dst_gtpu_up,
+ IAVF_PHINT_IPV6_GTPU_EH_UPLINK | IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_NONFRAG_IPV6_TCP |
+ ETH_RSS_L3_DST_ONLY,
+ &hdrs_hint_ipv6_dst_tcp_gtpu_up,
+ IAVF_PHINT_IPV6_GTPU_EH_UPLINK | IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_NONFRAG_IPV6_TCP |
+ ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv6_tcp_dst_gtpu_up,
+ IAVF_PHINT_IPV6_GTPU_EH_UPLINK | IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_NONFRAG_IPV6_TCP,
+ &hdrs_hint_ipv6_tcp_gtpu_up,
+ IAVF_PHINT_IPV6_GTPU_EH_UPLINK | IAVF_PHINT_IPV6_TCP},
+ /* GTPU EH DWN */
+ /* IPv4 GTPU EH DWN IPv4 */
+ {ETH_RSS_L3_SRC_ONLY,
+ &hdrs_hint_ipv4_src_gtpu_dwn,
+ IAVF_PHINT_IPV4_GTPU_EH_DWNLINK | IAVF_PHINT_IPV4},
+ {ETH_RSS_L3_DST_ONLY,
+ &hdrs_hint_ipv4_dst_gtpu_dwn,
+ IAVF_PHINT_IPV4_GTPU_EH_DWNLINK | IAVF_PHINT_IPV4},
+ {ETH_RSS_IPV4 |
+ ETH_RSS_L3_SRC_ONLY,
+ &hdrs_hint_ipv4_src_gtpu_dwn,
+ IAVF_PHINT_IPV4_GTPU_EH_DWNLINK | IAVF_PHINT_IPV4},
+ {ETH_RSS_IPV4 |
+ ETH_RSS_L3_DST_ONLY,
+ &hdrs_hint_ipv4_dst_gtpu_dwn,
+ IAVF_PHINT_IPV4_GTPU_EH_DWNLINK | IAVF_PHINT_IPV4},
+ {ETH_RSS_IPV4,
+ &hdrs_hint_ipv4_gtpu_dwn,
+ IAVF_PHINT_IPV4_GTPU_EH_DWNLINK | IAVF_PHINT_IPV4},
+ /* IPv4 GTPU EH DWN IPv6 */
+ {ETH_RSS_IPV6 |
+ ETH_RSS_L3_SRC_ONLY,
+ &hdrs_hint_ipv6_src_gtpu_dwn,
+ IAVF_PHINT_IPV4_GTPU_EH_DWNLINK | IAVF_PHINT_IPV6},
+ {ETH_RSS_IPV6 |
+ ETH_RSS_L3_DST_ONLY,
+ &hdrs_hint_ipv6_dst_gtpu_dwn,
+ IAVF_PHINT_IPV4_GTPU_EH_DWNLINK | IAVF_PHINT_IPV6},
+ {ETH_RSS_IPV6,
+ &hdrs_hint_ipv6_gtpu_dwn,
+ IAVF_PHINT_IPV4_GTPU_EH_DWNLINK | IAVF_PHINT_IPV6},
+ /* IPv6 GTPU EH DWN IPv4 */
+ {ETH_RSS_IPV4 |
+ ETH_RSS_L3_SRC_ONLY,
+ &hdrs_hint_ipv4_src_gtpu_dwn,
+ IAVF_PHINT_IPV6_GTPU_EH_DWNLINK | IAVF_PHINT_IPV4},
+ {ETH_RSS_IPV4 |
+ ETH_RSS_L3_DST_ONLY,
+ &hdrs_hint_ipv4_dst_gtpu_dwn,
+ IAVF_PHINT_IPV6_GTPU_EH_DWNLINK | IAVF_PHINT_IPV4},
+ {ETH_RSS_IPV4,
+ &hdrs_hint_ipv4_gtpu_dwn,
+ IAVF_PHINT_IPV6_GTPU_EH_DWNLINK | IAVF_PHINT_IPV4},
+ /* IPv6 GTPU EH DWN IPv6 */
+ {ETH_RSS_IPV6 |
+ ETH_RSS_L3_SRC_ONLY,
+ &hdrs_hint_ipv6_src_gtpu_dwn,
+ IAVF_PHINT_IPV6_GTPU_EH_DWNLINK | IAVF_PHINT_IPV6},
+ {ETH_RSS_IPV6 |
+ ETH_RSS_L3_DST_ONLY,
+ &hdrs_hint_ipv6_dst_gtpu_dwn,
+ IAVF_PHINT_IPV6_GTPU_EH_DWNLINK | IAVF_PHINT_IPV6},
+ {ETH_RSS_IPV6,
+ &hdrs_hint_ipv6_gtpu_dwn,
+ IAVF_PHINT_IPV6_GTPU_EH_DWNLINK | IAVF_PHINT_IPV6},
+ /* IPv4 GTPU EH DWN IPv4 UDP */
+ {ETH_RSS_L3_SRC_ONLY |
+ ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_src_udp_src_gtpu_dwn,
+ IAVF_PHINT_IPV4_GTPU_EH_DWNLINK | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_L3_SRC_ONLY |
+ ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_src_udp_dst_gtpu_dwn,
+ IAVF_PHINT_IPV4_GTPU_EH_DWNLINK | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_L3_SRC_ONLY,
+ &hdrs_hint_ipv4_src_udp_gtpu_dwn,
+ IAVF_PHINT_IPV4_GTPU_EH_DWNLINK | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_udp_src_gtpu_dwn,
+ IAVF_PHINT_IPV4_GTPU_EH_DWNLINK | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_L3_DST_ONLY |
+ ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_dst_udp_src_gtpu_dwn,
+ IAVF_PHINT_IPV4_GTPU_EH_DWNLINK | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_L3_DST_ONLY |
+ ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_dst_udp_dst_gtpu_dwn,
+ IAVF_PHINT_IPV4_GTPU_EH_DWNLINK | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_L3_DST_ONLY,
+ &hdrs_hint_ipv4_dst_udp_gtpu_dwn,
+ IAVF_PHINT_IPV4_GTPU_EH_DWNLINK | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_udp_dst_gtpu_dwn,
+ IAVF_PHINT_IPV4_GTPU_EH_DWNLINK | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_src_udp_src_gtpu_dwn,
+ IAVF_PHINT_IPV4_GTPU_EH_DWNLINK | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_src_udp_dst_gtpu_dwn,
+ IAVF_PHINT_IPV4_GTPU_EH_DWNLINK | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP |
+ ETH_RSS_L3_SRC_ONLY,
+ &hdrs_hint_ipv4_src_udp_gtpu_dwn,
+ IAVF_PHINT_IPV4_GTPU_EH_DWNLINK | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP |
+ ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_udp_src_gtpu_dwn,
+ IAVF_PHINT_IPV4_GTPU_EH_DWNLINK | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_dst_udp_src_gtpu_dwn,
+ IAVF_PHINT_IPV4_GTPU_EH_DWNLINK | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_dst_udp_dst_gtpu_dwn,
+ IAVF_PHINT_IPV4_GTPU_EH_DWNLINK | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP |
+ ETH_RSS_L3_DST_ONLY,
+ &hdrs_hint_ipv4_dst_udp_gtpu_dwn,
+ IAVF_PHINT_IPV4_GTPU_EH_DWNLINK | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP |
+ ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_udp_dst_gtpu_dwn,
+ IAVF_PHINT_IPV4_GTPU_EH_DWNLINK | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP,
+ &hdrs_hint_ipv4_udp_gtpu_dwn,
+ IAVF_PHINT_IPV4_GTPU_EH_DWNLINK | IAVF_PHINT_IPV4_UDP},
+ /* IPv4 GTPU EH DWN IPv6 UDP */
+ {ETH_RSS_NONFRAG_IPV6_UDP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv6_src_udp_src_gtpu_dwn,
+ IAVF_PHINT_IPV4_GTPU_EH_DWNLINK | IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_NONFRAG_IPV6_UDP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv6_src_udp_dst_gtpu_dwn,
+ IAVF_PHINT_IPV4_GTPU_EH_DWNLINK | IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_NONFRAG_IPV6_UDP |
+ ETH_RSS_L3_SRC_ONLY,
+ &hdrs_hint_ipv6_src_udp_gtpu_dwn,
+ IAVF_PHINT_IPV4_GTPU_EH_DWNLINK | IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_NONFRAG_IPV6_UDP |
+ ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv6_udp_src_gtpu_dwn,
+ IAVF_PHINT_IPV4_GTPU_EH_DWNLINK | IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_NONFRAG_IPV6_UDP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv6_dst_udp_src_gtpu_dwn,
+ IAVF_PHINT_IPV4_GTPU_EH_DWNLINK | IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_NONFRAG_IPV6_UDP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv6_dst_udp_dst_gtpu_dwn,
+ IAVF_PHINT_IPV4_GTPU_EH_DWNLINK | IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_NONFRAG_IPV6_UDP |
+ ETH_RSS_L3_DST_ONLY,
+ &hdrs_hint_ipv6_dst_udp_gtpu_dwn,
+ IAVF_PHINT_IPV4_GTPU_EH_DWNLINK | IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_NONFRAG_IPV6_UDP |
+ ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv6_udp_dst_gtpu_dwn,
+ IAVF_PHINT_IPV4_GTPU_EH_DWNLINK | IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_NONFRAG_IPV6_UDP,
+ &hdrs_hint_ipv6_udp_gtpu_dwn,
+ IAVF_PHINT_IPV4_GTPU_EH_DWNLINK | IAVF_PHINT_IPV6_UDP},
+ /* IPv6 GTPU EH DWN IPv4 UDP */
+ {ETH_RSS_NONFRAG_IPV4_UDP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_src_udp_src_gtpu_dwn,
+ IAVF_PHINT_IPV6_GTPU_EH_DWNLINK | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_src_udp_dst_gtpu_dwn,
+ IAVF_PHINT_IPV6_GTPU_EH_DWNLINK | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP |
+ ETH_RSS_L3_SRC_ONLY,
+ &hdrs_hint_ipv4_src_udp_gtpu_dwn,
+ IAVF_PHINT_IPV6_GTPU_EH_DWNLINK | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP |
+ ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_udp_src_gtpu_dwn,
+ IAVF_PHINT_IPV6_GTPU_EH_DWNLINK | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_dst_udp_src_gtpu_dwn,
+ IAVF_PHINT_IPV6_GTPU_EH_DWNLINK | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_dst_udp_dst_gtpu_dwn,
+ IAVF_PHINT_IPV6_GTPU_EH_DWNLINK | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP |
+ ETH_RSS_L3_DST_ONLY,
+ &hdrs_hint_ipv4_dst_udp_gtpu_dwn,
+ IAVF_PHINT_IPV6_GTPU_EH_DWNLINK | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP |
+ ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_udp_dst_gtpu_dwn,
+ IAVF_PHINT_IPV6_GTPU_EH_DWNLINK | IAVF_PHINT_IPV4_UDP},
+ {ETH_RSS_NONFRAG_IPV4_UDP,
+ &hdrs_hint_ipv4_udp_gtpu_dwn,
+ IAVF_PHINT_IPV6_GTPU_EH_DWNLINK | IAVF_PHINT_IPV4_UDP},
+ /* IPv6 GTPU EH DWN IPv6 UDP */
+ {ETH_RSS_NONFRAG_IPV6_UDP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv6_src_udp_src_gtpu_dwn,
+ IAVF_PHINT_IPV6_GTPU_EH_DWNLINK | IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_NONFRAG_IPV6_UDP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv6_src_udp_dst_gtpu_dwn,
+ IAVF_PHINT_IPV6_GTPU_EH_DWNLINK | IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_NONFRAG_IPV6_UDP |
+ ETH_RSS_L3_SRC_ONLY,
+ &hdrs_hint_ipv6_src_udp_gtpu_dwn,
+ IAVF_PHINT_IPV6_GTPU_EH_DWNLINK | IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_NONFRAG_IPV6_UDP |
+ ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv6_udp_src_gtpu_dwn,
+ IAVF_PHINT_IPV6_GTPU_EH_DWNLINK | IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_NONFRAG_IPV6_UDP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv6_dst_udp_src_gtpu_dwn,
+ IAVF_PHINT_IPV6_GTPU_EH_DWNLINK | IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_NONFRAG_IPV6_UDP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv6_dst_udp_dst_gtpu_dwn,
+ IAVF_PHINT_IPV6_GTPU_EH_DWNLINK | IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_NONFRAG_IPV6_UDP |
+ ETH_RSS_L3_DST_ONLY,
+ &hdrs_hint_ipv6_dst_udp_gtpu_dwn,
+ IAVF_PHINT_IPV6_GTPU_EH_DWNLINK | IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_NONFRAG_IPV6_UDP |
+ ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv6_udp_dst_gtpu_dwn,
+ IAVF_PHINT_IPV6_GTPU_EH_DWNLINK | IAVF_PHINT_IPV6_UDP},
+ {ETH_RSS_NONFRAG_IPV6_UDP,
+ &hdrs_hint_ipv6_udp_gtpu_dwn,
+ IAVF_PHINT_IPV6_GTPU_EH_DWNLINK | IAVF_PHINT_IPV6_UDP},
+ /* IPv4 GTPU EH DWN IPv4 TCP */
+ {ETH_RSS_L3_SRC_ONLY |
+ ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_src_tcp_src_gtpu_dwn,
+ IAVF_PHINT_IPV4_GTPU_EH_DWNLINK | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_L3_SRC_ONLY |
+ ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_src_tcp_dst_gtpu_dwn,
+ IAVF_PHINT_IPV4_GTPU_EH_DWNLINK | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_L3_SRC_ONLY,
+ &hdrs_hint_ipv4_src_tcp_gtpu_dwn,
+ IAVF_PHINT_IPV4_GTPU_EH_DWNLINK | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_tcp_src_gtpu_dwn,
+ IAVF_PHINT_IPV4_GTPU_EH_DWNLINK | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_L3_DST_ONLY |
+ ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_dst_tcp_src_gtpu_dwn,
+ IAVF_PHINT_IPV4_GTPU_EH_DWNLINK | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_L3_DST_ONLY |
+ ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_dst_tcp_dst_gtpu_dwn,
+ IAVF_PHINT_IPV4_GTPU_EH_DWNLINK | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_L3_DST_ONLY,
+ &hdrs_hint_ipv4_dst_tcp_gtpu_dwn,
+ IAVF_PHINT_IPV4_GTPU_EH_DWNLINK | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_tcp_dst_gtpu_dwn,
+ IAVF_PHINT_IPV4_GTPU_EH_DWNLINK | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_src_tcp_src_gtpu_dwn,
+ IAVF_PHINT_IPV4_GTPU_EH_DWNLINK | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_src_tcp_dst_gtpu_dwn,
+ IAVF_PHINT_IPV4_GTPU_EH_DWNLINK | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP |
+ ETH_RSS_L3_SRC_ONLY,
+ &hdrs_hint_ipv4_src_tcp_gtpu_dwn,
+ IAVF_PHINT_IPV4_GTPU_EH_DWNLINK | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP |
+ ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_tcp_src_gtpu_dwn,
+ IAVF_PHINT_IPV4_GTPU_EH_DWNLINK | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_dst_tcp_src_gtpu_dwn,
+ IAVF_PHINT_IPV4_GTPU_EH_DWNLINK | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_dst_tcp_dst_gtpu_dwn,
+ IAVF_PHINT_IPV4_GTPU_EH_DWNLINK | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP |
+ ETH_RSS_L3_DST_ONLY,
+ &hdrs_hint_ipv4_dst_tcp_gtpu_dwn,
+ IAVF_PHINT_IPV4_GTPU_EH_DWNLINK | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP |
+ ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_tcp_dst_gtpu_dwn,
+ IAVF_PHINT_IPV4_GTPU_EH_DWNLINK | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP,
+ &hdrs_hint_ipv4_tcp_gtpu_dwn,
+ IAVF_PHINT_IPV4_GTPU_EH_DWNLINK | IAVF_PHINT_IPV4_TCP},
+ /* IPv4 GTPU EH DWN IPv6 TCP */
+ {ETH_RSS_NONFRAG_IPV6_TCP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv6_src_tcp_src_gtpu_dwn,
+ IAVF_PHINT_IPV4_GTPU_EH_DWNLINK | IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_NONFRAG_IPV6_TCP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv6_src_tcp_dst_gtpu_dwn,
+ IAVF_PHINT_IPV4_GTPU_EH_DWNLINK | IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_NONFRAG_IPV6_TCP |
+ ETH_RSS_L3_SRC_ONLY,
+ &hdrs_hint_ipv6_src_tcp_gtpu_dwn,
+ IAVF_PHINT_IPV4_GTPU_EH_DWNLINK | IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_NONFRAG_IPV6_TCP |
+ ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv6_tcp_src_gtpu_dwn,
+ IAVF_PHINT_IPV4_GTPU_EH_DWNLINK | IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_NONFRAG_IPV6_TCP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv6_dst_tcp_src_gtpu_dwn,
+ IAVF_PHINT_IPV4_GTPU_EH_DWNLINK | IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_NONFRAG_IPV6_TCP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv6_dst_tcp_dst_gtpu_dwn,
+ IAVF_PHINT_IPV4_GTPU_EH_DWNLINK | IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_NONFRAG_IPV6_TCP |
+ ETH_RSS_L3_DST_ONLY,
+ &hdrs_hint_ipv6_dst_tcp_gtpu_dwn,
+ IAVF_PHINT_IPV4_GTPU_EH_DWNLINK | IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_NONFRAG_IPV6_TCP |
+ ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv6_tcp_dst_gtpu_dwn,
+ IAVF_PHINT_IPV4_GTPU_EH_DWNLINK | IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_NONFRAG_IPV6_TCP,
+ &hdrs_hint_ipv6_tcp_gtpu_dwn,
+ IAVF_PHINT_IPV4_GTPU_EH_DWNLINK | IAVF_PHINT_IPV6_TCP},
+ /* IPv6 GTPU EH DWN IPv4 TCP */
+ {ETH_RSS_NONFRAG_IPV4_TCP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_src_tcp_src_gtpu_dwn,
+ IAVF_PHINT_IPV6_GTPU_EH_DWNLINK | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_src_tcp_dst_gtpu_dwn,
+ IAVF_PHINT_IPV6_GTPU_EH_DWNLINK | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP |
+ ETH_RSS_L3_SRC_ONLY,
+ &hdrs_hint_ipv4_src_tcp_gtpu_dwn,
+ IAVF_PHINT_IPV6_GTPU_EH_DWNLINK | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP |
+ ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_tcp_src_gtpu_dwn,
+ IAVF_PHINT_IPV6_GTPU_EH_DWNLINK | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv4_dst_tcp_src_gtpu_dwn,
+ IAVF_PHINT_IPV6_GTPU_EH_DWNLINK | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_dst_tcp_dst_gtpu_dwn,
+ IAVF_PHINT_IPV6_GTPU_EH_DWNLINK | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP |
+ ETH_RSS_L3_DST_ONLY,
+ &hdrs_hint_ipv4_dst_tcp_gtpu_dwn,
+ IAVF_PHINT_IPV6_GTPU_EH_DWNLINK | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP |
+ ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv4_tcp_dst_gtpu_dwn,
+ IAVF_PHINT_IPV6_GTPU_EH_DWNLINK | IAVF_PHINT_IPV4_TCP},
+ {ETH_RSS_NONFRAG_IPV4_TCP,
+ &hdrs_hint_ipv4_tcp_gtpu_dwn,
+ IAVF_PHINT_IPV6_GTPU_EH_DWNLINK | IAVF_PHINT_IPV4_TCP},
+ /* IPv6 GTPU EH DWN IPv6 TCP */
+ {ETH_RSS_NONFRAG_IPV6_TCP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv6_src_tcp_src_gtpu_dwn,
+ IAVF_PHINT_IPV6_GTPU_EH_DWNLINK | IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_NONFRAG_IPV6_TCP |
+ ETH_RSS_L3_SRC_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv6_src_tcp_dst_gtpu_dwn,
+ IAVF_PHINT_IPV6_GTPU_EH_DWNLINK | IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_NONFRAG_IPV6_TCP |
+ ETH_RSS_L3_SRC_ONLY,
+ &hdrs_hint_ipv6_src_tcp_gtpu_dwn,
+ IAVF_PHINT_IPV6_GTPU_EH_DWNLINK | IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_NONFRAG_IPV6_TCP |
+ ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv6_tcp_src_gtpu_dwn,
+ IAVF_PHINT_IPV6_GTPU_EH_DWNLINK | IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_NONFRAG_IPV6_TCP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_SRC_ONLY,
+ &hdrs_hint_ipv6_dst_tcp_src_gtpu_dwn,
+ IAVF_PHINT_IPV6_GTPU_EH_DWNLINK | IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_NONFRAG_IPV6_TCP |
+ ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv6_dst_tcp_dst_gtpu_dwn,
+ IAVF_PHINT_IPV6_GTPU_EH_DWNLINK | IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_NONFRAG_IPV6_TCP |
+ ETH_RSS_L3_DST_ONLY,
+ &hdrs_hint_ipv6_dst_tcp_gtpu_dwn,
+ IAVF_PHINT_IPV6_GTPU_EH_DWNLINK | IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_NONFRAG_IPV6_TCP |
+ ETH_RSS_L4_DST_ONLY,
+ &hdrs_hint_ipv6_tcp_dst_gtpu_dwn,
+ IAVF_PHINT_IPV6_GTPU_EH_DWNLINK | IAVF_PHINT_IPV6_TCP},
+ {ETH_RSS_NONFRAG_IPV6_TCP,
+ &hdrs_hint_ipv6_tcp_gtpu_dwn,
+ IAVF_PHINT_IPV6_GTPU_EH_DWNLINK | IAVF_PHINT_IPV6_TCP},
+};
+
+struct virtchnl_proto_hdrs *iavf_hash_default_hdrs[] = {
+ &hdrs_hint_ipv4,
+ &hdrs_hint_ipv4_udp,
+ &hdrs_hint_ipv4_tcp,
+ &hdrs_hint_ipv4_sctp,
+ &hdrs_hint_ipv6,
+ &hdrs_hint_ipv6_udp,
+ &hdrs_hint_ipv6_tcp,
+ &hdrs_hint_ipv6_sctp,
+ &hdrs_hint_ipv4_gtpu_ip,
+ &hdrs_hint_ipv4_udp_gtpu_ip,
+ &hdrs_hint_ipv4_tcp_gtpu_ip,
+ &hdrs_hint_ipv4_gtpu_eh,
+ &hdrs_hint_ipv4_udp_gtpu_eh,
+ &hdrs_hint_ipv4_tcp_gtpu_eh,
+ &hdrs_hint_ipv6_gtpu_ip,
+ &hdrs_hint_ipv6_udp_gtpu_ip,
+ &hdrs_hint_ipv6_tcp_gtpu_ip,
+ &hdrs_hint_ipv6_gtpu_eh,
+ &hdrs_hint_ipv6_udp_gtpu_eh,
+ &hdrs_hint_ipv6_tcp_gtpu_eh,
+};
+
+static struct iavf_flow_engine iavf_hash_engine = {
+ .init = iavf_hash_init,
+ .create = iavf_hash_create,
+ .destroy = iavf_hash_destroy,
+ .uninit = iavf_hash_uninit,
+ .free = iavf_hash_free,
+ .type = IAVF_FLOW_ENGINE_HASH,
+};
+
+/* Register parser for comms package. */
+static struct iavf_flow_parser iavf_hash_parser = {
+ .engine = &iavf_hash_engine,
+ .array = iavf_hash_pattern_list,
+ .array_len = RTE_DIM(iavf_hash_pattern_list),
+ .parse_pattern_action = iavf_hash_parse_pattern_action,
+ .stage = IAVF_FLOW_STAGE_RSS,
+};
+
+static int
+iavf_hash_default_set(struct iavf_adapter *ad, bool add)
+{
+ struct virtchnl_rss_cfg *rss_cfg;
+ uint16_t i;
+ int ret;