@@ -55,92 +55,74 @@
ICE_FDIR_INSET_ETH_IPV6 | \
ICE_INSET_SCTP_SRC_PORT | ICE_INSET_SCTP_DST_PORT)
-#define ICE_FDIR_INSET_VXLAN_IPV4 (\
+#define ICE_FDIR_INSET_VXLAN_IPV4_L (\
ICE_INSET_IPV4_SRC | ICE_INSET_IPV4_DST)
-#define ICE_FDIR_INSET_VXLAN_IPV4_TCP (\
- ICE_FDIR_INSET_VXLAN_IPV4 | \
+#define ICE_FDIR_INSET_VXLAN_IPV4_TCP_L (\
+ ICE_FDIR_INSET_VXLAN_IPV4_L | \
ICE_INSET_TCP_SRC_PORT | ICE_INSET_TCP_DST_PORT)
-#define ICE_FDIR_INSET_VXLAN_IPV4_UDP (\
- ICE_FDIR_INSET_VXLAN_IPV4 | \
+#define ICE_FDIR_INSET_VXLAN_IPV4_UDP_L (\
+ ICE_FDIR_INSET_VXLAN_IPV4_L | \
ICE_INSET_UDP_SRC_PORT | ICE_INSET_UDP_DST_PORT)
-#define ICE_FDIR_INSET_VXLAN_IPV4_SCTP (\
- ICE_FDIR_INSET_VXLAN_IPV4 | \
+#define ICE_FDIR_INSET_VXLAN_IPV4_SCTP_L (\
+ ICE_FDIR_INSET_VXLAN_IPV4_L | \
ICE_INSET_SCTP_SRC_PORT | ICE_INSET_SCTP_DST_PORT)
-#define ICE_FDIR_INSET_IPV4_GTPU (\
+#define ICE_FDIR_INSET_IPV4_GTPU_F (\
ICE_INSET_IPV4_SRC | ICE_INSET_IPV4_DST | ICE_INSET_GTPU_TEID)
-#define ICE_FDIR_INSET_IPV4_GTPU_EH (\
+#define ICE_FDIR_INSET_IPV4_GTPU_EH_F (\
ICE_INSET_IPV4_SRC | ICE_INSET_IPV4_DST | \
ICE_INSET_GTPU_TEID | ICE_INSET_GTPU_QFI)
-#define ICE_FDIR_INSET_IPV6_GTPU (\
+#define ICE_FDIR_INSET_IPV6_GTPU_F (\
ICE_INSET_IPV6_SRC | ICE_INSET_IPV6_DST | ICE_INSET_GTPU_TEID)
-#define ICE_FDIR_INSET_IPV6_GTPU_EH (\
+#define ICE_FDIR_INSET_IPV6_GTPU_EH_F (\
ICE_INSET_IPV6_SRC | ICE_INSET_IPV6_DST | \
ICE_INSET_GTPU_TEID | ICE_INSET_GTPU_QFI)
static struct ice_pattern_match_item ice_fdir_pattern_os[] = {
- {pattern_eth_ipv4, ICE_FDIR_INSET_ETH_IPV4, ICE_INSET_NONE},
- {pattern_eth_ipv4_udp, ICE_FDIR_INSET_ETH_IPV4_UDP, ICE_INSET_NONE},
- {pattern_eth_ipv4_tcp, ICE_FDIR_INSET_ETH_IPV4_TCP, ICE_INSET_NONE},
- {pattern_eth_ipv4_sctp, ICE_FDIR_INSET_ETH_IPV4_SCTP, ICE_INSET_NONE},
- {pattern_eth_ipv6, ICE_FDIR_INSET_ETH_IPV6, ICE_INSET_NONE},
- {pattern_eth_ipv6_udp, ICE_FDIR_INSET_ETH_IPV6_UDP, ICE_INSET_NONE},
- {pattern_eth_ipv6_tcp, ICE_FDIR_INSET_ETH_IPV6_TCP, ICE_INSET_NONE},
- {pattern_eth_ipv6_sctp, ICE_FDIR_INSET_ETH_IPV6_SCTP, ICE_INSET_NONE},
- {pattern_eth_ipv4_udp_vxlan_ipv4,
- ICE_FDIR_INSET_VXLAN_IPV4, ICE_INSET_NONE},
- {pattern_eth_ipv4_udp_vxlan_ipv4_udp,
- ICE_FDIR_INSET_VXLAN_IPV4_UDP, ICE_INSET_NONE},
- {pattern_eth_ipv4_udp_vxlan_ipv4_tcp,
- ICE_FDIR_INSET_VXLAN_IPV4_TCP, ICE_INSET_NONE},
- {pattern_eth_ipv4_udp_vxlan_ipv4_sctp,
- ICE_FDIR_INSET_VXLAN_IPV4_SCTP, ICE_INSET_NONE},
- {pattern_eth_ipv4_udp_vxlan_eth_ipv4,
- ICE_FDIR_INSET_VXLAN_IPV4, ICE_INSET_NONE},
- {pattern_eth_ipv4_udp_vxlan_eth_ipv4_udp,
- ICE_FDIR_INSET_VXLAN_IPV4_UDP, ICE_INSET_NONE},
- {pattern_eth_ipv4_udp_vxlan_eth_ipv4_tcp,
- ICE_FDIR_INSET_VXLAN_IPV4_TCP, ICE_INSET_NONE},
- {pattern_eth_ipv4_udp_vxlan_eth_ipv4_sctp,
- ICE_FDIR_INSET_VXLAN_IPV4_SCTP, ICE_INSET_NONE},
+ {pattern_eth_ipv4, ICE_INSET_NONE, ICE_FDIR_INSET_ETH_IPV4, ICE_INSET_NONE},
+ {pattern_eth_ipv4_udp, ICE_INSET_NONE, ICE_FDIR_INSET_ETH_IPV4_UDP, ICE_INSET_NONE},
+ {pattern_eth_ipv4_tcp, ICE_INSET_NONE, ICE_FDIR_INSET_ETH_IPV4_TCP, ICE_INSET_NONE},
+ {pattern_eth_ipv4_sctp, ICE_INSET_NONE, ICE_FDIR_INSET_ETH_IPV4_SCTP, ICE_INSET_NONE},
+ {pattern_eth_ipv6, ICE_INSET_NONE, ICE_FDIR_INSET_ETH_IPV6, ICE_INSET_NONE},
+ {pattern_eth_ipv6_udp, ICE_INSET_NONE, ICE_FDIR_INSET_ETH_IPV6_UDP, ICE_INSET_NONE},
+ {pattern_eth_ipv6_tcp, ICE_INSET_NONE, ICE_FDIR_INSET_ETH_IPV6_TCP, ICE_INSET_NONE},
+ {pattern_eth_ipv6_sctp, ICE_INSET_NONE, ICE_FDIR_INSET_ETH_IPV6_SCTP, ICE_INSET_NONE},
+ {pattern_eth_ipv4_udp_vxlan_ipv4, ICE_INSET_NONE, ICE_FDIR_INSET_VXLAN_IPV4_L, ICE_INSET_NONE},
+ {pattern_eth_ipv4_udp_vxlan_ipv4_udp, ICE_INSET_NONE, ICE_FDIR_INSET_VXLAN_IPV4_UDP_L, ICE_INSET_NONE},
+ {pattern_eth_ipv4_udp_vxlan_ipv4_tcp, ICE_INSET_NONE, ICE_FDIR_INSET_VXLAN_IPV4_TCP_L, ICE_INSET_NONE},
+ {pattern_eth_ipv4_udp_vxlan_ipv4_sctp, ICE_INSET_NONE, ICE_FDIR_INSET_VXLAN_IPV4_SCTP_L, ICE_INSET_NONE},
+ {pattern_eth_ipv4_udp_vxlan_eth_ipv4, ICE_INSET_NONE, ICE_FDIR_INSET_VXLAN_IPV4_L, ICE_INSET_NONE},
+ {pattern_eth_ipv4_udp_vxlan_eth_ipv4_udp, ICE_INSET_NONE, ICE_FDIR_INSET_VXLAN_IPV4_UDP_L, ICE_INSET_NONE},
+ {pattern_eth_ipv4_udp_vxlan_eth_ipv4_tcp, ICE_INSET_NONE, ICE_FDIR_INSET_VXLAN_IPV4_TCP_L, ICE_INSET_NONE},
+ {pattern_eth_ipv4_udp_vxlan_eth_ipv4_sctp, ICE_INSET_NONE, ICE_FDIR_INSET_VXLAN_IPV4_SCTP_L, ICE_INSET_NONE},
};
static struct ice_pattern_match_item ice_fdir_pattern_comms[] = {
- {pattern_ethertype, ICE_FDIR_INSET_ETH, ICE_INSET_NONE},
- {pattern_eth_ipv4, ICE_FDIR_INSET_ETH_IPV4, ICE_INSET_NONE},
- {pattern_eth_ipv4_udp, ICE_FDIR_INSET_ETH_IPV4_UDP, ICE_INSET_NONE},
- {pattern_eth_ipv4_tcp, ICE_FDIR_INSET_ETH_IPV4_TCP, ICE_INSET_NONE},
- {pattern_eth_ipv4_sctp, ICE_FDIR_INSET_ETH_IPV4_SCTP, ICE_INSET_NONE},
- {pattern_eth_ipv6, ICE_FDIR_INSET_ETH_IPV6, ICE_INSET_NONE},
- {pattern_eth_ipv6_udp, ICE_FDIR_INSET_ETH_IPV6_UDP, ICE_INSET_NONE},
- {pattern_eth_ipv6_tcp, ICE_FDIR_INSET_ETH_IPV6_TCP, ICE_INSET_NONE},
- {pattern_eth_ipv6_sctp, ICE_FDIR_INSET_ETH_IPV6_SCTP, ICE_INSET_NONE},
- {pattern_eth_ipv4_udp_vxlan_ipv4,
- ICE_FDIR_INSET_VXLAN_IPV4, ICE_INSET_NONE},
- {pattern_eth_ipv4_udp_vxlan_ipv4_udp,
- ICE_FDIR_INSET_VXLAN_IPV4_UDP, ICE_INSET_NONE},
- {pattern_eth_ipv4_udp_vxlan_ipv4_tcp,
- ICE_FDIR_INSET_VXLAN_IPV4_TCP, ICE_INSET_NONE},
- {pattern_eth_ipv4_udp_vxlan_ipv4_sctp,
- ICE_FDIR_INSET_VXLAN_IPV4_SCTP, ICE_INSET_NONE},
- {pattern_eth_ipv4_udp_vxlan_eth_ipv4,
- ICE_FDIR_INSET_VXLAN_IPV4, ICE_INSET_NONE},
- {pattern_eth_ipv4_udp_vxlan_eth_ipv4_udp,
- ICE_FDIR_INSET_VXLAN_IPV4_UDP, ICE_INSET_NONE},
- {pattern_eth_ipv4_udp_vxlan_eth_ipv4_tcp,
- ICE_FDIR_INSET_VXLAN_IPV4_TCP, ICE_INSET_NONE},
- {pattern_eth_ipv4_udp_vxlan_eth_ipv4_sctp,
- ICE_FDIR_INSET_VXLAN_IPV4_SCTP, ICE_INSET_NONE},
- {pattern_eth_ipv4_gtpu, ICE_FDIR_INSET_IPV4_GTPU, ICE_INSET_NONE},
- {pattern_eth_ipv4_gtpu_eh, ICE_FDIR_INSET_IPV4_GTPU_EH, ICE_INSET_NONE},
- {pattern_eth_ipv6_gtpu, ICE_FDIR_INSET_IPV6_GTPU, ICE_INSET_NONE},
- {pattern_eth_ipv6_gtpu_eh, ICE_FDIR_INSET_IPV6_GTPU_EH, ICE_INSET_NONE},
+ {pattern_ethertype, ICE_INSET_NONE, ICE_FDIR_INSET_ETH, ICE_INSET_NONE},
+ {pattern_eth_ipv4, ICE_INSET_NONE, ICE_FDIR_INSET_ETH_IPV4, ICE_INSET_NONE},
+ {pattern_eth_ipv4_udp, ICE_INSET_NONE, ICE_FDIR_INSET_ETH_IPV4_UDP, ICE_INSET_NONE},
+ {pattern_eth_ipv4_tcp, ICE_INSET_NONE, ICE_FDIR_INSET_ETH_IPV4_TCP, ICE_INSET_NONE},
+ {pattern_eth_ipv4_sctp, ICE_INSET_NONE, ICE_FDIR_INSET_ETH_IPV4_SCTP, ICE_INSET_NONE},
+ {pattern_eth_ipv6, ICE_INSET_NONE, ICE_FDIR_INSET_ETH_IPV6, ICE_INSET_NONE},
+ {pattern_eth_ipv6_udp, ICE_INSET_NONE, ICE_FDIR_INSET_ETH_IPV6_UDP, ICE_INSET_NONE},
+ {pattern_eth_ipv4_udp_vxlan_ipv4, ICE_INSET_NONE, ICE_FDIR_INSET_VXLAN_IPV4_L, ICE_INSET_NONE},
+ {pattern_eth_ipv4_udp_vxlan_ipv4_udp, ICE_INSET_NONE, ICE_FDIR_INSET_VXLAN_IPV4_UDP_L, ICE_INSET_NONE},
+ {pattern_eth_ipv4_udp_vxlan_ipv4_tcp, ICE_INSET_NONE, ICE_FDIR_INSET_VXLAN_IPV4_TCP_L, ICE_INSET_NONE},
+ {pattern_eth_ipv4_udp_vxlan_ipv4_sctp, ICE_INSET_NONE, ICE_FDIR_INSET_VXLAN_IPV4_SCTP_L, ICE_INSET_NONE},
+ {pattern_eth_ipv4_udp_vxlan_eth_ipv4, ICE_INSET_NONE, ICE_FDIR_INSET_VXLAN_IPV4_L, ICE_INSET_NONE},
+ {pattern_eth_ipv4_udp_vxlan_eth_ipv4_udp, ICE_INSET_NONE, ICE_FDIR_INSET_VXLAN_IPV4_UDP_L, ICE_INSET_NONE},
+ {pattern_eth_ipv4_udp_vxlan_eth_ipv4_tcp, ICE_INSET_NONE, ICE_FDIR_INSET_VXLAN_IPV4_TCP_L, ICE_INSET_NONE},
+ {pattern_eth_ipv4_udp_vxlan_eth_ipv4_sctp, ICE_INSET_NONE, ICE_FDIR_INSET_VXLAN_IPV4_SCTP_L, ICE_INSET_NONE},
+ {pattern_eth_ipv4_gtpu, ICE_FDIR_INSET_IPV4_GTPU_F, ICE_INSET_NONE, ICE_INSET_NONE},
+ {pattern_eth_ipv4_gtpu_eh, ICE_FDIR_INSET_IPV4_GTPU_EH_F, ICE_INSET_NONE, ICE_INSET_NONE},
+ {pattern_eth_ipv6_gtpu, ICE_FDIR_INSET_IPV6_GTPU_F, ICE_INSET_NONE, ICE_INSET_NONE},
+ {pattern_eth_ipv6_gtpu_eh, ICE_FDIR_INSET_IPV6_GTPU_EH_F, ICE_INSET_NONE, ICE_INSET_NONE},
};
static struct ice_flow_parser ice_fdir_parser_os;
@@ -473,6 +473,7 @@ enum ice_flow_classification_stage {
struct ice_pattern_match_item {
enum rte_flow_item_type *pattern_list;
/* pattern_list must end with RTE_FLOW_ITEM_TYPE_END */
+ uint64_t input_set_mask_f;
uint64_t input_set_mask;
void *meta;
};
@@ -315,135 +315,77 @@ struct rss_type_match_hdr hint_eth_pppoes = {
/* Supported pattern for os default package. */
static struct ice_pattern_match_item ice_hash_pattern_list_os[] = {
- {pattern_eth_ipv4, ICE_INSET_NONE, &hint_eth_ipv4},
- {pattern_eth_ipv4_udp, ICE_INSET_NONE, &hint_eth_ipv4_udp},
- {pattern_eth_ipv4_tcp, ICE_INSET_NONE, &hint_eth_ipv4_tcp},
- {pattern_eth_ipv4_sctp, ICE_INSET_NONE, &hint_eth_ipv4_sctp},
- {pattern_eth_ipv6, ICE_INSET_NONE, &hint_eth_ipv6},
- {pattern_eth_ipv6_udp, ICE_INSET_NONE, &hint_eth_ipv6_udp},
- {pattern_eth_ipv6_tcp, ICE_INSET_NONE, &hint_eth_ipv6_tcp},
- {pattern_eth_ipv6_sctp, ICE_INSET_NONE, &hint_eth_ipv6_sctp},
- {pattern_empty, ICE_INSET_NONE, &hint_empty},
+ {pattern_eth_ipv4, ICE_INSET_NONE, ICE_INSET_NONE, &hint_eth_ipv4},
+ {pattern_eth_ipv4_udp, ICE_INSET_NONE, ICE_INSET_NONE, &hint_eth_ipv4_udp},
+ {pattern_eth_ipv4_tcp, ICE_INSET_NONE, ICE_INSET_NONE, &hint_eth_ipv4_tcp},
+ {pattern_eth_ipv4_sctp, ICE_INSET_NONE, ICE_INSET_NONE, &hint_eth_ipv4_sctp},
+ {pattern_eth_ipv6, ICE_INSET_NONE, ICE_INSET_NONE, &hint_eth_ipv6},
+ {pattern_eth_ipv6_udp, ICE_INSET_NONE, ICE_INSET_NONE, &hint_eth_ipv6_udp},
+ {pattern_eth_ipv6_tcp, ICE_INSET_NONE, ICE_INSET_NONE, &hint_eth_ipv6_tcp},
+ {pattern_eth_ipv6_sctp, ICE_INSET_NONE, ICE_INSET_NONE, &hint_eth_ipv6_sctp},
+ {pattern_empty, ICE_INSET_NONE, ICE_INSET_NONE, &hint_empty},
};
/* Supported pattern for comms package. */
static struct ice_pattern_match_item ice_hash_pattern_list_comms[] = {
- {pattern_empty, ICE_INSET_NONE,
- &hint_empty},
- {pattern_eth_ipv4, ICE_INSET_NONE,
- &hint_eth_ipv4},
- {pattern_eth_ipv4_udp, ICE_INSET_NONE,
- &hint_eth_ipv4_udp},
- {pattern_eth_ipv4_tcp, ICE_INSET_NONE,
- &hint_eth_ipv4_tcp},
- {pattern_eth_ipv4_sctp, ICE_INSET_NONE,
- &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,
- &hint_eth_pppoes_ipv4_udp},
- {pattern_eth_pppoes_ipv4_tcp, ICE_INSET_NONE,
- &hint_eth_pppoes_ipv4_tcp},
- {pattern_eth_ipv4_esp, ICE_INSET_NONE,
- &hint_eth_ipv4_esp},
- {pattern_eth_ipv4_udp_esp, ICE_INSET_NONE,
- &hint_eth_ipv4_udp_esp},
- {pattern_eth_ipv4_ah, ICE_INSET_NONE,
- &hint_eth_ipv4_ah},
- {pattern_eth_ipv4_l2tp, ICE_INSET_NONE,
- &hint_eth_ipv4_l2tpv3},
- {pattern_eth_ipv4_pfcp, ICE_INSET_NONE,
- &hint_eth_ipv4_pfcp},
- {pattern_eth_vlan_ipv4, ICE_INSET_NONE,
- &hint_eth_vlan_ipv4},
- {pattern_eth_vlan_ipv4_udp, ICE_INSET_NONE,
- &hint_eth_vlan_ipv4_udp},
- {pattern_eth_vlan_ipv4_tcp, ICE_INSET_NONE,
- &hint_eth_vlan_ipv4_tcp},
- {pattern_eth_vlan_ipv4_sctp, ICE_INSET_NONE,
- &hint_eth_vlan_ipv4_sctp},
- {pattern_eth_ipv6, ICE_INSET_NONE,
- &hint_eth_ipv6},
- {pattern_eth_ipv6_udp, ICE_INSET_NONE,
- &hint_eth_ipv6_udp},
- {pattern_eth_ipv6_tcp, ICE_INSET_NONE,
- &hint_eth_ipv6_tcp},
- {pattern_eth_ipv6_sctp, ICE_INSET_NONE,
- &hint_eth_ipv6_sctp},
- {pattern_eth_ipv6_esp, ICE_INSET_NONE,
- &hint_eth_ipv6_esp},
- {pattern_eth_ipv6_udp_esp, ICE_INSET_NONE,
- &hint_eth_ipv6_udp_esp},
- {pattern_eth_ipv6_ah, ICE_INSET_NONE,
- &hint_eth_ipv6_ah},
- {pattern_eth_ipv6_l2tp, ICE_INSET_NONE,
- &hint_eth_ipv6_l2tpv3},
- {pattern_eth_ipv6_pfcp, ICE_INSET_NONE,
- &hint_eth_ipv6_pfcp},
- {pattern_eth_vlan_ipv6, ICE_INSET_NONE,
- &hint_eth_vlan_ipv6},
- {pattern_eth_vlan_ipv6_udp, ICE_INSET_NONE,
- &hint_eth_vlan_ipv6_udp},
- {pattern_eth_vlan_ipv6_tcp, ICE_INSET_NONE,
- &hint_eth_vlan_ipv6_tcp},
- {pattern_eth_vlan_ipv6_sctp, ICE_INSET_NONE,
- &hint_eth_vlan_ipv6_sctp},
- {pattern_eth_pppoes_ipv6, ICE_INSET_NONE,
- &hint_eth_pppoes_ipv6},
- {pattern_eth_pppoes_ipv6_udp, ICE_INSET_NONE,
- &hint_eth_pppoes_ipv6_udp},
- {pattern_eth_pppoes_ipv6_tcp, ICE_INSET_NONE,
- &hint_eth_pppoes_ipv6_tcp},
- {pattern_eth_pppoes, ICE_INSET_NONE,
- &hint_eth_pppoes},
+ {pattern_empty, ICE_INSET_NONE, ICE_INSET_NONE, &hint_empty},
+ {pattern_eth_ipv4, ICE_INSET_NONE, ICE_INSET_NONE, &hint_eth_ipv4},
+ {pattern_eth_ipv4_udp, ICE_INSET_NONE, ICE_INSET_NONE, &hint_eth_ipv4_udp},
+ {pattern_eth_ipv4_tcp, ICE_INSET_NONE, ICE_INSET_NONE, &hint_eth_ipv4_tcp},
+ {pattern_eth_ipv4_sctp, ICE_INSET_NONE, ICE_INSET_NONE, &hint_eth_ipv4_sctp},
+ {pattern_eth_ipv4_gtpu_ipv4, ICE_INSET_NONE, ICE_INSET_NONE, &hint_eth_ipv4_gtpu_ipv4},
+ {pattern_eth_ipv4_gtpu_ipv4_udp, ICE_INSET_NONE, ICE_INSET_NONE, &hint_eth_ipv4_gtpu_ipv4_udp},
+ {pattern_eth_ipv4_gtpu_ipv4_tcp, ICE_INSET_NONE, ICE_INSET_NONE, &hint_eth_ipv4_gtpu_ipv4_tcp},
+ {pattern_eth_ipv4_gtpu_ipv6, ICE_INSET_NONE, ICE_INSET_NONE, &hint_eth_ipv4_gtpu_ipv6},
+ {pattern_eth_ipv4_gtpu_ipv6_udp, ICE_INSET_NONE, ICE_INSET_NONE, &hint_eth_ipv4_gtpu_ipv6_udp},
+ {pattern_eth_ipv4_gtpu_ipv6_tcp, ICE_INSET_NONE, ICE_INSET_NONE, &hint_eth_ipv4_gtpu_ipv6_tcp},
+ {pattern_eth_ipv6_gtpu_ipv4, ICE_INSET_NONE, ICE_INSET_NONE, &hint_eth_ipv6_gtpu_ipv4},
+ {pattern_eth_ipv6_gtpu_ipv4_udp, ICE_INSET_NONE, ICE_INSET_NONE, &hint_eth_ipv6_gtpu_ipv4_udp},
+ {pattern_eth_ipv6_gtpu_ipv4_tcp, ICE_INSET_NONE, ICE_INSET_NONE, &hint_eth_ipv6_gtpu_ipv4_tcp},
+ {pattern_eth_ipv6_gtpu_ipv6, ICE_INSET_NONE, ICE_INSET_NONE, &hint_eth_ipv6_gtpu_ipv6},
+ {pattern_eth_ipv6_gtpu_ipv6_udp, ICE_INSET_NONE, ICE_INSET_NONE, &hint_eth_ipv6_gtpu_ipv6_udp},
+ {pattern_eth_ipv6_gtpu_ipv6_tcp, ICE_INSET_NONE, ICE_INSET_NONE, &hint_eth_ipv6_gtpu_ipv6_tcp},
+ {pattern_eth_ipv4_gtpu_eh_ipv4, ICE_INSET_NONE, ICE_INSET_NONE, &hint_eth_ipv4_gtpu_eh_ipv4},
+ {pattern_eth_ipv4_gtpu_eh_ipv4_udp, ICE_INSET_NONE, ICE_INSET_NONE, &hint_eth_ipv4_gtpu_eh_ipv4_udp},
+ {pattern_eth_ipv4_gtpu_eh_ipv4_tcp, ICE_INSET_NONE, ICE_INSET_NONE, &hint_eth_ipv4_gtpu_eh_ipv4_tcp},
+ {pattern_eth_ipv4_gtpu_eh_ipv6, ICE_INSET_NONE, ICE_INSET_NONE, &hint_eth_ipv4_gtpu_eh_ipv6},
+ {pattern_eth_ipv4_gtpu_eh_ipv6_udp, ICE_INSET_NONE, ICE_INSET_NONE, &hint_eth_ipv4_gtpu_eh_ipv6_udp},
+ {pattern_eth_ipv4_gtpu_eh_ipv6_tcp, ICE_INSET_NONE, ICE_INSET_NONE, &hint_eth_ipv4_gtpu_eh_ipv6_tcp},
+ {pattern_eth_ipv6_gtpu_eh_ipv4, ICE_INSET_NONE, ICE_INSET_NONE, &hint_eth_ipv6_gtpu_eh_ipv4},
+ {pattern_eth_ipv6_gtpu_eh_ipv4_udp, ICE_INSET_NONE, ICE_INSET_NONE, &hint_eth_ipv6_gtpu_eh_ipv4_udp},
+ {pattern_eth_ipv6_gtpu_eh_ipv4_tcp, ICE_INSET_NONE, ICE_INSET_NONE, &hint_eth_ipv6_gtpu_eh_ipv4_tcp},
+ {pattern_eth_ipv6_gtpu_eh_ipv6, ICE_INSET_NONE, ICE_INSET_NONE, &hint_eth_ipv6_gtpu_eh_ipv6},
+ {pattern_eth_ipv6_gtpu_eh_ipv6_udp, ICE_INSET_NONE, ICE_INSET_NONE, &hint_eth_ipv6_gtpu_eh_ipv6_udp},
+ {pattern_eth_ipv6_gtpu_eh_ipv6_tcp, ICE_INSET_NONE, ICE_INSET_NONE, &hint_eth_ipv6_gtpu_eh_ipv6_tcp},
+ {pattern_eth_pppoes_ipv4, ICE_INSET_NONE, ICE_INSET_NONE, &hint_eth_pppoes_ipv4},
+ {pattern_eth_pppoes_ipv4_udp, ICE_INSET_NONE, ICE_INSET_NONE, &hint_eth_pppoes_ipv4_udp},
+ {pattern_eth_pppoes_ipv4_tcp, ICE_INSET_NONE, ICE_INSET_NONE, &hint_eth_pppoes_ipv4_tcp},
+ {pattern_eth_ipv4_esp, ICE_INSET_NONE, ICE_INSET_NONE, &hint_eth_ipv4_esp},
+ {pattern_eth_ipv4_udp_esp, ICE_INSET_NONE, ICE_INSET_NONE, &hint_eth_ipv4_udp_esp},
+ {pattern_eth_ipv4_ah, ICE_INSET_NONE, ICE_INSET_NONE, &hint_eth_ipv4_ah},
+ {pattern_eth_ipv4_l2tp, ICE_INSET_NONE, ICE_INSET_NONE, &hint_eth_ipv4_l2tpv3},
+ {pattern_eth_ipv4_pfcp, ICE_INSET_NONE, ICE_INSET_NONE, &hint_eth_ipv4_pfcp},
+ {pattern_eth_vlan_ipv4, ICE_INSET_NONE, ICE_INSET_NONE, &hint_eth_vlan_ipv4},
+ {pattern_eth_vlan_ipv4_udp, ICE_INSET_NONE, ICE_INSET_NONE, &hint_eth_vlan_ipv4_udp},
+ {pattern_eth_vlan_ipv4_tcp, ICE_INSET_NONE, ICE_INSET_NONE, &hint_eth_vlan_ipv4_tcp},
+ {pattern_eth_vlan_ipv4_sctp, ICE_INSET_NONE, ICE_INSET_NONE, &hint_eth_vlan_ipv4_sctp},
+ {pattern_eth_ipv6, ICE_INSET_NONE, ICE_INSET_NONE, &hint_eth_ipv6},
+ {pattern_eth_ipv6_udp, ICE_INSET_NONE, ICE_INSET_NONE, &hint_eth_ipv6_udp},
+ {pattern_eth_ipv6_tcp, ICE_INSET_NONE, ICE_INSET_NONE, &hint_eth_ipv6_tcp},
+ {pattern_eth_ipv6_sctp, ICE_INSET_NONE, ICE_INSET_NONE, &hint_eth_ipv6_sctp},
+ {pattern_eth_ipv6_esp, ICE_INSET_NONE, ICE_INSET_NONE, &hint_eth_ipv6_esp},
+ {pattern_eth_ipv6_udp_esp, ICE_INSET_NONE, ICE_INSET_NONE, &hint_eth_ipv6_udp_esp},
+ {pattern_eth_ipv6_ah, ICE_INSET_NONE, ICE_INSET_NONE, &hint_eth_ipv6_ah},
+ {pattern_eth_ipv6_l2tp, ICE_INSET_NONE, ICE_INSET_NONE, &hint_eth_ipv6_l2tpv3},
+ {pattern_eth_ipv6_pfcp, ICE_INSET_NONE, ICE_INSET_NONE, &hint_eth_ipv6_pfcp},
+ {pattern_eth_vlan_ipv6, ICE_INSET_NONE, ICE_INSET_NONE, &hint_eth_vlan_ipv6},
+ {pattern_eth_vlan_ipv6_udp, ICE_INSET_NONE, ICE_INSET_NONE, &hint_eth_vlan_ipv6_udp},
+ {pattern_eth_vlan_ipv6_tcp, ICE_INSET_NONE, ICE_INSET_NONE, &hint_eth_vlan_ipv6_tcp},
+ {pattern_eth_vlan_ipv6_sctp, ICE_INSET_NONE, ICE_INSET_NONE, &hint_eth_vlan_ipv6_sctp},
+ {pattern_eth_pppoes_ipv6, ICE_INSET_NONE, ICE_INSET_NONE, &hint_eth_pppoes_ipv6},
+ {pattern_eth_pppoes_ipv6_udp, ICE_INSET_NONE, ICE_INSET_NONE, &hint_eth_pppoes_ipv6_udp},
+ {pattern_eth_pppoes_ipv6_tcp, ICE_INSET_NONE, ICE_INSET_NONE, &hint_eth_pppoes_ipv6_tcp},
+ {pattern_eth_pppoes, ICE_INSET_NONE, ICE_INSET_NONE, &hint_eth_pppoes},
};
/**
@@ -35,8 +35,8 @@
#define ICE_SW_INSET_ETHER ( \
ICE_INSET_DMAC | ICE_INSET_SMAC | ICE_INSET_ETHERTYPE)
#define ICE_SW_INSET_MAC_VLAN ( \
- ICE_INSET_DMAC | ICE_INSET_SMAC | ICE_INSET_ETHERTYPE | \
- ICE_INSET_VLAN_OUTER)
+ ICE_INSET_DMAC | ICE_INSET_SMAC | ICE_INSET_ETHERTYPE | \
+ ICE_INSET_VLAN_OUTER)
#define ICE_SW_INSET_MAC_IPV4 ( \
ICE_INSET_DMAC | ICE_INSET_IPV4_DST | ICE_INSET_IPV4_SRC | \
ICE_INSET_IPV4_PROTO | ICE_INSET_IPV4_TTL | ICE_INSET_IPV4_TOS)
@@ -93,7 +93,7 @@
ICE_INSET_TUN_IPV4_SRC | ICE_INSET_TUN_IPV4_DST | \
ICE_INSET_TUN_UDP_SRC_PORT | ICE_INSET_TUN_UDP_DST_PORT | \
ICE_INSET_TUN_IPV4_TOS)
-#define ICE_SW_INSET_MAC_PPPOE ( \
+#define ICE_SW_INSET_MAC_PPPOE ( \
ICE_INSET_VLAN_OUTER | ICE_INSET_VLAN_INNER | \
ICE_INSET_DMAC | ICE_INSET_ETHERTYPE | ICE_INSET_PPPOE_SESSION)
#define ICE_SW_INSET_MAC_PPPOE_PROTO ( \
@@ -144,246 +144,132 @@ static struct ice_flow_parser ice_switch_perm_parser_comms;
static struct
ice_pattern_match_item ice_switch_pattern_dist_os[] = {
- {pattern_ethertype,
- ICE_SW_INSET_ETHER, ICE_INSET_NONE},
- {pattern_ethertype_vlan,
- ICE_SW_INSET_MAC_VLAN, ICE_INSET_NONE},
- {pattern_eth_arp,
- ICE_INSET_NONE, ICE_INSET_NONE},
- {pattern_eth_ipv4,
- ICE_SW_INSET_MAC_IPV4, ICE_INSET_NONE},
- {pattern_eth_ipv4_udp,
- ICE_SW_INSET_MAC_IPV4_UDP, ICE_INSET_NONE},
- {pattern_eth_ipv4_tcp,
- ICE_SW_INSET_MAC_IPV4_TCP, ICE_INSET_NONE},
- {pattern_eth_ipv6,
- ICE_SW_INSET_MAC_IPV6, ICE_INSET_NONE},
- {pattern_eth_ipv6_udp,
- ICE_SW_INSET_MAC_IPV6_UDP, ICE_INSET_NONE},
- {pattern_eth_ipv6_tcp,
- ICE_SW_INSET_MAC_IPV6_TCP, ICE_INSET_NONE},
- {pattern_eth_ipv4_udp_vxlan_eth_ipv4,
- ICE_SW_INSET_DIST_VXLAN_IPV4, ICE_INSET_NONE},
- {pattern_eth_ipv4_udp_vxlan_eth_ipv4_udp,
- ICE_SW_INSET_DIST_VXLAN_IPV4_UDP, ICE_INSET_NONE},
- {pattern_eth_ipv4_udp_vxlan_eth_ipv4_tcp,
- ICE_SW_INSET_DIST_VXLAN_IPV4_TCP, ICE_INSET_NONE},
- {pattern_eth_ipv4_nvgre_eth_ipv4,
- ICE_SW_INSET_DIST_NVGRE_IPV4, ICE_INSET_NONE},
- {pattern_eth_ipv4_nvgre_eth_ipv4_udp,
- ICE_SW_INSET_DIST_NVGRE_IPV4_UDP, ICE_INSET_NONE},
- {pattern_eth_ipv4_nvgre_eth_ipv4_tcp,
- ICE_SW_INSET_DIST_NVGRE_IPV4_TCP, ICE_INSET_NONE},
+ {pattern_ethertype, ICE_INSET_NONE, ICE_SW_INSET_ETHER, ICE_INSET_NONE},
+ {pattern_ethertype_vlan, ICE_INSET_NONE, ICE_SW_INSET_MAC_VLAN, ICE_INSET_NONE},
+ {pattern_eth_arp, ICE_INSET_NONE, ICE_INSET_NONE, ICE_INSET_NONE},
+ {pattern_eth_ipv4, ICE_INSET_NONE, ICE_SW_INSET_MAC_IPV4, ICE_INSET_NONE},
+ {pattern_eth_ipv4_udp, ICE_INSET_NONE, ICE_SW_INSET_MAC_IPV4_UDP, ICE_INSET_NONE},
+ {pattern_eth_ipv4_tcp, ICE_INSET_NONE, ICE_SW_INSET_MAC_IPV4_TCP, ICE_INSET_NONE},
+ {pattern_eth_ipv6, ICE_INSET_NONE, ICE_SW_INSET_MAC_IPV6, ICE_INSET_NONE},
+ {pattern_eth_ipv6_udp, ICE_INSET_NONE, ICE_SW_INSET_MAC_IPV6_UDP, ICE_INSET_NONE},
+ {pattern_eth_ipv6_tcp, ICE_INSET_NONE, ICE_SW_INSET_MAC_IPV6_TCP, ICE_INSET_NONE},
+ {pattern_eth_ipv4_udp_vxlan_eth_ipv4, ICE_INSET_NONE, ICE_SW_INSET_DIST_VXLAN_IPV4, ICE_INSET_NONE},
+ {pattern_eth_ipv4_udp_vxlan_eth_ipv4_udp, ICE_INSET_NONE, ICE_SW_INSET_DIST_VXLAN_IPV4_UDP, ICE_INSET_NONE},
+ {pattern_eth_ipv4_udp_vxlan_eth_ipv4_tcp, ICE_INSET_NONE, ICE_SW_INSET_DIST_VXLAN_IPV4_TCP, ICE_INSET_NONE},
+ {pattern_eth_ipv4_nvgre_eth_ipv4, ICE_INSET_NONE, ICE_SW_INSET_DIST_NVGRE_IPV4, ICE_INSET_NONE},
+ {pattern_eth_ipv4_nvgre_eth_ipv4_udp, ICE_INSET_NONE, ICE_SW_INSET_DIST_NVGRE_IPV4_UDP, ICE_INSET_NONE},
+ {pattern_eth_ipv4_nvgre_eth_ipv4_tcp, ICE_INSET_NONE, ICE_SW_INSET_DIST_NVGRE_IPV4_TCP, ICE_INSET_NONE},
};
static struct
ice_pattern_match_item ice_switch_pattern_dist_comms[] = {
- {pattern_ethertype,
- ICE_SW_INSET_ETHER, ICE_INSET_NONE},
- {pattern_ethertype_vlan,
- ICE_SW_INSET_MAC_VLAN, ICE_INSET_NONE},
- {pattern_eth_arp,
- ICE_INSET_NONE, ICE_INSET_NONE},
- {pattern_eth_ipv4,
- ICE_SW_INSET_MAC_IPV4, ICE_INSET_NONE},
- {pattern_eth_ipv4_udp,
- ICE_SW_INSET_MAC_IPV4_UDP, ICE_INSET_NONE},
- {pattern_eth_ipv4_tcp,
- ICE_SW_INSET_MAC_IPV4_TCP, ICE_INSET_NONE},
- {pattern_eth_ipv6,
- ICE_SW_INSET_MAC_IPV6, ICE_INSET_NONE},
- {pattern_eth_ipv6_udp,
- ICE_SW_INSET_MAC_IPV6_UDP, ICE_INSET_NONE},
- {pattern_eth_ipv6_tcp,
- ICE_SW_INSET_MAC_IPV6_TCP, ICE_INSET_NONE},
- {pattern_eth_ipv4_udp_vxlan_eth_ipv4,
- ICE_SW_INSET_DIST_VXLAN_IPV4, ICE_INSET_NONE},
- {pattern_eth_ipv4_udp_vxlan_eth_ipv4_udp,
- ICE_SW_INSET_DIST_VXLAN_IPV4_UDP, ICE_INSET_NONE},
- {pattern_eth_ipv4_udp_vxlan_eth_ipv4_tcp,
- ICE_SW_INSET_DIST_VXLAN_IPV4_TCP, ICE_INSET_NONE},
- {pattern_eth_ipv4_nvgre_eth_ipv4,
- ICE_SW_INSET_DIST_NVGRE_IPV4, ICE_INSET_NONE},
- {pattern_eth_ipv4_nvgre_eth_ipv4_udp,
- ICE_SW_INSET_DIST_NVGRE_IPV4_UDP, ICE_INSET_NONE},
- {pattern_eth_ipv4_nvgre_eth_ipv4_tcp,
- ICE_SW_INSET_DIST_NVGRE_IPV4_TCP, ICE_INSET_NONE},
- {pattern_eth_pppoes,
- ICE_SW_INSET_MAC_PPPOE, ICE_INSET_NONE},
- {pattern_eth_vlan_pppoes,
- ICE_SW_INSET_MAC_PPPOE, ICE_INSET_NONE},
- {pattern_eth_pppoes_proto,
- ICE_SW_INSET_MAC_PPPOE_PROTO, ICE_INSET_NONE},
- {pattern_eth_vlan_pppoes_proto,
- ICE_SW_INSET_MAC_PPPOE_PROTO, ICE_INSET_NONE},
- {pattern_eth_pppoes_ipv4,
- ICE_SW_INSET_MAC_PPPOE_IPV4, ICE_INSET_NONE},
- {pattern_eth_pppoes_ipv4_tcp,
- ICE_SW_INSET_MAC_PPPOE_IPV4_TCP, ICE_INSET_NONE},
- {pattern_eth_pppoes_ipv4_udp,
- ICE_SW_INSET_MAC_PPPOE_IPV4_UDP, ICE_INSET_NONE},
- {pattern_eth_pppoes_ipv6,
- ICE_SW_INSET_MAC_PPPOE_IPV6, ICE_INSET_NONE},
- {pattern_eth_pppoes_ipv6_tcp,
- ICE_SW_INSET_MAC_PPPOE_IPV6_TCP, ICE_INSET_NONE},
- {pattern_eth_pppoes_ipv6_udp,
- ICE_SW_INSET_MAC_PPPOE_IPV6_UDP, ICE_INSET_NONE},
- {pattern_eth_vlan_pppoes_ipv4,
- ICE_SW_INSET_MAC_PPPOE_IPV4, ICE_INSET_NONE},
- {pattern_eth_vlan_pppoes_ipv4_tcp,
- ICE_SW_INSET_MAC_PPPOE_IPV4_TCP, ICE_INSET_NONE},
- {pattern_eth_vlan_pppoes_ipv4_udp,
- ICE_SW_INSET_MAC_PPPOE_IPV4_UDP, ICE_INSET_NONE},
- {pattern_eth_vlan_pppoes_ipv6,
- ICE_SW_INSET_MAC_PPPOE_IPV6, ICE_INSET_NONE},
- {pattern_eth_vlan_pppoes_ipv6_tcp,
- ICE_SW_INSET_MAC_PPPOE_IPV6_TCP, ICE_INSET_NONE},
- {pattern_eth_vlan_pppoes_ipv6_udp,
- ICE_SW_INSET_MAC_PPPOE_IPV6_UDP, ICE_INSET_NONE},
- {pattern_eth_ipv4_esp,
- ICE_SW_INSET_MAC_IPV4_ESP, ICE_INSET_NONE},
- {pattern_eth_ipv4_udp_esp,
- ICE_SW_INSET_MAC_IPV4_ESP, ICE_INSET_NONE},
- {pattern_eth_ipv6_esp,
- ICE_SW_INSET_MAC_IPV6_ESP, ICE_INSET_NONE},
- {pattern_eth_ipv6_udp_esp,
- ICE_SW_INSET_MAC_IPV6_ESP, ICE_INSET_NONE},
- {pattern_eth_ipv4_ah,
- ICE_SW_INSET_MAC_IPV4_AH, ICE_INSET_NONE},
- {pattern_eth_ipv6_ah,
- ICE_SW_INSET_MAC_IPV6_AH, ICE_INSET_NONE},
- {pattern_eth_ipv6_udp_ah,
- ICE_INSET_NONE, ICE_INSET_NONE},
- {pattern_eth_ipv4_l2tp,
- ICE_SW_INSET_MAC_IPV4_L2TP, ICE_INSET_NONE},
- {pattern_eth_ipv6_l2tp,
- ICE_SW_INSET_MAC_IPV6_L2TP, ICE_INSET_NONE},
- {pattern_eth_ipv4_pfcp,
- ICE_INSET_NONE, ICE_INSET_NONE},
- {pattern_eth_ipv6_pfcp,
- ICE_INSET_NONE, ICE_INSET_NONE},
+ {pattern_ethertype, ICE_INSET_NONE, ICE_SW_INSET_ETHER, ICE_INSET_NONE},
+ {pattern_ethertype_vlan, ICE_INSET_NONE, ICE_SW_INSET_MAC_VLAN, ICE_INSET_NONE},
+ {pattern_eth_arp, ICE_INSET_NONE, ICE_INSET_NONE, ICE_INSET_NONE},
+ {pattern_eth_ipv4, ICE_INSET_NONE, ICE_SW_INSET_MAC_IPV4, ICE_INSET_NONE},
+ {pattern_eth_ipv4_udp, ICE_INSET_NONE, ICE_SW_INSET_MAC_IPV4_UDP, ICE_INSET_NONE},
+ {pattern_eth_ipv4_tcp, ICE_INSET_NONE, ICE_SW_INSET_MAC_IPV4_TCP, ICE_INSET_NONE},
+ {pattern_eth_ipv6, ICE_INSET_NONE, ICE_SW_INSET_MAC_IPV6, ICE_INSET_NONE},
+ {pattern_eth_ipv6_udp, ICE_INSET_NONE, ICE_SW_INSET_MAC_IPV6_UDP, ICE_INSET_NONE},
+ {pattern_eth_ipv6_tcp, ICE_INSET_NONE, ICE_SW_INSET_MAC_IPV6_TCP, ICE_INSET_NONE},
+ {pattern_eth_ipv4_udp_vxlan_eth_ipv4, ICE_INSET_NONE, ICE_SW_INSET_DIST_VXLAN_IPV4, ICE_INSET_NONE},
+ {pattern_eth_ipv4_udp_vxlan_eth_ipv4_udp, ICE_INSET_NONE, ICE_SW_INSET_DIST_VXLAN_IPV4_UDP, ICE_INSET_NONE},
+ {pattern_eth_ipv4_udp_vxlan_eth_ipv4_tcp, ICE_INSET_NONE, ICE_SW_INSET_DIST_VXLAN_IPV4_TCP, ICE_INSET_NONE},
+ {pattern_eth_ipv4_nvgre_eth_ipv4, ICE_INSET_NONE, ICE_SW_INSET_DIST_NVGRE_IPV4, ICE_INSET_NONE},
+ {pattern_eth_ipv4_nvgre_eth_ipv4_udp, ICE_INSET_NONE, ICE_SW_INSET_DIST_NVGRE_IPV4_UDP, ICE_INSET_NONE},
+ {pattern_eth_ipv4_nvgre_eth_ipv4_tcp, ICE_INSET_NONE, ICE_SW_INSET_DIST_NVGRE_IPV4_TCP, ICE_INSET_NONE},
+ {pattern_eth_pppoes, ICE_INSET_NONE, ICE_SW_INSET_MAC_PPPOE, ICE_INSET_NONE},
+ {pattern_eth_vlan_pppoes, ICE_INSET_NONE, ICE_SW_INSET_MAC_PPPOE, ICE_INSET_NONE},
+ {pattern_eth_pppoes_proto, ICE_INSET_NONE, ICE_SW_INSET_MAC_PPPOE_PROTO, ICE_INSET_NONE},
+ {pattern_eth_vlan_pppoes_proto, ICE_INSET_NONE, ICE_SW_INSET_MAC_PPPOE_PROTO, ICE_INSET_NONE},
+ {pattern_eth_pppoes_ipv4, ICE_INSET_NONE, ICE_SW_INSET_MAC_PPPOE_IPV4, ICE_INSET_NONE},
+ {pattern_eth_pppoes_ipv4_tcp, ICE_INSET_NONE, ICE_SW_INSET_MAC_PPPOE_IPV4_TCP, ICE_INSET_NONE},
+ {pattern_eth_pppoes_ipv4_udp, ICE_INSET_NONE, ICE_SW_INSET_MAC_PPPOE_IPV4_UDP, ICE_INSET_NONE},
+ {pattern_eth_pppoes_ipv6, ICE_INSET_NONE, ICE_SW_INSET_MAC_PPPOE_IPV6, ICE_INSET_NONE},
+ {pattern_eth_pppoes_ipv6_tcp, ICE_INSET_NONE, ICE_SW_INSET_MAC_PPPOE_IPV6_TCP, ICE_INSET_NONE},
+ {pattern_eth_pppoes_ipv6_udp, ICE_INSET_NONE, ICE_SW_INSET_MAC_PPPOE_IPV6_UDP, ICE_INSET_NONE},
+ {pattern_eth_vlan_pppoes_ipv4, ICE_INSET_NONE, ICE_SW_INSET_MAC_PPPOE_IPV4, ICE_INSET_NONE},
+ {pattern_eth_vlan_pppoes_ipv4_tcp, ICE_INSET_NONE, ICE_SW_INSET_MAC_PPPOE_IPV4_TCP, ICE_INSET_NONE},
+ {pattern_eth_vlan_pppoes_ipv4_udp, ICE_INSET_NONE, ICE_SW_INSET_MAC_PPPOE_IPV4_UDP, ICE_INSET_NONE},
+ {pattern_eth_vlan_pppoes_ipv6, ICE_INSET_NONE, ICE_SW_INSET_MAC_PPPOE_IPV6, ICE_INSET_NONE},
+ {pattern_eth_vlan_pppoes_ipv6_tcp, ICE_INSET_NONE, ICE_SW_INSET_MAC_PPPOE_IPV6_TCP, ICE_INSET_NONE},
+ {pattern_eth_vlan_pppoes_ipv6_udp, ICE_INSET_NONE, ICE_SW_INSET_MAC_PPPOE_IPV6_UDP, ICE_INSET_NONE},
+ {pattern_eth_ipv4_esp, ICE_INSET_NONE, ICE_SW_INSET_MAC_IPV4_ESP, ICE_INSET_NONE},
+ {pattern_eth_ipv4_udp_esp, ICE_INSET_NONE, ICE_SW_INSET_MAC_IPV4_ESP, ICE_INSET_NONE},
+ {pattern_eth_ipv6_esp, ICE_INSET_NONE, ICE_SW_INSET_MAC_IPV6_ESP, ICE_INSET_NONE},
+ {pattern_eth_ipv6_udp_esp, ICE_INSET_NONE, ICE_SW_INSET_MAC_IPV6_ESP, ICE_INSET_NONE},
+ {pattern_eth_ipv4_ah, ICE_INSET_NONE, ICE_SW_INSET_MAC_IPV4_AH, ICE_INSET_NONE},
+ {pattern_eth_ipv6_ah, ICE_INSET_NONE, ICE_SW_INSET_MAC_IPV6_AH, ICE_INSET_NONE},
+ {pattern_eth_ipv6_udp_ah, ICE_INSET_NONE, ICE_INSET_NONE, ICE_INSET_NONE},
+ {pattern_eth_ipv4_l2tp, ICE_INSET_NONE, ICE_SW_INSET_MAC_IPV4_L2TP, ICE_INSET_NONE},
+ {pattern_eth_ipv6_l2tp, ICE_INSET_NONE, ICE_SW_INSET_MAC_IPV6_L2TP, ICE_INSET_NONE},
+ {pattern_eth_ipv4_pfcp, ICE_INSET_NONE, ICE_INSET_NONE, ICE_INSET_NONE},
+ {pattern_eth_ipv6_pfcp, ICE_INSET_NONE, ICE_INSET_NONE, ICE_INSET_NONE},
};
static struct
ice_pattern_match_item ice_switch_pattern_perm_os[] = {
- {pattern_ethertype,
- ICE_SW_INSET_ETHER, ICE_INSET_NONE},
- {pattern_ethertype_vlan,
- ICE_SW_INSET_MAC_VLAN, ICE_INSET_NONE},
- {pattern_eth_arp,
- ICE_INSET_NONE, ICE_INSET_NONE},
- {pattern_eth_ipv4,
- ICE_SW_INSET_MAC_IPV4, ICE_INSET_NONE},
- {pattern_eth_ipv4_udp,
- ICE_SW_INSET_MAC_IPV4_UDP, ICE_INSET_NONE},
- {pattern_eth_ipv4_tcp,
- ICE_SW_INSET_MAC_IPV4_TCP, ICE_INSET_NONE},
- {pattern_eth_ipv6,
- ICE_SW_INSET_MAC_IPV6, ICE_INSET_NONE},
- {pattern_eth_ipv6_udp,
- ICE_SW_INSET_MAC_IPV6_UDP, ICE_INSET_NONE},
- {pattern_eth_ipv6_tcp,
- ICE_SW_INSET_MAC_IPV6_TCP, ICE_INSET_NONE},
- {pattern_eth_ipv4_udp_vxlan_eth_ipv4,
- ICE_SW_INSET_PERM_TUNNEL_IPV4, ICE_INSET_NONE},
- {pattern_eth_ipv4_udp_vxlan_eth_ipv4_udp,
- ICE_SW_INSET_PERM_TUNNEL_IPV4_UDP, ICE_INSET_NONE},
- {pattern_eth_ipv4_udp_vxlan_eth_ipv4_tcp,
- ICE_SW_INSET_PERM_TUNNEL_IPV4_TCP, ICE_INSET_NONE},
- {pattern_eth_ipv4_nvgre_eth_ipv4,
- ICE_SW_INSET_PERM_TUNNEL_IPV4, ICE_INSET_NONE},
- {pattern_eth_ipv4_nvgre_eth_ipv4_udp,
- ICE_SW_INSET_PERM_TUNNEL_IPV4_UDP, ICE_INSET_NONE},
- {pattern_eth_ipv4_nvgre_eth_ipv4_tcp,
- ICE_SW_INSET_PERM_TUNNEL_IPV4_TCP, ICE_INSET_NONE},
+ {pattern_ethertype, ICE_INSET_NONE, ICE_SW_INSET_ETHER, ICE_INSET_NONE},
+ {pattern_ethertype_vlan, ICE_INSET_NONE, ICE_SW_INSET_MAC_VLAN, ICE_INSET_NONE},
+ {pattern_eth_arp, ICE_INSET_NONE, ICE_INSET_NONE, ICE_INSET_NONE},
+ {pattern_eth_ipv4, ICE_INSET_NONE, ICE_SW_INSET_MAC_IPV4, ICE_INSET_NONE},
+ {pattern_eth_ipv4_udp, ICE_INSET_NONE, ICE_SW_INSET_MAC_IPV4_UDP, ICE_INSET_NONE},
+ {pattern_eth_ipv4_tcp, ICE_INSET_NONE, ICE_SW_INSET_MAC_IPV4_TCP, ICE_INSET_NONE},
+ {pattern_eth_ipv6, ICE_INSET_NONE, ICE_SW_INSET_MAC_IPV6, ICE_INSET_NONE},
+ {pattern_eth_ipv6_udp, ICE_INSET_NONE, ICE_SW_INSET_MAC_IPV6_UDP, ICE_INSET_NONE},
+ {pattern_eth_ipv6_tcp, ICE_INSET_NONE, ICE_SW_INSET_MAC_IPV6_TCP, ICE_INSET_NONE},
+ {pattern_eth_ipv4_udp_vxlan_eth_ipv4, ICE_INSET_NONE, ICE_SW_INSET_PERM_TUNNEL_IPV4, ICE_INSET_NONE},
+ {pattern_eth_ipv4_udp_vxlan_eth_ipv4_udp, ICE_INSET_NONE, ICE_SW_INSET_PERM_TUNNEL_IPV4_UDP, ICE_INSET_NONE},
+ {pattern_eth_ipv4_udp_vxlan_eth_ipv4_tcp, ICE_INSET_NONE, ICE_SW_INSET_PERM_TUNNEL_IPV4_TCP, ICE_INSET_NONE},
+ {pattern_eth_ipv4_nvgre_eth_ipv4, ICE_INSET_NONE, ICE_SW_INSET_PERM_TUNNEL_IPV4, ICE_INSET_NONE},
+ {pattern_eth_ipv4_nvgre_eth_ipv4_udp, ICE_INSET_NONE, ICE_SW_INSET_PERM_TUNNEL_IPV4_UDP, ICE_INSET_NONE},
+ {pattern_eth_ipv4_nvgre_eth_ipv4_tcp, ICE_INSET_NONE, ICE_SW_INSET_PERM_TUNNEL_IPV4_TCP, ICE_INSET_NONE},
};
static struct
ice_pattern_match_item ice_switch_pattern_perm_comms[] = {
- {pattern_ethertype,
- ICE_SW_INSET_ETHER, ICE_INSET_NONE},
- {pattern_ethertype_vlan,
- ICE_SW_INSET_MAC_VLAN, ICE_INSET_NONE},
- {pattern_eth_arp,
- ICE_INSET_NONE, ICE_INSET_NONE},
- {pattern_eth_ipv4,
- ICE_SW_INSET_MAC_IPV4, ICE_INSET_NONE},
- {pattern_eth_ipv4_udp,
- ICE_SW_INSET_MAC_IPV4_UDP, ICE_INSET_NONE},
- {pattern_eth_ipv4_tcp,
- ICE_SW_INSET_MAC_IPV4_TCP, ICE_INSET_NONE},
- {pattern_eth_ipv6,
- ICE_SW_INSET_MAC_IPV6, ICE_INSET_NONE},
- {pattern_eth_ipv6_udp,
- ICE_SW_INSET_MAC_IPV6_UDP, ICE_INSET_NONE},
- {pattern_eth_ipv6_tcp,
- ICE_SW_INSET_MAC_IPV6_TCP, ICE_INSET_NONE},
- {pattern_eth_ipv4_udp_vxlan_eth_ipv4,
- ICE_SW_INSET_PERM_TUNNEL_IPV4, ICE_INSET_NONE},
- {pattern_eth_ipv4_udp_vxlan_eth_ipv4_udp,
- ICE_SW_INSET_PERM_TUNNEL_IPV4_UDP, ICE_INSET_NONE},
- {pattern_eth_ipv4_udp_vxlan_eth_ipv4_tcp,
- ICE_SW_INSET_PERM_TUNNEL_IPV4_TCP, ICE_INSET_NONE},
- {pattern_eth_ipv4_nvgre_eth_ipv4,
- ICE_SW_INSET_PERM_TUNNEL_IPV4, ICE_INSET_NONE},
- {pattern_eth_ipv4_nvgre_eth_ipv4_udp,
- ICE_SW_INSET_PERM_TUNNEL_IPV4_UDP, ICE_INSET_NONE},
- {pattern_eth_ipv4_nvgre_eth_ipv4_tcp,
- ICE_SW_INSET_PERM_TUNNEL_IPV4_TCP, ICE_INSET_NONE},
- {pattern_eth_pppoes,
- ICE_SW_INSET_MAC_PPPOE, ICE_INSET_NONE},
- {pattern_eth_vlan_pppoes,
- ICE_SW_INSET_MAC_PPPOE, ICE_INSET_NONE},
- {pattern_eth_pppoes_proto,
- ICE_SW_INSET_MAC_PPPOE_PROTO, ICE_INSET_NONE},
- {pattern_eth_vlan_pppoes_proto,
- ICE_SW_INSET_MAC_PPPOE_PROTO, ICE_INSET_NONE},
- {pattern_eth_pppoes_ipv4,
- ICE_SW_INSET_MAC_PPPOE_IPV4, ICE_INSET_NONE},
- {pattern_eth_pppoes_ipv4_tcp,
- ICE_SW_INSET_MAC_PPPOE_IPV4_TCP, ICE_INSET_NONE},
- {pattern_eth_pppoes_ipv4_udp,
- ICE_SW_INSET_MAC_PPPOE_IPV4_UDP, ICE_INSET_NONE},
- {pattern_eth_pppoes_ipv6,
- ICE_SW_INSET_MAC_PPPOE_IPV6, ICE_INSET_NONE},
- {pattern_eth_pppoes_ipv6_tcp,
- ICE_SW_INSET_MAC_PPPOE_IPV6_TCP, ICE_INSET_NONE},
- {pattern_eth_pppoes_ipv6_udp,
- ICE_SW_INSET_MAC_PPPOE_IPV6_UDP, ICE_INSET_NONE},
- {pattern_eth_vlan_pppoes_ipv4,
- ICE_SW_INSET_MAC_PPPOE_IPV4, ICE_INSET_NONE},
- {pattern_eth_vlan_pppoes_ipv4_tcp,
- ICE_SW_INSET_MAC_PPPOE_IPV4_TCP, ICE_INSET_NONE},
- {pattern_eth_vlan_pppoes_ipv4_udp,
- ICE_SW_INSET_MAC_PPPOE_IPV4_UDP, ICE_INSET_NONE},
- {pattern_eth_vlan_pppoes_ipv6,
- ICE_SW_INSET_MAC_PPPOE_IPV6, ICE_INSET_NONE},
- {pattern_eth_vlan_pppoes_ipv6_tcp,
- ICE_SW_INSET_MAC_PPPOE_IPV6_TCP, ICE_INSET_NONE},
- {pattern_eth_vlan_pppoes_ipv6_udp,
- ICE_SW_INSET_MAC_PPPOE_IPV6_UDP, ICE_INSET_NONE},
- {pattern_eth_ipv4_esp,
- ICE_SW_INSET_MAC_IPV4_ESP, ICE_INSET_NONE},
- {pattern_eth_ipv4_udp_esp,
- ICE_SW_INSET_MAC_IPV4_ESP, ICE_INSET_NONE},
- {pattern_eth_ipv6_esp,
- ICE_SW_INSET_MAC_IPV6_ESP, ICE_INSET_NONE},
- {pattern_eth_ipv6_udp_esp,
- ICE_SW_INSET_MAC_IPV6_ESP, ICE_INSET_NONE},
- {pattern_eth_ipv4_ah,
- ICE_SW_INSET_MAC_IPV4_AH, ICE_INSET_NONE},
- {pattern_eth_ipv6_ah,
- ICE_SW_INSET_MAC_IPV6_AH, ICE_INSET_NONE},
- {pattern_eth_ipv6_udp_ah,
- ICE_INSET_NONE, ICE_INSET_NONE},
- {pattern_eth_ipv4_l2tp,
- ICE_SW_INSET_MAC_IPV4_L2TP, ICE_INSET_NONE},
- {pattern_eth_ipv6_l2tp,
- ICE_SW_INSET_MAC_IPV6_L2TP, ICE_INSET_NONE},
- {pattern_eth_ipv4_pfcp,
- ICE_INSET_NONE, ICE_INSET_NONE},
- {pattern_eth_ipv6_pfcp,
- ICE_INSET_NONE, ICE_INSET_NONE},
+ {pattern_ethertype, ICE_INSET_NONE, ICE_SW_INSET_ETHER, ICE_INSET_NONE},
+ {pattern_ethertype_vlan, ICE_INSET_NONE, ICE_SW_INSET_MAC_VLAN, ICE_INSET_NONE},
+ {pattern_eth_arp, ICE_INSET_NONE, ICE_INSET_NONE, ICE_INSET_NONE},
+ {pattern_eth_ipv4, ICE_INSET_NONE, ICE_SW_INSET_MAC_IPV4, ICE_INSET_NONE},
+ {pattern_eth_ipv4_udp, ICE_INSET_NONE, ICE_SW_INSET_MAC_IPV4_UDP, ICE_INSET_NONE},
+ {pattern_eth_ipv4_tcp, ICE_INSET_NONE, ICE_SW_INSET_MAC_IPV4_TCP, ICE_INSET_NONE},
+ {pattern_eth_ipv6, ICE_INSET_NONE, ICE_SW_INSET_MAC_IPV6, ICE_INSET_NONE},
+ {pattern_eth_ipv6_udp, ICE_INSET_NONE, ICE_SW_INSET_MAC_IPV6_UDP, ICE_INSET_NONE},
+ {pattern_eth_ipv6_tcp, ICE_INSET_NONE, ICE_SW_INSET_MAC_IPV6_TCP, ICE_INSET_NONE},
+ {pattern_eth_ipv4_udp_vxlan_eth_ipv4, ICE_INSET_NONE, ICE_SW_INSET_PERM_TUNNEL_IPV4, ICE_INSET_NONE},
+ {pattern_eth_ipv4_udp_vxlan_eth_ipv4_udp, ICE_INSET_NONE, ICE_SW_INSET_PERM_TUNNEL_IPV4_UDP, ICE_INSET_NONE},
+ {pattern_eth_ipv4_udp_vxlan_eth_ipv4_tcp, ICE_INSET_NONE, ICE_SW_INSET_PERM_TUNNEL_IPV4_TCP, ICE_INSET_NONE},
+ {pattern_eth_ipv4_nvgre_eth_ipv4, ICE_INSET_NONE, ICE_SW_INSET_PERM_TUNNEL_IPV4, ICE_INSET_NONE},
+ {pattern_eth_ipv4_nvgre_eth_ipv4_udp, ICE_INSET_NONE, ICE_SW_INSET_PERM_TUNNEL_IPV4_UDP, ICE_INSET_NONE},
+ {pattern_eth_ipv4_nvgre_eth_ipv4_tcp, ICE_INSET_NONE, ICE_SW_INSET_PERM_TUNNEL_IPV4_TCP, ICE_INSET_NONE},
+ {pattern_eth_pppoes, ICE_INSET_NONE, ICE_SW_INSET_MAC_PPPOE, ICE_INSET_NONE},
+ {pattern_eth_vlan_pppoes, ICE_INSET_NONE, ICE_SW_INSET_MAC_PPPOE, ICE_INSET_NONE},
+ {pattern_eth_pppoes_proto, ICE_INSET_NONE, ICE_SW_INSET_MAC_PPPOE_PROTO, ICE_INSET_NONE},
+ {pattern_eth_vlan_pppoes_proto, ICE_INSET_NONE, ICE_SW_INSET_MAC_PPPOE_PROTO, ICE_INSET_NONE},
+ {pattern_eth_pppoes_ipv4, ICE_INSET_NONE, ICE_SW_INSET_MAC_PPPOE_IPV4, ICE_INSET_NONE},
+ {pattern_eth_pppoes_ipv4_tcp, ICE_INSET_NONE, ICE_SW_INSET_MAC_PPPOE_IPV4_TCP, ICE_INSET_NONE},
+ {pattern_eth_pppoes_ipv4_udp, ICE_INSET_NONE, ICE_SW_INSET_MAC_PPPOE_IPV4_UDP, ICE_INSET_NONE},
+ {pattern_eth_pppoes_ipv6, ICE_INSET_NONE, ICE_SW_INSET_MAC_PPPOE_IPV6, ICE_INSET_NONE},
+ {pattern_eth_pppoes_ipv6_tcp, ICE_INSET_NONE, ICE_SW_INSET_MAC_PPPOE_IPV6_TCP, ICE_INSET_NONE},
+ {pattern_eth_pppoes_ipv6_udp, ICE_INSET_NONE, ICE_SW_INSET_MAC_PPPOE_IPV6_UDP, ICE_INSET_NONE},
+ {pattern_eth_vlan_pppoes_ipv4, ICE_INSET_NONE, ICE_SW_INSET_MAC_PPPOE_IPV4, ICE_INSET_NONE},
+ {pattern_eth_vlan_pppoes_ipv4_tcp, ICE_INSET_NONE, ICE_SW_INSET_MAC_PPPOE_IPV4_TCP, ICE_INSET_NONE},
+ {pattern_eth_vlan_pppoes_ipv4_udp, ICE_INSET_NONE, ICE_SW_INSET_MAC_PPPOE_IPV4_UDP, ICE_INSET_NONE},
+ {pattern_eth_vlan_pppoes_ipv6, ICE_INSET_NONE, ICE_SW_INSET_MAC_PPPOE_IPV6, ICE_INSET_NONE},
+ {pattern_eth_vlan_pppoes_ipv6_tcp, ICE_INSET_NONE, ICE_SW_INSET_MAC_PPPOE_IPV6_TCP, ICE_INSET_NONE},
+ {pattern_eth_vlan_pppoes_ipv6_udp, ICE_INSET_NONE, ICE_SW_INSET_MAC_PPPOE_IPV6_UDP, ICE_INSET_NONE},
+ {pattern_eth_ipv4_esp, ICE_INSET_NONE, ICE_SW_INSET_MAC_IPV4_ESP, ICE_INSET_NONE},
+ {pattern_eth_ipv4_udp_esp, ICE_INSET_NONE, ICE_SW_INSET_MAC_IPV4_ESP, ICE_INSET_NONE},
+ {pattern_eth_ipv6_esp, ICE_INSET_NONE, ICE_SW_INSET_MAC_IPV6_ESP, ICE_INSET_NONE},
+ {pattern_eth_ipv6_udp_esp, ICE_INSET_NONE, ICE_SW_INSET_MAC_IPV6_ESP, ICE_INSET_NONE},
+ {pattern_eth_ipv4_ah, ICE_INSET_NONE, ICE_SW_INSET_MAC_IPV4_AH, ICE_INSET_NONE},
+ {pattern_eth_ipv6_ah, ICE_INSET_NONE, ICE_SW_INSET_MAC_IPV6_AH, ICE_INSET_NONE},
+ {pattern_eth_ipv6_udp_ah, ICE_INSET_NONE, ICE_INSET_NONE, ICE_INSET_NONE},
+ {pattern_eth_ipv4_l2tp, ICE_INSET_NONE, ICE_SW_INSET_MAC_IPV4_L2TP, ICE_INSET_NONE},
+ {pattern_eth_ipv6_l2tp, ICE_INSET_NONE, ICE_SW_INSET_MAC_IPV6_L2TP, ICE_INSET_NONE},
+ {pattern_eth_ipv4_pfcp, ICE_INSET_NONE, ICE_INSET_NONE, ICE_INSET_NONE},
+ {pattern_eth_ipv6_pfcp, ICE_INSET_NONE, ICE_INSET_NONE, ICE_INSET_NONE},
};
static int