+ {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_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_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_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_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_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_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_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_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_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_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_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_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_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_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,