net/ice: support RSS for IPv4 IPv6 mix of GTP
RSS for GTP with outer & inner ipv4 & ipv6 combination are supported in this patch, so that we can process RSS based on inner 5 tuples or 3 tuples of all the cases below of GTP packets: 1. ipv4 (outer) + ipv4 (inner) 2. ipv4 (outer) + ipv6 (inner) 3. ipv6 (outer) + ipv4 (inner) 4. ipv6 (outer) + ipv6 (inner) Signed-off-by: Junfeng Guo <junfeng.guo@intel.com> Acked-by: Qi Zhang <qi.z.zhang@intel.com>
This commit is contained in:
parent
8020b8123a
commit
610bc231d0
@ -1079,6 +1079,156 @@ enum rte_flow_item_type pattern_eth_ipv4_gtpu_ipv4[] = {
|
||||
RTE_FLOW_ITEM_TYPE_END,
|
||||
};
|
||||
|
||||
enum rte_flow_item_type pattern_eth_ipv4_gtpu_ipv4_udp[] = {
|
||||
RTE_FLOW_ITEM_TYPE_ETH,
|
||||
RTE_FLOW_ITEM_TYPE_IPV4,
|
||||
RTE_FLOW_ITEM_TYPE_UDP,
|
||||
RTE_FLOW_ITEM_TYPE_GTPU,
|
||||
RTE_FLOW_ITEM_TYPE_IPV4,
|
||||
RTE_FLOW_ITEM_TYPE_UDP,
|
||||
RTE_FLOW_ITEM_TYPE_END,
|
||||
};
|
||||
|
||||
enum rte_flow_item_type pattern_eth_ipv4_gtpu_ipv4_tcp[] = {
|
||||
RTE_FLOW_ITEM_TYPE_ETH,
|
||||
RTE_FLOW_ITEM_TYPE_IPV4,
|
||||
RTE_FLOW_ITEM_TYPE_UDP,
|
||||
RTE_FLOW_ITEM_TYPE_GTPU,
|
||||
RTE_FLOW_ITEM_TYPE_IPV4,
|
||||
RTE_FLOW_ITEM_TYPE_TCP,
|
||||
RTE_FLOW_ITEM_TYPE_END,
|
||||
};
|
||||
|
||||
enum rte_flow_item_type pattern_eth_ipv4_gtpu_ipv4_icmp[] = {
|
||||
RTE_FLOW_ITEM_TYPE_ETH,
|
||||
RTE_FLOW_ITEM_TYPE_IPV4,
|
||||
RTE_FLOW_ITEM_TYPE_UDP,
|
||||
RTE_FLOW_ITEM_TYPE_GTPU,
|
||||
RTE_FLOW_ITEM_TYPE_IPV4,
|
||||
RTE_FLOW_ITEM_TYPE_ICMP,
|
||||
RTE_FLOW_ITEM_TYPE_END,
|
||||
};
|
||||
|
||||
/*IPv4 GTPU IPv6 */
|
||||
enum rte_flow_item_type pattern_eth_ipv4_gtpu_ipv6[] = {
|
||||
RTE_FLOW_ITEM_TYPE_ETH,
|
||||
RTE_FLOW_ITEM_TYPE_IPV4,
|
||||
RTE_FLOW_ITEM_TYPE_UDP,
|
||||
RTE_FLOW_ITEM_TYPE_GTPU,
|
||||
RTE_FLOW_ITEM_TYPE_IPV6,
|
||||
RTE_FLOW_ITEM_TYPE_END,
|
||||
};
|
||||
|
||||
enum rte_flow_item_type pattern_eth_ipv4_gtpu_ipv6_udp[] = {
|
||||
RTE_FLOW_ITEM_TYPE_ETH,
|
||||
RTE_FLOW_ITEM_TYPE_IPV4,
|
||||
RTE_FLOW_ITEM_TYPE_UDP,
|
||||
RTE_FLOW_ITEM_TYPE_GTPU,
|
||||
RTE_FLOW_ITEM_TYPE_IPV6,
|
||||
RTE_FLOW_ITEM_TYPE_UDP,
|
||||
RTE_FLOW_ITEM_TYPE_END,
|
||||
};
|
||||
|
||||
enum rte_flow_item_type pattern_eth_ipv4_gtpu_ipv6_tcp[] = {
|
||||
RTE_FLOW_ITEM_TYPE_ETH,
|
||||
RTE_FLOW_ITEM_TYPE_IPV4,
|
||||
RTE_FLOW_ITEM_TYPE_UDP,
|
||||
RTE_FLOW_ITEM_TYPE_GTPU,
|
||||
RTE_FLOW_ITEM_TYPE_IPV6,
|
||||
RTE_FLOW_ITEM_TYPE_TCP,
|
||||
RTE_FLOW_ITEM_TYPE_END,
|
||||
};
|
||||
|
||||
enum rte_flow_item_type pattern_eth_ipv4_gtpu_ipv6_icmp[] = {
|
||||
RTE_FLOW_ITEM_TYPE_ETH,
|
||||
RTE_FLOW_ITEM_TYPE_IPV4,
|
||||
RTE_FLOW_ITEM_TYPE_UDP,
|
||||
RTE_FLOW_ITEM_TYPE_GTPU,
|
||||
RTE_FLOW_ITEM_TYPE_IPV6,
|
||||
RTE_FLOW_ITEM_TYPE_ICMP,
|
||||
RTE_FLOW_ITEM_TYPE_END,
|
||||
};
|
||||
|
||||
/*IPv6 GTPU IPv4 */
|
||||
enum rte_flow_item_type pattern_eth_ipv6_gtpu_ipv4[] = {
|
||||
RTE_FLOW_ITEM_TYPE_ETH,
|
||||
RTE_FLOW_ITEM_TYPE_IPV6,
|
||||
RTE_FLOW_ITEM_TYPE_UDP,
|
||||
RTE_FLOW_ITEM_TYPE_GTPU,
|
||||
RTE_FLOW_ITEM_TYPE_IPV4,
|
||||
RTE_FLOW_ITEM_TYPE_END,
|
||||
};
|
||||
|
||||
enum rte_flow_item_type pattern_eth_ipv6_gtpu_ipv4_udp[] = {
|
||||
RTE_FLOW_ITEM_TYPE_ETH,
|
||||
RTE_FLOW_ITEM_TYPE_IPV6,
|
||||
RTE_FLOW_ITEM_TYPE_UDP,
|
||||
RTE_FLOW_ITEM_TYPE_GTPU,
|
||||
RTE_FLOW_ITEM_TYPE_IPV4,
|
||||
RTE_FLOW_ITEM_TYPE_UDP,
|
||||
RTE_FLOW_ITEM_TYPE_END,
|
||||
};
|
||||
|
||||
enum rte_flow_item_type pattern_eth_ipv6_gtpu_ipv4_tcp[] = {
|
||||
RTE_FLOW_ITEM_TYPE_ETH,
|
||||
RTE_FLOW_ITEM_TYPE_IPV6,
|
||||
RTE_FLOW_ITEM_TYPE_UDP,
|
||||
RTE_FLOW_ITEM_TYPE_GTPU,
|
||||
RTE_FLOW_ITEM_TYPE_IPV4,
|
||||
RTE_FLOW_ITEM_TYPE_TCP,
|
||||
RTE_FLOW_ITEM_TYPE_END,
|
||||
};
|
||||
|
||||
enum rte_flow_item_type pattern_eth_ipv6_gtpu_ipv4_icmp[] = {
|
||||
RTE_FLOW_ITEM_TYPE_ETH,
|
||||
RTE_FLOW_ITEM_TYPE_IPV6,
|
||||
RTE_FLOW_ITEM_TYPE_UDP,
|
||||
RTE_FLOW_ITEM_TYPE_GTPU,
|
||||
RTE_FLOW_ITEM_TYPE_IPV4,
|
||||
RTE_FLOW_ITEM_TYPE_ICMP,
|
||||
RTE_FLOW_ITEM_TYPE_END,
|
||||
};
|
||||
|
||||
/*IPv6 GTPU IPv6 */
|
||||
enum rte_flow_item_type pattern_eth_ipv6_gtpu_ipv6[] = {
|
||||
RTE_FLOW_ITEM_TYPE_ETH,
|
||||
RTE_FLOW_ITEM_TYPE_IPV6,
|
||||
RTE_FLOW_ITEM_TYPE_UDP,
|
||||
RTE_FLOW_ITEM_TYPE_GTPU,
|
||||
RTE_FLOW_ITEM_TYPE_IPV6,
|
||||
RTE_FLOW_ITEM_TYPE_END,
|
||||
};
|
||||
|
||||
enum rte_flow_item_type pattern_eth_ipv6_gtpu_ipv6_udp[] = {
|
||||
RTE_FLOW_ITEM_TYPE_ETH,
|
||||
RTE_FLOW_ITEM_TYPE_IPV6,
|
||||
RTE_FLOW_ITEM_TYPE_UDP,
|
||||
RTE_FLOW_ITEM_TYPE_GTPU,
|
||||
RTE_FLOW_ITEM_TYPE_IPV6,
|
||||
RTE_FLOW_ITEM_TYPE_UDP,
|
||||
RTE_FLOW_ITEM_TYPE_END,
|
||||
};
|
||||
|
||||
enum rte_flow_item_type pattern_eth_ipv6_gtpu_ipv6_tcp[] = {
|
||||
RTE_FLOW_ITEM_TYPE_ETH,
|
||||
RTE_FLOW_ITEM_TYPE_IPV6,
|
||||
RTE_FLOW_ITEM_TYPE_UDP,
|
||||
RTE_FLOW_ITEM_TYPE_GTPU,
|
||||
RTE_FLOW_ITEM_TYPE_IPV6,
|
||||
RTE_FLOW_ITEM_TYPE_TCP,
|
||||
RTE_FLOW_ITEM_TYPE_END,
|
||||
};
|
||||
|
||||
enum rte_flow_item_type pattern_eth_ipv6_gtpu_ipv6_icmp[] = {
|
||||
RTE_FLOW_ITEM_TYPE_ETH,
|
||||
RTE_FLOW_ITEM_TYPE_IPV6,
|
||||
RTE_FLOW_ITEM_TYPE_UDP,
|
||||
RTE_FLOW_ITEM_TYPE_GTPU,
|
||||
RTE_FLOW_ITEM_TYPE_IPV6,
|
||||
RTE_FLOW_ITEM_TYPE_ICMP,
|
||||
RTE_FLOW_ITEM_TYPE_END,
|
||||
};
|
||||
|
||||
/*IPv4 GTPU EH IPv4 */
|
||||
enum rte_flow_item_type pattern_eth_ipv4_gtpu_eh_ipv4[] = {
|
||||
RTE_FLOW_ITEM_TYPE_ETH,
|
||||
@ -1089,6 +1239,7 @@ enum rte_flow_item_type pattern_eth_ipv4_gtpu_eh_ipv4[] = {
|
||||
RTE_FLOW_ITEM_TYPE_IPV4,
|
||||
RTE_FLOW_ITEM_TYPE_END,
|
||||
};
|
||||
|
||||
enum rte_flow_item_type pattern_eth_ipv4_gtpu_eh_ipv4_udp[] = {
|
||||
RTE_FLOW_ITEM_TYPE_ETH,
|
||||
RTE_FLOW_ITEM_TYPE_IPV4,
|
||||
@ -1099,6 +1250,7 @@ enum rte_flow_item_type pattern_eth_ipv4_gtpu_eh_ipv4_udp[] = {
|
||||
RTE_FLOW_ITEM_TYPE_UDP,
|
||||
RTE_FLOW_ITEM_TYPE_END,
|
||||
};
|
||||
|
||||
enum rte_flow_item_type pattern_eth_ipv4_gtpu_eh_ipv4_tcp[] = {
|
||||
RTE_FLOW_ITEM_TYPE_ETH,
|
||||
RTE_FLOW_ITEM_TYPE_IPV4,
|
||||
@ -1108,8 +1260,8 @@ enum rte_flow_item_type pattern_eth_ipv4_gtpu_eh_ipv4_tcp[] = {
|
||||
RTE_FLOW_ITEM_TYPE_IPV4,
|
||||
RTE_FLOW_ITEM_TYPE_TCP,
|
||||
RTE_FLOW_ITEM_TYPE_END,
|
||||
|
||||
};
|
||||
|
||||
enum rte_flow_item_type pattern_eth_ipv4_gtpu_eh_ipv4_icmp[] = {
|
||||
RTE_FLOW_ITEM_TYPE_ETH,
|
||||
RTE_FLOW_ITEM_TYPE_IPV4,
|
||||
@ -1121,6 +1273,138 @@ enum rte_flow_item_type pattern_eth_ipv4_gtpu_eh_ipv4_icmp[] = {
|
||||
RTE_FLOW_ITEM_TYPE_END,
|
||||
};
|
||||
|
||||
/*IPv4 GTPU EH IPv6 */
|
||||
enum rte_flow_item_type pattern_eth_ipv4_gtpu_eh_ipv6[] = {
|
||||
RTE_FLOW_ITEM_TYPE_ETH,
|
||||
RTE_FLOW_ITEM_TYPE_IPV4,
|
||||
RTE_FLOW_ITEM_TYPE_UDP,
|
||||
RTE_FLOW_ITEM_TYPE_GTPU,
|
||||
RTE_FLOW_ITEM_TYPE_GTP_PSC,
|
||||
RTE_FLOW_ITEM_TYPE_IPV6,
|
||||
RTE_FLOW_ITEM_TYPE_END,
|
||||
};
|
||||
|
||||
enum rte_flow_item_type pattern_eth_ipv4_gtpu_eh_ipv6_udp[] = {
|
||||
RTE_FLOW_ITEM_TYPE_ETH,
|
||||
RTE_FLOW_ITEM_TYPE_IPV4,
|
||||
RTE_FLOW_ITEM_TYPE_UDP,
|
||||
RTE_FLOW_ITEM_TYPE_GTPU,
|
||||
RTE_FLOW_ITEM_TYPE_GTP_PSC,
|
||||
RTE_FLOW_ITEM_TYPE_IPV6,
|
||||
RTE_FLOW_ITEM_TYPE_UDP,
|
||||
RTE_FLOW_ITEM_TYPE_END,
|
||||
};
|
||||
|
||||
enum rte_flow_item_type pattern_eth_ipv4_gtpu_eh_ipv6_tcp[] = {
|
||||
RTE_FLOW_ITEM_TYPE_ETH,
|
||||
RTE_FLOW_ITEM_TYPE_IPV4,
|
||||
RTE_FLOW_ITEM_TYPE_UDP,
|
||||
RTE_FLOW_ITEM_TYPE_GTPU,
|
||||
RTE_FLOW_ITEM_TYPE_GTP_PSC,
|
||||
RTE_FLOW_ITEM_TYPE_IPV6,
|
||||
RTE_FLOW_ITEM_TYPE_TCP,
|
||||
RTE_FLOW_ITEM_TYPE_END,
|
||||
};
|
||||
|
||||
enum rte_flow_item_type pattern_eth_ipv4_gtpu_eh_ipv6_icmp[] = {
|
||||
RTE_FLOW_ITEM_TYPE_ETH,
|
||||
RTE_FLOW_ITEM_TYPE_IPV4,
|
||||
RTE_FLOW_ITEM_TYPE_UDP,
|
||||
RTE_FLOW_ITEM_TYPE_GTPU,
|
||||
RTE_FLOW_ITEM_TYPE_GTP_PSC,
|
||||
RTE_FLOW_ITEM_TYPE_IPV6,
|
||||
RTE_FLOW_ITEM_TYPE_ICMP,
|
||||
RTE_FLOW_ITEM_TYPE_END,
|
||||
};
|
||||
|
||||
/*IPv6 GTPU EH IPv4 */
|
||||
enum rte_flow_item_type pattern_eth_ipv6_gtpu_eh_ipv4[] = {
|
||||
RTE_FLOW_ITEM_TYPE_ETH,
|
||||
RTE_FLOW_ITEM_TYPE_IPV6,
|
||||
RTE_FLOW_ITEM_TYPE_UDP,
|
||||
RTE_FLOW_ITEM_TYPE_GTPU,
|
||||
RTE_FLOW_ITEM_TYPE_GTP_PSC,
|
||||
RTE_FLOW_ITEM_TYPE_IPV4,
|
||||
RTE_FLOW_ITEM_TYPE_END,
|
||||
};
|
||||
|
||||
enum rte_flow_item_type pattern_eth_ipv6_gtpu_eh_ipv4_udp[] = {
|
||||
RTE_FLOW_ITEM_TYPE_ETH,
|
||||
RTE_FLOW_ITEM_TYPE_IPV6,
|
||||
RTE_FLOW_ITEM_TYPE_UDP,
|
||||
RTE_FLOW_ITEM_TYPE_GTPU,
|
||||
RTE_FLOW_ITEM_TYPE_GTP_PSC,
|
||||
RTE_FLOW_ITEM_TYPE_IPV4,
|
||||
RTE_FLOW_ITEM_TYPE_UDP,
|
||||
RTE_FLOW_ITEM_TYPE_END,
|
||||
};
|
||||
|
||||
enum rte_flow_item_type pattern_eth_ipv6_gtpu_eh_ipv4_tcp[] = {
|
||||
RTE_FLOW_ITEM_TYPE_ETH,
|
||||
RTE_FLOW_ITEM_TYPE_IPV6,
|
||||
RTE_FLOW_ITEM_TYPE_UDP,
|
||||
RTE_FLOW_ITEM_TYPE_GTPU,
|
||||
RTE_FLOW_ITEM_TYPE_GTP_PSC,
|
||||
RTE_FLOW_ITEM_TYPE_IPV4,
|
||||
RTE_FLOW_ITEM_TYPE_TCP,
|
||||
RTE_FLOW_ITEM_TYPE_END,
|
||||
};
|
||||
|
||||
enum rte_flow_item_type pattern_eth_ipv6_gtpu_eh_ipv4_icmp[] = {
|
||||
RTE_FLOW_ITEM_TYPE_ETH,
|
||||
RTE_FLOW_ITEM_TYPE_IPV6,
|
||||
RTE_FLOW_ITEM_TYPE_UDP,
|
||||
RTE_FLOW_ITEM_TYPE_GTPU,
|
||||
RTE_FLOW_ITEM_TYPE_GTP_PSC,
|
||||
RTE_FLOW_ITEM_TYPE_IPV4,
|
||||
RTE_FLOW_ITEM_TYPE_ICMP,
|
||||
RTE_FLOW_ITEM_TYPE_END,
|
||||
};
|
||||
|
||||
/*IPv6 GTPU EH IPv6 */
|
||||
enum rte_flow_item_type pattern_eth_ipv6_gtpu_eh_ipv6[] = {
|
||||
RTE_FLOW_ITEM_TYPE_ETH,
|
||||
RTE_FLOW_ITEM_TYPE_IPV6,
|
||||
RTE_FLOW_ITEM_TYPE_UDP,
|
||||
RTE_FLOW_ITEM_TYPE_GTPU,
|
||||
RTE_FLOW_ITEM_TYPE_GTP_PSC,
|
||||
RTE_FLOW_ITEM_TYPE_IPV6,
|
||||
RTE_FLOW_ITEM_TYPE_END,
|
||||
};
|
||||
|
||||
enum rte_flow_item_type pattern_eth_ipv6_gtpu_eh_ipv6_udp[] = {
|
||||
RTE_FLOW_ITEM_TYPE_ETH,
|
||||
RTE_FLOW_ITEM_TYPE_IPV6,
|
||||
RTE_FLOW_ITEM_TYPE_UDP,
|
||||
RTE_FLOW_ITEM_TYPE_GTPU,
|
||||
RTE_FLOW_ITEM_TYPE_GTP_PSC,
|
||||
RTE_FLOW_ITEM_TYPE_IPV6,
|
||||
RTE_FLOW_ITEM_TYPE_UDP,
|
||||
RTE_FLOW_ITEM_TYPE_END,
|
||||
};
|
||||
|
||||
enum rte_flow_item_type pattern_eth_ipv6_gtpu_eh_ipv6_tcp[] = {
|
||||
RTE_FLOW_ITEM_TYPE_ETH,
|
||||
RTE_FLOW_ITEM_TYPE_IPV6,
|
||||
RTE_FLOW_ITEM_TYPE_UDP,
|
||||
RTE_FLOW_ITEM_TYPE_GTPU,
|
||||
RTE_FLOW_ITEM_TYPE_GTP_PSC,
|
||||
RTE_FLOW_ITEM_TYPE_IPV6,
|
||||
RTE_FLOW_ITEM_TYPE_TCP,
|
||||
RTE_FLOW_ITEM_TYPE_END,
|
||||
};
|
||||
|
||||
enum rte_flow_item_type pattern_eth_ipv6_gtpu_eh_ipv6_icmp[] = {
|
||||
RTE_FLOW_ITEM_TYPE_ETH,
|
||||
RTE_FLOW_ITEM_TYPE_IPV6,
|
||||
RTE_FLOW_ITEM_TYPE_UDP,
|
||||
RTE_FLOW_ITEM_TYPE_GTPU,
|
||||
RTE_FLOW_ITEM_TYPE_GTP_PSC,
|
||||
RTE_FLOW_ITEM_TYPE_IPV6,
|
||||
RTE_FLOW_ITEM_TYPE_ICMP,
|
||||
RTE_FLOW_ITEM_TYPE_END,
|
||||
};
|
||||
|
||||
/* PPPoE */
|
||||
enum rte_flow_item_type pattern_eth_pppoed[] = {
|
||||
RTE_FLOW_ITEM_TYPE_ETH,
|
||||
|
@ -371,6 +371,27 @@ extern enum rte_flow_item_type pattern_eth_ipv6_gtpu_eh[];
|
||||
|
||||
/* IPv4 GTPU IPv4 */
|
||||
extern enum rte_flow_item_type pattern_eth_ipv4_gtpu_ipv4[];
|
||||
extern enum rte_flow_item_type pattern_eth_ipv4_gtpu_ipv4_udp[];
|
||||
extern enum rte_flow_item_type pattern_eth_ipv4_gtpu_ipv4_tcp[];
|
||||
extern enum rte_flow_item_type pattern_eth_ipv4_gtpu_ipv4_icmp[];
|
||||
|
||||
/* IPv4 GTPU IPv6 */
|
||||
extern enum rte_flow_item_type pattern_eth_ipv4_gtpu_ipv6[];
|
||||
extern enum rte_flow_item_type pattern_eth_ipv4_gtpu_ipv6_udp[];
|
||||
extern enum rte_flow_item_type pattern_eth_ipv4_gtpu_ipv6_tcp[];
|
||||
extern enum rte_flow_item_type pattern_eth_ipv4_gtpu_ipv6_icmp[];
|
||||
|
||||
/* IPv6 GTPU IPv4 */
|
||||
extern enum rte_flow_item_type pattern_eth_ipv6_gtpu_ipv4[];
|
||||
extern enum rte_flow_item_type pattern_eth_ipv6_gtpu_ipv4_udp[];
|
||||
extern enum rte_flow_item_type pattern_eth_ipv6_gtpu_ipv4_tcp[];
|
||||
extern enum rte_flow_item_type pattern_eth_ipv6_gtpu_ipv4_icmp[];
|
||||
|
||||
/* IPv6 GTPU IPv6 */
|
||||
extern enum rte_flow_item_type pattern_eth_ipv6_gtpu_ipv6[];
|
||||
extern enum rte_flow_item_type pattern_eth_ipv6_gtpu_ipv6_udp[];
|
||||
extern enum rte_flow_item_type pattern_eth_ipv6_gtpu_ipv6_tcp[];
|
||||
extern enum rte_flow_item_type pattern_eth_ipv6_gtpu_ipv6_icmp[];
|
||||
|
||||
/* IPv4 GTPU EH IPv4 */
|
||||
extern enum rte_flow_item_type pattern_eth_ipv4_gtpu_eh_ipv4[];
|
||||
@ -378,6 +399,24 @@ extern enum rte_flow_item_type pattern_eth_ipv4_gtpu_eh_ipv4_udp[];
|
||||
extern enum rte_flow_item_type pattern_eth_ipv4_gtpu_eh_ipv4_tcp[];
|
||||
extern enum rte_flow_item_type pattern_eth_ipv4_gtpu_eh_ipv4_icmp[];
|
||||
|
||||
/* IPv4 GTPU EH IPv6 */
|
||||
extern enum rte_flow_item_type pattern_eth_ipv4_gtpu_eh_ipv6[];
|
||||
extern enum rte_flow_item_type pattern_eth_ipv4_gtpu_eh_ipv6_udp[];
|
||||
extern enum rte_flow_item_type pattern_eth_ipv4_gtpu_eh_ipv6_tcp[];
|
||||
extern enum rte_flow_item_type pattern_eth_ipv4_gtpu_eh_ipv6_icmp[];
|
||||
|
||||
/* IPv6 GTPU EH IPv4 */
|
||||
extern enum rte_flow_item_type pattern_eth_ipv6_gtpu_eh_ipv4[];
|
||||
extern enum rte_flow_item_type pattern_eth_ipv6_gtpu_eh_ipv4_udp[];
|
||||
extern enum rte_flow_item_type pattern_eth_ipv6_gtpu_eh_ipv4_tcp[];
|
||||
extern enum rte_flow_item_type pattern_eth_ipv6_gtpu_eh_ipv4_icmp[];
|
||||
|
||||
/* IPv6 GTPU EH IPv6 */
|
||||
extern enum rte_flow_item_type pattern_eth_ipv6_gtpu_eh_ipv6[];
|
||||
extern enum rte_flow_item_type pattern_eth_ipv6_gtpu_eh_ipv6_udp[];
|
||||
extern enum rte_flow_item_type pattern_eth_ipv6_gtpu_eh_ipv6_tcp[];
|
||||
extern enum rte_flow_item_type pattern_eth_ipv6_gtpu_eh_ipv6_icmp[];
|
||||
|
||||
/* PPPoE */
|
||||
extern enum rte_flow_item_type pattern_eth_pppoed[];
|
||||
extern enum rte_flow_item_type pattern_eth_vlan_pppoed[];
|
||||
|
@ -100,6 +100,50 @@ struct rss_type_match_hdr hint_eth_ipv4_gtpu_ipv4 = {
|
||||
ICE_FLOW_SEG_HDR_GTPU_IP | ICE_FLOW_SEG_HDR_IPV4 |
|
||||
ICE_FLOW_SEG_HDR_IPV_OTHER,
|
||||
ETH_RSS_GTPU | ETH_RSS_IPV4};
|
||||
struct rss_type_match_hdr hint_eth_ipv4_gtpu_ipv4_udp = {
|
||||
ICE_FLOW_SEG_HDR_GTPU_IP | ICE_FLOW_SEG_HDR_IPV4 |
|
||||
ICE_FLOW_SEG_HDR_IPV_OTHER | ICE_FLOW_SEG_HDR_UDP,
|
||||
ETH_RSS_GTPU | ETH_RSS_NONFRAG_IPV4_UDP};
|
||||
struct rss_type_match_hdr hint_eth_ipv4_gtpu_ipv4_tcp = {
|
||||
ICE_FLOW_SEG_HDR_GTPU_IP | ICE_FLOW_SEG_HDR_IPV4 |
|
||||
ICE_FLOW_SEG_HDR_IPV_OTHER | ICE_FLOW_SEG_HDR_TCP,
|
||||
ETH_RSS_GTPU | ETH_RSS_NONFRAG_IPV4_TCP};
|
||||
struct rss_type_match_hdr hint_eth_ipv4_gtpu_ipv6 = {
|
||||
ICE_FLOW_SEG_HDR_GTPU_IP | ICE_FLOW_SEG_HDR_IPV6 |
|
||||
ICE_FLOW_SEG_HDR_IPV_OTHER,
|
||||
ETH_RSS_GTPU | ETH_RSS_IPV6};
|
||||
struct rss_type_match_hdr hint_eth_ipv4_gtpu_ipv6_udp = {
|
||||
ICE_FLOW_SEG_HDR_GTPU_IP | ICE_FLOW_SEG_HDR_IPV6 |
|
||||
ICE_FLOW_SEG_HDR_IPV_OTHER | ICE_FLOW_SEG_HDR_UDP,
|
||||
ETH_RSS_GTPU | ETH_RSS_NONFRAG_IPV6_UDP};
|
||||
struct rss_type_match_hdr hint_eth_ipv4_gtpu_ipv6_tcp = {
|
||||
ICE_FLOW_SEG_HDR_GTPU_IP | ICE_FLOW_SEG_HDR_IPV6 |
|
||||
ICE_FLOW_SEG_HDR_IPV_OTHER | ICE_FLOW_SEG_HDR_TCP,
|
||||
ETH_RSS_GTPU | ETH_RSS_NONFRAG_IPV6_TCP};
|
||||
struct rss_type_match_hdr hint_eth_ipv6_gtpu_ipv4 = {
|
||||
ICE_FLOW_SEG_HDR_GTPU_IP | ICE_FLOW_SEG_HDR_IPV4 |
|
||||
ICE_FLOW_SEG_HDR_IPV_OTHER,
|
||||
ETH_RSS_GTPU | ETH_RSS_IPV4};
|
||||
struct rss_type_match_hdr hint_eth_ipv6_gtpu_ipv4_udp = {
|
||||
ICE_FLOW_SEG_HDR_GTPU_IP | ICE_FLOW_SEG_HDR_IPV4 |
|
||||
ICE_FLOW_SEG_HDR_IPV_OTHER | ICE_FLOW_SEG_HDR_UDP,
|
||||
ETH_RSS_GTPU | ETH_RSS_NONFRAG_IPV4_UDP};
|
||||
struct rss_type_match_hdr hint_eth_ipv6_gtpu_ipv4_tcp = {
|
||||
ICE_FLOW_SEG_HDR_GTPU_IP | ICE_FLOW_SEG_HDR_IPV4 |
|
||||
ICE_FLOW_SEG_HDR_IPV_OTHER | ICE_FLOW_SEG_HDR_TCP,
|
||||
ETH_RSS_GTPU | ETH_RSS_NONFRAG_IPV4_TCP};
|
||||
struct rss_type_match_hdr hint_eth_ipv6_gtpu_ipv6 = {
|
||||
ICE_FLOW_SEG_HDR_GTPU_IP | ICE_FLOW_SEG_HDR_IPV6 |
|
||||
ICE_FLOW_SEG_HDR_IPV_OTHER,
|
||||
ETH_RSS_GTPU | ETH_RSS_IPV6};
|
||||
struct rss_type_match_hdr hint_eth_ipv6_gtpu_ipv6_udp = {
|
||||
ICE_FLOW_SEG_HDR_GTPU_IP | ICE_FLOW_SEG_HDR_IPV6 |
|
||||
ICE_FLOW_SEG_HDR_IPV_OTHER | ICE_FLOW_SEG_HDR_UDP,
|
||||
ETH_RSS_GTPU | ETH_RSS_NONFRAG_IPV6_UDP};
|
||||
struct rss_type_match_hdr hint_eth_ipv6_gtpu_ipv6_tcp = {
|
||||
ICE_FLOW_SEG_HDR_GTPU_IP | ICE_FLOW_SEG_HDR_IPV6 |
|
||||
ICE_FLOW_SEG_HDR_IPV_OTHER | ICE_FLOW_SEG_HDR_TCP,
|
||||
ETH_RSS_GTPU | ETH_RSS_NONFRAG_IPV6_TCP};
|
||||
struct rss_type_match_hdr hint_eth_ipv4_gtpu_eh_ipv4 = {
|
||||
ICE_FLOW_SEG_HDR_GTPU_EH | ICE_FLOW_SEG_HDR_IPV4 |
|
||||
ICE_FLOW_SEG_HDR_IPV_OTHER,
|
||||
@ -112,6 +156,42 @@ struct rss_type_match_hdr hint_eth_ipv4_gtpu_eh_ipv4_tcp = {
|
||||
ICE_FLOW_SEG_HDR_GTPU_EH | ICE_FLOW_SEG_HDR_IPV4 |
|
||||
ICE_FLOW_SEG_HDR_IPV_OTHER | ICE_FLOW_SEG_HDR_TCP,
|
||||
ETH_RSS_GTPU | ETH_RSS_NONFRAG_IPV4_TCP};
|
||||
struct rss_type_match_hdr hint_eth_ipv4_gtpu_eh_ipv6 = {
|
||||
ICE_FLOW_SEG_HDR_GTPU_EH | ICE_FLOW_SEG_HDR_IPV6 |
|
||||
ICE_FLOW_SEG_HDR_IPV_OTHER,
|
||||
ETH_RSS_GTPU | ETH_RSS_IPV6};
|
||||
struct rss_type_match_hdr hint_eth_ipv4_gtpu_eh_ipv6_udp = {
|
||||
ICE_FLOW_SEG_HDR_GTPU_EH | ICE_FLOW_SEG_HDR_IPV6 |
|
||||
ICE_FLOW_SEG_HDR_IPV_OTHER | ICE_FLOW_SEG_HDR_UDP,
|
||||
ETH_RSS_GTPU | ETH_RSS_NONFRAG_IPV6_UDP};
|
||||
struct rss_type_match_hdr hint_eth_ipv4_gtpu_eh_ipv6_tcp = {
|
||||
ICE_FLOW_SEG_HDR_GTPU_EH | ICE_FLOW_SEG_HDR_IPV6 |
|
||||
ICE_FLOW_SEG_HDR_IPV_OTHER | ICE_FLOW_SEG_HDR_TCP,
|
||||
ETH_RSS_GTPU | ETH_RSS_NONFRAG_IPV6_TCP};
|
||||
struct rss_type_match_hdr hint_eth_ipv6_gtpu_eh_ipv4 = {
|
||||
ICE_FLOW_SEG_HDR_GTPU_EH | ICE_FLOW_SEG_HDR_IPV4 |
|
||||
ICE_FLOW_SEG_HDR_IPV_OTHER,
|
||||
ETH_RSS_GTPU | ETH_RSS_IPV4};
|
||||
struct rss_type_match_hdr hint_eth_ipv6_gtpu_eh_ipv4_udp = {
|
||||
ICE_FLOW_SEG_HDR_GTPU_EH | ICE_FLOW_SEG_HDR_IPV4 |
|
||||
ICE_FLOW_SEG_HDR_IPV_OTHER | ICE_FLOW_SEG_HDR_UDP,
|
||||
ETH_RSS_GTPU | ETH_RSS_NONFRAG_IPV4_UDP};
|
||||
struct rss_type_match_hdr hint_eth_ipv6_gtpu_eh_ipv4_tcp = {
|
||||
ICE_FLOW_SEG_HDR_GTPU_EH | ICE_FLOW_SEG_HDR_IPV4 |
|
||||
ICE_FLOW_SEG_HDR_IPV_OTHER | ICE_FLOW_SEG_HDR_TCP,
|
||||
ETH_RSS_GTPU | ETH_RSS_NONFRAG_IPV4_TCP};
|
||||
struct rss_type_match_hdr hint_eth_ipv6_gtpu_eh_ipv6 = {
|
||||
ICE_FLOW_SEG_HDR_GTPU_EH | ICE_FLOW_SEG_HDR_IPV6 |
|
||||
ICE_FLOW_SEG_HDR_IPV_OTHER,
|
||||
ETH_RSS_GTPU | ETH_RSS_IPV6};
|
||||
struct rss_type_match_hdr hint_eth_ipv6_gtpu_eh_ipv6_udp = {
|
||||
ICE_FLOW_SEG_HDR_GTPU_EH | ICE_FLOW_SEG_HDR_IPV6 |
|
||||
ICE_FLOW_SEG_HDR_IPV_OTHER | ICE_FLOW_SEG_HDR_UDP,
|
||||
ETH_RSS_GTPU | ETH_RSS_NONFRAG_IPV6_UDP};
|
||||
struct rss_type_match_hdr hint_eth_ipv6_gtpu_eh_ipv6_tcp = {
|
||||
ICE_FLOW_SEG_HDR_GTPU_EH | ICE_FLOW_SEG_HDR_IPV6 |
|
||||
ICE_FLOW_SEG_HDR_IPV_OTHER | ICE_FLOW_SEG_HDR_TCP,
|
||||
ETH_RSS_GTPU | ETH_RSS_NONFRAG_IPV6_TCP};
|
||||
struct rss_type_match_hdr hint_eth_pppoes_ipv4 = {
|
||||
ICE_FLOW_SEG_HDR_PPPOE | ICE_FLOW_SEG_HDR_IPV4 |
|
||||
ICE_FLOW_SEG_HDR_IPV_OTHER,
|
||||
@ -268,12 +348,52 @@ static struct ice_pattern_match_item ice_hash_pattern_list_comms[] = {
|
||||
&hint_eth_ipv4_sctp},
|
||||
{pattern_eth_ipv4_gtpu_ipv4, ICE_INSET_NONE,
|
||||
&hint_eth_ipv4_gtpu_ipv4},
|
||||
{pattern_eth_ipv4_gtpu_ipv4_udp, ICE_INSET_NONE,
|
||||
&hint_eth_ipv4_gtpu_ipv4_udp},
|
||||
{pattern_eth_ipv4_gtpu_ipv4_tcp, ICE_INSET_NONE,
|
||||
&hint_eth_ipv4_gtpu_ipv4_tcp},
|
||||
{pattern_eth_ipv4_gtpu_ipv6, ICE_INSET_NONE,
|
||||
&hint_eth_ipv4_gtpu_ipv6},
|
||||
{pattern_eth_ipv4_gtpu_ipv6_udp, ICE_INSET_NONE,
|
||||
&hint_eth_ipv4_gtpu_ipv6_udp},
|
||||
{pattern_eth_ipv4_gtpu_ipv6_tcp, ICE_INSET_NONE,
|
||||
&hint_eth_ipv4_gtpu_ipv6_tcp},
|
||||
{pattern_eth_ipv6_gtpu_ipv4, ICE_INSET_NONE,
|
||||
&hint_eth_ipv6_gtpu_ipv4},
|
||||
{pattern_eth_ipv6_gtpu_ipv4_udp, ICE_INSET_NONE,
|
||||
&hint_eth_ipv6_gtpu_ipv4_udp},
|
||||
{pattern_eth_ipv6_gtpu_ipv4_tcp, ICE_INSET_NONE,
|
||||
&hint_eth_ipv6_gtpu_ipv4_tcp},
|
||||
{pattern_eth_ipv6_gtpu_ipv6, ICE_INSET_NONE,
|
||||
&hint_eth_ipv6_gtpu_ipv6},
|
||||
{pattern_eth_ipv6_gtpu_ipv6_udp, ICE_INSET_NONE,
|
||||
&hint_eth_ipv6_gtpu_ipv6_udp},
|
||||
{pattern_eth_ipv6_gtpu_ipv6_tcp, ICE_INSET_NONE,
|
||||
&hint_eth_ipv6_gtpu_ipv6_tcp},
|
||||
{pattern_eth_ipv4_gtpu_eh_ipv4, ICE_INSET_NONE,
|
||||
&hint_eth_ipv4_gtpu_eh_ipv4},
|
||||
{pattern_eth_ipv4_gtpu_eh_ipv4_udp, ICE_INSET_NONE,
|
||||
&hint_eth_ipv4_gtpu_eh_ipv4_udp},
|
||||
{pattern_eth_ipv4_gtpu_eh_ipv4_tcp, ICE_INSET_NONE,
|
||||
&hint_eth_ipv4_gtpu_eh_ipv4_tcp},
|
||||
{pattern_eth_ipv4_gtpu_eh_ipv6, ICE_INSET_NONE,
|
||||
&hint_eth_ipv4_gtpu_eh_ipv6},
|
||||
{pattern_eth_ipv4_gtpu_eh_ipv6_udp, ICE_INSET_NONE,
|
||||
&hint_eth_ipv4_gtpu_eh_ipv6_udp},
|
||||
{pattern_eth_ipv4_gtpu_eh_ipv6_tcp, ICE_INSET_NONE,
|
||||
&hint_eth_ipv4_gtpu_eh_ipv6_tcp},
|
||||
{pattern_eth_ipv6_gtpu_eh_ipv4, ICE_INSET_NONE,
|
||||
&hint_eth_ipv6_gtpu_eh_ipv4},
|
||||
{pattern_eth_ipv6_gtpu_eh_ipv4_udp, ICE_INSET_NONE,
|
||||
&hint_eth_ipv6_gtpu_eh_ipv4_udp},
|
||||
{pattern_eth_ipv6_gtpu_eh_ipv4_tcp, ICE_INSET_NONE,
|
||||
&hint_eth_ipv6_gtpu_eh_ipv4_tcp},
|
||||
{pattern_eth_ipv6_gtpu_eh_ipv6, ICE_INSET_NONE,
|
||||
&hint_eth_ipv6_gtpu_eh_ipv6},
|
||||
{pattern_eth_ipv6_gtpu_eh_ipv6_udp, ICE_INSET_NONE,
|
||||
&hint_eth_ipv6_gtpu_eh_ipv6_udp},
|
||||
{pattern_eth_ipv6_gtpu_eh_ipv6_tcp, ICE_INSET_NONE,
|
||||
&hint_eth_ipv6_gtpu_eh_ipv6_tcp},
|
||||
{pattern_eth_pppoes_ipv4, ICE_INSET_NONE,
|
||||
&hint_eth_pppoes_ipv4},
|
||||
{pattern_eth_pppoes_ipv4_udp, ICE_INSET_NONE,
|
||||
|
Loading…
Reference in New Issue
Block a user