From: Zhirun Yan <zhirun.yan@intel.com>
To: dev@dpdk.org, qi.z.zhang@intel.com, yahui.cao@intel.com,
xiao.w.wang@intel.com, junfeng.guo@intel.com
Cc: simei.su@intel.com, ting.xu@intel.com, yuying.zhang@intel.com,
xuan.ding@intel.com, Zhirun Yan <zhirun.yan@intel.com>
Subject: [dpdk-dev] [PATCH v2 3/3] net/ice: add outer input set mask to distinguish outer fields
Date: Wed, 27 Jan 2021 13:29:33 +0800 [thread overview]
Message-ID: <20210127052933.2149243-4-zhirun.yan@intel.com> (raw)
In-Reply-To: <20210127052933.2149243-1-zhirun.yan@intel.com>
Add 64-bit input_set_mask_f for outer inputset. input_set_mask_f is
used for inner fields or non-tunnel fields. Adjust indentation of
ice_pattern_match_item list in switch, ACL, RSS and FDIR for easy
review. For fields in tunnel layer, put them in outer part.
Signed-off-by: Zhirun Yan <zhirun.yan@intel.com>
---
drivers/net/ice/ice_acl_filter.c | 8 +-
drivers/net/ice/ice_fdir_filter.c | 72 ++++---
drivers/net/ice/ice_generic_flow.c | 2 +
drivers/net/ice/ice_generic_flow.h | 1 +
drivers/net/ice/ice_hash.c | 243 ++++++++++-------------
drivers/net/ice/ice_switch_filter.c | 294 ++++++++++------------------
6 files changed, 247 insertions(+), 373 deletions(-)
diff --git a/drivers/net/ice/ice_acl_filter.c b/drivers/net/ice/ice_acl_filter.c
index 363ce68318..fe0a56eff5 100644
--- a/drivers/net/ice/ice_acl_filter.c
+++ b/drivers/net/ice/ice_acl_filter.c
@@ -50,10 +50,10 @@ struct acl_rule {
static struct
ice_pattern_match_item ice_acl_pattern[] = {
- {pattern_eth_ipv4, ICE_ACL_INSET_ETH_IPV4, ICE_INSET_NONE},
- {pattern_eth_ipv4_udp, ICE_ACL_INSET_ETH_IPV4_UDP, ICE_INSET_NONE},
- {pattern_eth_ipv4_tcp, ICE_ACL_INSET_ETH_IPV4_TCP, ICE_INSET_NONE},
- {pattern_eth_ipv4_sctp, ICE_ACL_INSET_ETH_IPV4_SCTP, ICE_INSET_NONE},
+ {pattern_eth_ipv4, ICE_INSET_NONE, ICE_ACL_INSET_ETH_IPV4, ICE_INSET_NONE},
+ {pattern_eth_ipv4_udp, ICE_INSET_NONE, ICE_ACL_INSET_ETH_IPV4_UDP, ICE_INSET_NONE},
+ {pattern_eth_ipv4_tcp, ICE_INSET_NONE, ICE_ACL_INSET_ETH_IPV4_TCP, ICE_INSET_NONE},
+ {pattern_eth_ipv4_sctp, ICE_INSET_NONE, ICE_ACL_INSET_ETH_IPV4_SCTP, ICE_INSET_NONE},
};
static int
diff --git a/drivers/net/ice/ice_fdir_filter.c b/drivers/net/ice/ice_fdir_filter.c
index 83b3a4c547..cf26559df3 100644
--- a/drivers/net/ice/ice_fdir_filter.c
+++ b/drivers/net/ice/ice_fdir_filter.c
@@ -55,21 +55,25 @@
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_IPV4 (\
ICE_INSET_IPV4_SRC | ICE_INSET_IPV4_DST)
-#define ICE_FDIR_INSET_VXLAN_IPV4_TCP (\
- ICE_FDIR_INSET_VXLAN_IPV4 | \
+#define ICE_FDIR_INSET_IPV4_TCP (\
+ ICE_FDIR_INSET_IPV4 | \
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_IPV4_UDP (\
+ ICE_FDIR_INSET_IPV4 | \
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_IPV4_SCTP (\
+ ICE_FDIR_INSET_IPV4 | \
ICE_INSET_SCTP_SRC_PORT | ICE_INSET_SCTP_DST_PORT)
+#define ICE_FDIR_INSET_ETH_IPV4_VXLAN (\
+ ICE_FDIR_INSET_ETH | \
+ ICE_INSET_IPV4_SRC | ICE_INSET_IPV4_DST)
+
#define ICE_FDIR_INSET_IPV4_GTPU (\
ICE_INSET_IPV4_SRC | ICE_INSET_IPV4_DST | ICE_INSET_GTPU_TEID)
@@ -85,35 +89,28 @@
ICE_INSET_GTPU_TEID | ICE_INSET_GTPU_QFI)
static struct ice_pattern_match_item ice_fdir_pattern_list[] = {
- {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_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_FDIR_INSET_ETH_IPV4_VXLAN, ICE_FDIR_INSET_IPV4, ICE_INSET_NONE},
+ {pattern_eth_ipv4_udp_vxlan_ipv4_udp, ICE_FDIR_INSET_ETH_IPV4_VXLAN, ICE_FDIR_INSET_IPV4_UDP, ICE_INSET_NONE},
+ {pattern_eth_ipv4_udp_vxlan_ipv4_tcp, ICE_FDIR_INSET_ETH_IPV4_VXLAN, ICE_FDIR_INSET_IPV4_TCP, ICE_INSET_NONE},
+ {pattern_eth_ipv4_udp_vxlan_ipv4_sctp, ICE_FDIR_INSET_ETH_IPV4_VXLAN, ICE_FDIR_INSET_IPV4_SCTP, ICE_INSET_NONE},
+ {pattern_eth_ipv4_udp_vxlan_eth_ipv4, ICE_FDIR_INSET_ETH_IPV4_VXLAN, ICE_FDIR_INSET_ETH_IPV4, ICE_INSET_NONE},
+ {pattern_eth_ipv4_udp_vxlan_eth_ipv4_udp, ICE_FDIR_INSET_ETH_IPV4_VXLAN, ICE_FDIR_INSET_ETH_IPV4_UDP, ICE_INSET_NONE},
+ {pattern_eth_ipv4_udp_vxlan_eth_ipv4_tcp, ICE_FDIR_INSET_ETH_IPV4_VXLAN, ICE_FDIR_INSET_ETH_IPV4_TCP, ICE_INSET_NONE},
+ {pattern_eth_ipv4_udp_vxlan_eth_ipv4_sctp, ICE_FDIR_INSET_ETH_IPV4_VXLAN, ICE_FDIR_INSET_ETH_IPV4_SCTP, ICE_INSET_NONE},
+ /* duplicated GTPU input set in 3rd column to align with shared code behavior. Ideally, only put GTPU field in 2nd column. */
+ {pattern_eth_ipv4_gtpu, ICE_FDIR_INSET_IPV4_GTPU, ICE_FDIR_INSET_IPV4_GTPU, ICE_INSET_NONE},
+ {pattern_eth_ipv4_gtpu_eh, ICE_FDIR_INSET_IPV4_GTPU_EH, ICE_FDIR_INSET_IPV4_GTPU_EH, ICE_INSET_NONE},
+ {pattern_eth_ipv6_gtpu, ICE_FDIR_INSET_IPV6_GTPU, ICE_FDIR_INSET_IPV6_GTPU, ICE_INSET_NONE},
+ {pattern_eth_ipv6_gtpu_eh, ICE_FDIR_INSET_IPV6_GTPU_EH, ICE_FDIR_INSET_IPV6_GTPU_EH, ICE_INSET_NONE},
};
static struct ice_flow_parser ice_fdir_parser;
@@ -2012,7 +2009,8 @@ ice_fdir_parse(struct ice_adapter *ad,
if (ret)
goto error;
input_set = filter->input_set | filter->outer_input_set;
- if (!input_set || input_set & ~item->input_set_mask) {
+ if (!input_set || filter->input_set & ~item->input_set_mask ||
+ filter->outer_input_set & ~item->input_set_mask_f) {
rte_flow_error_set(error, EINVAL,
RTE_FLOW_ERROR_TYPE_ITEM_SPEC,
pattern,
diff --git a/drivers/net/ice/ice_generic_flow.c b/drivers/net/ice/ice_generic_flow.c
index c4496dbbe1..ea83714815 100644
--- a/drivers/net/ice/ice_generic_flow.c
+++ b/drivers/net/ice/ice_generic_flow.c
@@ -2216,6 +2216,8 @@ ice_search_pattern_match_item(struct ice_adapter *ad,
for (i = 0; i < array_len; i++) {
if (ice_match_pattern(array[i].pattern_list,
items)) {
+ pattern_match_item->input_set_mask_f =
+ array[i].input_set_mask_f;
pattern_match_item->input_set_mask =
array[i].input_set_mask;
pattern_match_item->pattern_list =
diff --git a/drivers/net/ice/ice_generic_flow.h b/drivers/net/ice/ice_generic_flow.h
index 3c648c0f4f..d3f9037383 100644
--- a/drivers/net/ice/ice_generic_flow.h
+++ b/drivers/net/ice/ice_generic_flow.h
@@ -473,6 +473,7 @@ enum ice_flow_classification_stage {
/* pattern structure */
struct ice_pattern_match_item {
enum rte_flow_item_type *pattern_list;
+ uint64_t input_set_mask_f; /* only used for tunnel outer fields */
/* pattern_list must end with RTE_FLOW_ITEM_TYPE_END */
uint64_t input_set_mask;
void *meta;
diff --git a/drivers/net/ice/ice_hash.c b/drivers/net/ice/ice_hash.c
index aee4761625..6db16a186a 100644
--- a/drivers/net/ice/ice_hash.c
+++ b/drivers/net/ice/ice_hash.c
@@ -352,97 +352,65 @@ struct ice_rss_hash_cfg empty_tmplt = {
0
};
-/* rss type super set */
-/* Empty rss type to support simple_xor. */
-#define ICE_RSS_TYPE_EMPTY 0ULL
-
-/* IPv4 outer */
-#define ICE_RSS_TYPE_OUTER_IPV4 (ETH_RSS_ETH | ETH_RSS_IPV4)
-#define ICE_RSS_TYPE_OUTER_IPV4_UDP (ICE_RSS_TYPE_OUTER_IPV4 | \
- ETH_RSS_NONFRAG_IPV4_UDP)
-#define ICE_RSS_TYPE_OUTER_IPV4_TCP (ICE_RSS_TYPE_OUTER_IPV4 | \
- ETH_RSS_NONFRAG_IPV4_TCP)
-#define ICE_RSS_TYPE_OUTER_IPV4_SCTP (ICE_RSS_TYPE_OUTER_IPV4 | \
- ETH_RSS_NONFRAG_IPV4_SCTP)
-/* IPv6 outer */
-#define ICE_RSS_TYPE_OUTER_IPV6 (ETH_RSS_ETH | ETH_RSS_IPV6)
-#define ICE_RSS_TYPE_OUTER_IPV6_UDP (ICE_RSS_TYPE_OUTER_IPV6 | \
- ETH_RSS_NONFRAG_IPV6_UDP)
-#define ICE_RSS_TYPE_OUTER_IPV6_TCP (ICE_RSS_TYPE_OUTER_IPV6 | \
- ETH_RSS_NONFRAG_IPV6_TCP)
-#define ICE_RSS_TYPE_OUTER_IPV6_SCTP (ICE_RSS_TYPE_OUTER_IPV6 | \
- ETH_RSS_NONFRAG_IPV6_SCTP)
+/* IPv4 */
+#define ICE_RSS_TYPE_ETH_IPV4 (ETH_RSS_ETH | ETH_RSS_IPV4)
+#define ICE_RSS_TYPE_ETH_IPV4_UDP (ICE_RSS_TYPE_ETH_IPV4 | \
+ ETH_RSS_NONFRAG_IPV4_UDP)
+#define ICE_RSS_TYPE_ETH_IPV4_TCP (ICE_RSS_TYPE_ETH_IPV4 | \
+ ETH_RSS_NONFRAG_IPV4_TCP)
+#define ICE_RSS_TYPE_ETH_IPV4_SCTP (ICE_RSS_TYPE_ETH_IPV4 | \
+ ETH_RSS_NONFRAG_IPV4_SCTP)
+
+#define ICE_RSS_TYPE_IPV4 ETH_RSS_IPV4
+#define ICE_RSS_TYPE_IPV4_UDP (ICE_RSS_TYPE_IPV4 | \
+ ETH_RSS_NONFRAG_IPV4_UDP)
+#define ICE_RSS_TYPE_IPV4_TCP (ICE_RSS_TYPE_IPV4 | \
+ ETH_RSS_NONFRAG_IPV4_TCP)
+#define ICE_RSS_TYPE_IPV4_SCTP (ICE_RSS_TYPE_IPV4 | \
+ ETH_RSS_NONFRAG_IPV4_SCTP)
+
+/* IPv6 */
+#define ICE_RSS_TYPE_ETH_IPV6 (ETH_RSS_ETH | ETH_RSS_IPV6)
+#define ICE_RSS_TYPE_ETH_IPV6_UDP (ICE_RSS_TYPE_ETH_IPV6 | \
+ ETH_RSS_NONFRAG_IPV6_UDP)
+#define ICE_RSS_TYPE_ETH_IPV6_TCP (ICE_RSS_TYPE_ETH_IPV6 | \
+ ETH_RSS_NONFRAG_IPV6_TCP)
+#define ICE_RSS_TYPE_ETH_IPV6_SCTP (ICE_RSS_TYPE_ETH_IPV6 | \
+ ETH_RSS_NONFRAG_IPV6_SCTP)
+
+#define ICE_RSS_TYPE_IPV6 ETH_RSS_IPV6
+#define ICE_RSS_TYPE_IPV6_UDP (ICE_RSS_TYPE_IPV6 | \
+ ETH_RSS_NONFRAG_IPV6_UDP)
+#define ICE_RSS_TYPE_IPV6_TCP (ICE_RSS_TYPE_IPV6 | \
+ ETH_RSS_NONFRAG_IPV6_TCP)
+#define ICE_RSS_TYPE_IPV6_SCTP (ICE_RSS_TYPE_IPV6 | \
+ ETH_RSS_NONFRAG_IPV6_SCTP)
/* VLAN IPV4 */
-#define ICE_RSS_TYPE_VLAN_IPV4 (ICE_RSS_TYPE_OUTER_IPV4 | \
+#define ICE_RSS_TYPE_VLAN_IPV4 (ICE_RSS_TYPE_IPV4 | \
ETH_RSS_S_VLAN | ETH_RSS_C_VLAN)
-#define ICE_RSS_TYPE_VLAN_IPV4_UDP (ICE_RSS_TYPE_OUTER_IPV4_UDP | \
+#define ICE_RSS_TYPE_VLAN_IPV4_UDP (ICE_RSS_TYPE_IPV4_UDP | \
ETH_RSS_S_VLAN | ETH_RSS_C_VLAN)
-#define ICE_RSS_TYPE_VLAN_IPV4_TCP (ICE_RSS_TYPE_OUTER_IPV4_TCP | \
+#define ICE_RSS_TYPE_VLAN_IPV4_TCP (ICE_RSS_TYPE_IPV4_TCP | \
ETH_RSS_S_VLAN | ETH_RSS_C_VLAN)
-#define ICE_RSS_TYPE_VLAN_IPV4_SCTP (ICE_RSS_TYPE_OUTER_IPV4_SCTP | \
+#define ICE_RSS_TYPE_VLAN_IPV4_SCTP (ICE_RSS_TYPE_IPV4_SCTP | \
ETH_RSS_S_VLAN | ETH_RSS_C_VLAN)
/* VLAN IPv6 */
-#define ICE_RSS_TYPE_VLAN_IPV6 (ICE_RSS_TYPE_OUTER_IPV6 | \
+#define ICE_RSS_TYPE_VLAN_IPV6 (ICE_RSS_TYPE_IPV6 | \
ETH_RSS_S_VLAN | ETH_RSS_C_VLAN)
-#define ICE_RSS_TYPE_VLAN_IPV6_UDP (ICE_RSS_TYPE_OUTER_IPV6_UDP | \
+#define ICE_RSS_TYPE_VLAN_IPV6_UDP (ICE_RSS_TYPE_IPV6_UDP | \
ETH_RSS_S_VLAN | ETH_RSS_C_VLAN)
-#define ICE_RSS_TYPE_VLAN_IPV6_TCP (ICE_RSS_TYPE_OUTER_IPV6_TCP | \
+#define ICE_RSS_TYPE_VLAN_IPV6_TCP (ICE_RSS_TYPE_IPV6_TCP | \
ETH_RSS_S_VLAN | ETH_RSS_C_VLAN)
-#define ICE_RSS_TYPE_VLAN_IPV6_SCTP (ICE_RSS_TYPE_OUTER_IPV6_SCTP | \
+#define ICE_RSS_TYPE_VLAN_IPV6_SCTP (ICE_RSS_TYPE_IPV6_SCTP | \
ETH_RSS_S_VLAN | ETH_RSS_C_VLAN)
-/* IPv4 inner */
-#define ICE_RSS_TYPE_INNER_IPV4 ETH_RSS_IPV4
-#define ICE_RSS_TYPE_INNER_IPV4_UDP (ETH_RSS_IPV4 | \
- ETH_RSS_NONFRAG_IPV4_UDP)
-#define ICE_RSS_TYPE_INNER_IPV4_TCP (ETH_RSS_IPV4 | \
- ETH_RSS_NONFRAG_IPV4_TCP)
-#define ICE_RSS_TYPE_INNER_IPV4_SCTP (ETH_RSS_IPV4 | \
- ETH_RSS_NONFRAG_IPV4_SCTP)
-/* IPv6 inner */
-#define ICE_RSS_TYPE_INNER_IPV6 ETH_RSS_IPV6
-#define ICE_RSS_TYPE_INNER_IPV6_UDP (ETH_RSS_IPV6 | \
- ETH_RSS_NONFRAG_IPV6_UDP)
-#define ICE_RSS_TYPE_INNER_IPV6_TCP (ETH_RSS_IPV6 | \
- ETH_RSS_NONFRAG_IPV6_TCP)
-#define ICE_RSS_TYPE_INNER_IPV6_SCTP (ETH_RSS_IPV6 | \
- ETH_RSS_NONFRAG_IPV6_SCTP)
-
-/* GTPU IPv4 */
-#define ICE_RSS_TYPE_GTPU_IPV4 (ICE_RSS_TYPE_INNER_IPV4 | \
- ETH_RSS_GTPU)
-#define ICE_RSS_TYPE_GTPU_IPV4_UDP (ICE_RSS_TYPE_INNER_IPV4_UDP | \
- ETH_RSS_GTPU)
-#define ICE_RSS_TYPE_GTPU_IPV4_TCP (ICE_RSS_TYPE_INNER_IPV4_TCP | \
- ETH_RSS_GTPU)
-/* GTPU IPv6 */
-#define ICE_RSS_TYPE_GTPU_IPV6 (ICE_RSS_TYPE_INNER_IPV6 | \
- ETH_RSS_GTPU)
-#define ICE_RSS_TYPE_GTPU_IPV6_UDP (ICE_RSS_TYPE_INNER_IPV6_UDP | \
- ETH_RSS_GTPU)
-#define ICE_RSS_TYPE_GTPU_IPV6_TCP (ICE_RSS_TYPE_INNER_IPV6_TCP | \
- ETH_RSS_GTPU)
-
-/* PPPOE IPv4 */
-#define ICE_RSS_TYPE_PPPOE_IPV4 (ICE_RSS_TYPE_INNER_IPV4 | \
- ETH_RSS_PPPOE)
-#define ICE_RSS_TYPE_PPPOE_IPV4_UDP (ICE_RSS_TYPE_INNER_IPV4_UDP | \
- ETH_RSS_PPPOE)
-#define ICE_RSS_TYPE_PPPOE_IPV4_TCP (ICE_RSS_TYPE_INNER_IPV4_TCP | \
- ETH_RSS_PPPOE)
-
-/* PPPOE IPv6 */
-#define ICE_RSS_TYPE_PPPOE_IPV6 (ICE_RSS_TYPE_INNER_IPV6 | \
- ETH_RSS_PPPOE)
-#define ICE_RSS_TYPE_PPPOE_IPV6_UDP (ICE_RSS_TYPE_INNER_IPV6_UDP | \
- ETH_RSS_PPPOE)
-#define ICE_RSS_TYPE_PPPOE_IPV6_TCP (ICE_RSS_TYPE_INNER_IPV6_TCP | \
- ETH_RSS_PPPOE)
-
-/* PPPOE*/
+/* PPPOE */
#define ICE_RSS_TYPE_PPPOE (ETH_RSS_ETH | ETH_RSS_PPPOE)
+/* GTPU */
+#define ICE_RSS_TYPE_GTPU ETH_RSS_GTPU
+
/* ESP, AH, L2TPV3 and PFCP */
#define ICE_RSS_TYPE_IPV4_ESP (ETH_RSS_ESP | ETH_RSS_IPV4)
#define ICE_RSS_TYPE_IPV6_ESP (ETH_RSS_ESP | ETH_RSS_IPV6)
@@ -461,67 +429,67 @@ struct ice_rss_hash_cfg empty_tmplt = {
*/
static struct ice_pattern_match_item ice_hash_pattern_list[] = {
/* IPV4 */
- {pattern_eth_ipv4, ICE_RSS_TYPE_OUTER_IPV4, &ipv4_tmplt},
- {pattern_eth_ipv4_udp, ICE_RSS_TYPE_OUTER_IPV4_UDP, &ipv4_udp_tmplt},
- {pattern_eth_ipv4_tcp, ICE_RSS_TYPE_OUTER_IPV4_TCP, &ipv4_tcp_tmplt},
- {pattern_eth_ipv4_sctp, ICE_RSS_TYPE_OUTER_IPV4_SCTP, &ipv4_sctp_tmplt},
- {pattern_eth_vlan_ipv4, ICE_RSS_TYPE_VLAN_IPV4, &ipv4_tmplt},
- {pattern_eth_vlan_ipv4_udp, ICE_RSS_TYPE_VLAN_IPV4_UDP, &ipv4_udp_tmplt},
- {pattern_eth_vlan_ipv4_tcp, ICE_RSS_TYPE_VLAN_IPV4_TCP, &ipv4_tcp_tmplt},
- {pattern_eth_vlan_ipv4_sctp, ICE_RSS_TYPE_VLAN_IPV4_SCTP, &ipv4_sctp_tmplt},
- {pattern_eth_ipv4_gtpu_ipv4, ICE_RSS_TYPE_GTPU_IPV4, &outer_ipv4_inner_ipv4_tmplt},
- {pattern_eth_ipv4_gtpu_ipv4_udp, ICE_RSS_TYPE_GTPU_IPV4_UDP, &outer_ipv4_inner_ipv4_udp_tmplt},
- {pattern_eth_ipv4_gtpu_ipv4_tcp, ICE_RSS_TYPE_GTPU_IPV4_TCP, &outer_ipv4_inner_ipv4_tcp_tmplt},
- {pattern_eth_ipv6_gtpu_ipv4, ICE_RSS_TYPE_GTPU_IPV4, &outer_ipv6_inner_ipv4_tmplt},
- {pattern_eth_ipv6_gtpu_ipv4_udp, ICE_RSS_TYPE_GTPU_IPV4_UDP, &outer_ipv6_inner_ipv4_udp_tmplt},
- {pattern_eth_ipv6_gtpu_ipv4_tcp, ICE_RSS_TYPE_GTPU_IPV4_TCP, &outer_ipv6_inner_ipv4_tcp_tmplt},
- {pattern_eth_ipv4_gtpu_eh_ipv4, ICE_RSS_TYPE_GTPU_IPV4, &outer_ipv4_inner_ipv4_tmplt},
- {pattern_eth_ipv4_gtpu_eh_ipv4_udp, ICE_RSS_TYPE_GTPU_IPV4_UDP, &outer_ipv4_inner_ipv4_udp_tmplt},
- {pattern_eth_ipv4_gtpu_eh_ipv4_tcp, ICE_RSS_TYPE_GTPU_IPV4_TCP, &outer_ipv4_inner_ipv4_tcp_tmplt},
- {pattern_eth_ipv6_gtpu_eh_ipv4, ICE_RSS_TYPE_GTPU_IPV4, &outer_ipv6_inner_ipv4_tmplt},
- {pattern_eth_ipv6_gtpu_eh_ipv4_udp, ICE_RSS_TYPE_GTPU_IPV4_UDP, &outer_ipv6_inner_ipv4_udp_tmplt},
- {pattern_eth_ipv6_gtpu_eh_ipv4_tcp, ICE_RSS_TYPE_GTPU_IPV4_TCP, &outer_ipv6_inner_ipv4_tcp_tmplt},
- {pattern_eth_pppoes_ipv4, ICE_RSS_TYPE_PPPOE_IPV4, &ipv4_tmplt},
- {pattern_eth_pppoes_ipv4_udp, ICE_RSS_TYPE_PPPOE_IPV4_UDP, &ipv4_udp_tmplt},
- {pattern_eth_pppoes_ipv4_tcp, ICE_RSS_TYPE_PPPOE_IPV4_TCP, &ipv4_tcp_tmplt},
- {pattern_eth_ipv4_esp, ICE_RSS_TYPE_IPV4_ESP, ð_ipv4_esp_tmplt},
- {pattern_eth_ipv4_udp_esp, ICE_RSS_TYPE_IPV4_ESP, ð_ipv4_udp_esp_tmplt},
- {pattern_eth_ipv4_ah, ICE_RSS_TYPE_IPV4_AH, ð_ipv4_ah_tmplt},
- {pattern_eth_ipv4_l2tp, ICE_RSS_TYPE_IPV4_L2TPV3, ð_ipv4_l2tpv3_tmplt},
- {pattern_eth_ipv4_pfcp, ICE_RSS_TYPE_IPV4_PFCP, ð_ipv4_pfcp_tmplt},
+ {pattern_eth_ipv4, ICE_INSET_NONE, ICE_RSS_TYPE_ETH_IPV4, &ipv4_tmplt},
+ {pattern_eth_ipv4_udp, ICE_INSET_NONE, ICE_RSS_TYPE_ETH_IPV4_UDP, &ipv4_udp_tmplt},
+ {pattern_eth_ipv4_tcp, ICE_INSET_NONE, ICE_RSS_TYPE_ETH_IPV4_TCP, &ipv4_tcp_tmplt},
+ {pattern_eth_ipv4_sctp, ICE_INSET_NONE, ICE_RSS_TYPE_ETH_IPV4_SCTP, &ipv4_sctp_tmplt},
+ {pattern_eth_vlan_ipv4, ICE_INSET_NONE, ICE_RSS_TYPE_VLAN_IPV4, &ipv4_tmplt},
+ {pattern_eth_vlan_ipv4_udp, ICE_INSET_NONE, ICE_RSS_TYPE_VLAN_IPV4_UDP, &ipv4_udp_tmplt},
+ {pattern_eth_vlan_ipv4_tcp, ICE_INSET_NONE, ICE_RSS_TYPE_VLAN_IPV4_TCP, &ipv4_tcp_tmplt},
+ {pattern_eth_vlan_ipv4_sctp, ICE_INSET_NONE, ICE_RSS_TYPE_VLAN_IPV4_SCTP, &ipv4_sctp_tmplt},
+ {pattern_eth_ipv4_gtpu_ipv4, ICE_RSS_TYPE_GTPU, ICE_RSS_TYPE_IPV4, &outer_ipv4_inner_ipv4_tmplt},
+ {pattern_eth_ipv4_gtpu_ipv4_udp, ICE_RSS_TYPE_GTPU, ICE_RSS_TYPE_IPV4_UDP, &outer_ipv4_inner_ipv4_udp_tmplt},
+ {pattern_eth_ipv4_gtpu_ipv4_tcp, ICE_RSS_TYPE_GTPU, ICE_RSS_TYPE_IPV4_TCP, &outer_ipv4_inner_ipv4_tcp_tmplt},
+ {pattern_eth_ipv6_gtpu_ipv4, ICE_RSS_TYPE_GTPU, ICE_RSS_TYPE_IPV4, &outer_ipv6_inner_ipv4_tmplt},
+ {pattern_eth_ipv6_gtpu_ipv4_udp, ICE_RSS_TYPE_GTPU, ICE_RSS_TYPE_IPV4_UDP, &outer_ipv6_inner_ipv4_udp_tmplt},
+ {pattern_eth_ipv6_gtpu_ipv4_tcp, ICE_RSS_TYPE_GTPU, ICE_RSS_TYPE_IPV4_TCP, &outer_ipv6_inner_ipv4_tcp_tmplt},
+ {pattern_eth_ipv4_gtpu_eh_ipv4, ICE_RSS_TYPE_GTPU, ICE_RSS_TYPE_IPV4, &outer_ipv4_inner_ipv4_tmplt},
+ {pattern_eth_ipv4_gtpu_eh_ipv4_udp, ICE_RSS_TYPE_GTPU, ICE_RSS_TYPE_IPV4_UDP, &outer_ipv4_inner_ipv4_udp_tmplt},
+ {pattern_eth_ipv4_gtpu_eh_ipv4_tcp, ICE_RSS_TYPE_GTPU, ICE_RSS_TYPE_IPV4_TCP, &outer_ipv4_inner_ipv4_tcp_tmplt},
+ {pattern_eth_ipv6_gtpu_eh_ipv4, ICE_RSS_TYPE_GTPU, ICE_RSS_TYPE_IPV4, &outer_ipv6_inner_ipv4_tmplt},
+ {pattern_eth_ipv6_gtpu_eh_ipv4_udp, ICE_RSS_TYPE_GTPU, ICE_RSS_TYPE_IPV4_UDP, &outer_ipv6_inner_ipv4_udp_tmplt},
+ {pattern_eth_ipv6_gtpu_eh_ipv4_tcp, ICE_RSS_TYPE_GTPU, ICE_RSS_TYPE_IPV4_TCP, &outer_ipv6_inner_ipv4_tcp_tmplt},
+ {pattern_eth_pppoes_ipv4, ICE_RSS_TYPE_PPPOE, ICE_RSS_TYPE_IPV4, &ipv4_tmplt},
+ {pattern_eth_pppoes_ipv4_udp, ICE_RSS_TYPE_PPPOE, ICE_RSS_TYPE_IPV4_UDP, &ipv4_udp_tmplt},
+ {pattern_eth_pppoes_ipv4_tcp, ICE_RSS_TYPE_PPPOE, ICE_RSS_TYPE_IPV4_TCP, &ipv4_tcp_tmplt},
+ {pattern_eth_ipv4_esp, ICE_RSS_TYPE_IPV4_ESP, ICE_INSET_NONE, ð_ipv4_esp_tmplt},
+ {pattern_eth_ipv4_udp_esp, ICE_RSS_TYPE_IPV4_ESP, ICE_INSET_NONE, ð_ipv4_udp_esp_tmplt},
+ {pattern_eth_ipv4_ah, ICE_RSS_TYPE_IPV4_AH, ICE_INSET_NONE, ð_ipv4_ah_tmplt},
+ {pattern_eth_ipv4_l2tp, ICE_RSS_TYPE_IPV4_L2TPV3, ICE_INSET_NONE, ð_ipv4_l2tpv3_tmplt},
+ {pattern_eth_ipv4_pfcp, ICE_RSS_TYPE_IPV4_PFCP, ICE_INSET_NONE, ð_ipv4_pfcp_tmplt},
/* IPV6 */
- {pattern_eth_ipv6, ICE_RSS_TYPE_OUTER_IPV6, &ipv6_tmplt},
- {pattern_eth_ipv6_udp, ICE_RSS_TYPE_OUTER_IPV6_UDP, &ipv6_udp_tmplt},
- {pattern_eth_ipv6_tcp, ICE_RSS_TYPE_OUTER_IPV6_TCP, &ipv6_tcp_tmplt},
- {pattern_eth_ipv6_sctp, ICE_RSS_TYPE_OUTER_IPV6_SCTP, &ipv6_sctp_tmplt},
- {pattern_eth_vlan_ipv6, ICE_RSS_TYPE_VLAN_IPV6, &ipv6_tmplt},
- {pattern_eth_vlan_ipv6_udp, ICE_RSS_TYPE_VLAN_IPV6_UDP, &ipv6_udp_tmplt},
- {pattern_eth_vlan_ipv6_tcp, ICE_RSS_TYPE_VLAN_IPV6_TCP, &ipv6_tcp_tmplt},
- {pattern_eth_vlan_ipv6_sctp, ICE_RSS_TYPE_VLAN_IPV6_SCTP, &ipv6_sctp_tmplt},
- {pattern_eth_ipv4_gtpu_ipv6, ICE_RSS_TYPE_GTPU_IPV6, &outer_ipv4_inner_ipv6_tmplt},
- {pattern_eth_ipv4_gtpu_ipv6_udp, ICE_RSS_TYPE_GTPU_IPV6_UDP, &outer_ipv4_inner_ipv6_udp_tmplt},
- {pattern_eth_ipv4_gtpu_ipv6_tcp, ICE_RSS_TYPE_GTPU_IPV6_TCP, &outer_ipv4_inner_ipv6_tcp_tmplt},
- {pattern_eth_ipv6_gtpu_ipv6, ICE_RSS_TYPE_GTPU_IPV6, &outer_ipv6_inner_ipv6_tmplt},
- {pattern_eth_ipv6_gtpu_ipv6_udp, ICE_RSS_TYPE_GTPU_IPV6_UDP, &outer_ipv6_inner_ipv6_udp_tmplt},
- {pattern_eth_ipv6_gtpu_ipv6_tcp, ICE_RSS_TYPE_GTPU_IPV6_TCP, &outer_ipv6_inner_ipv6_tcp_tmplt},
- {pattern_eth_ipv4_gtpu_eh_ipv6, ICE_RSS_TYPE_GTPU_IPV6, &outer_ipv4_inner_ipv6_tmplt},
- {pattern_eth_ipv4_gtpu_eh_ipv6_udp, ICE_RSS_TYPE_GTPU_IPV6_UDP, &outer_ipv4_inner_ipv6_udp_tmplt},
- {pattern_eth_ipv4_gtpu_eh_ipv6_tcp, ICE_RSS_TYPE_GTPU_IPV6_TCP, &outer_ipv4_inner_ipv6_tcp_tmplt},
- {pattern_eth_ipv6_gtpu_eh_ipv6, ICE_RSS_TYPE_GTPU_IPV6, &outer_ipv6_inner_ipv6_tmplt},
- {pattern_eth_ipv6_gtpu_eh_ipv6_udp, ICE_RSS_TYPE_GTPU_IPV6_UDP, &outer_ipv6_inner_ipv6_udp_tmplt},
- {pattern_eth_ipv6_gtpu_eh_ipv6_tcp, ICE_RSS_TYPE_GTPU_IPV6_TCP, &outer_ipv6_inner_ipv6_tcp_tmplt},
- {pattern_eth_pppoes_ipv6, ICE_RSS_TYPE_PPPOE_IPV6, &ipv6_tmplt},
- {pattern_eth_pppoes_ipv6_udp, ICE_RSS_TYPE_PPPOE_IPV6_UDP, &ipv6_udp_tmplt},
- {pattern_eth_pppoes_ipv6_tcp, ICE_RSS_TYPE_PPPOE_IPV6_TCP, &ipv6_tcp_tmplt},
- {pattern_eth_ipv6_esp, ICE_RSS_TYPE_IPV6_ESP, ð_ipv6_esp_tmplt},
- {pattern_eth_ipv6_udp_esp, ICE_RSS_TYPE_IPV6_ESP, ð_ipv6_udp_esp_tmplt},
- {pattern_eth_ipv6_ah, ICE_RSS_TYPE_IPV6_AH, ð_ipv6_ah_tmplt},
- {pattern_eth_ipv6_l2tp, ICE_RSS_TYPE_IPV6_L2TPV3, ð_ipv6_l2tpv3_tmplt},
- {pattern_eth_ipv6_pfcp, ICE_RSS_TYPE_IPV6_PFCP, ð_ipv6_pfcp_tmplt},
+ {pattern_eth_ipv6, ICE_INSET_NONE, ICE_RSS_TYPE_ETH_IPV6, &ipv6_tmplt},
+ {pattern_eth_ipv6_udp, ICE_INSET_NONE, ICE_RSS_TYPE_ETH_IPV6_UDP, &ipv6_udp_tmplt},
+ {pattern_eth_ipv6_tcp, ICE_INSET_NONE, ICE_RSS_TYPE_ETH_IPV6_TCP, &ipv6_tcp_tmplt},
+ {pattern_eth_ipv6_sctp, ICE_INSET_NONE, ICE_RSS_TYPE_ETH_IPV6_SCTP, &ipv6_sctp_tmplt},
+ {pattern_eth_vlan_ipv6, ICE_INSET_NONE, ICE_RSS_TYPE_VLAN_IPV6, &ipv6_tmplt},
+ {pattern_eth_vlan_ipv6_udp, ICE_INSET_NONE, ICE_RSS_TYPE_VLAN_IPV6_UDP, &ipv6_udp_tmplt},
+ {pattern_eth_vlan_ipv6_tcp, ICE_INSET_NONE, ICE_RSS_TYPE_VLAN_IPV6_TCP, &ipv6_tcp_tmplt},
+ {pattern_eth_vlan_ipv6_sctp, ICE_INSET_NONE, ICE_RSS_TYPE_VLAN_IPV6_SCTP, &ipv6_sctp_tmplt},
+ {pattern_eth_ipv4_gtpu_ipv6, ICE_RSS_TYPE_GTPU, ICE_RSS_TYPE_IPV6, &outer_ipv4_inner_ipv6_tmplt},
+ {pattern_eth_ipv4_gtpu_ipv6_udp, ICE_RSS_TYPE_GTPU, ICE_RSS_TYPE_IPV6_UDP, &outer_ipv4_inner_ipv6_udp_tmplt},
+ {pattern_eth_ipv4_gtpu_ipv6_tcp, ICE_RSS_TYPE_GTPU, ICE_RSS_TYPE_IPV6_TCP, &outer_ipv4_inner_ipv6_tcp_tmplt},
+ {pattern_eth_ipv6_gtpu_ipv6, ICE_RSS_TYPE_GTPU, ICE_RSS_TYPE_IPV6, &outer_ipv6_inner_ipv6_tmplt},
+ {pattern_eth_ipv6_gtpu_ipv6_udp, ICE_RSS_TYPE_GTPU, ICE_RSS_TYPE_IPV6_UDP, &outer_ipv6_inner_ipv6_udp_tmplt},
+ {pattern_eth_ipv6_gtpu_ipv6_tcp, ICE_RSS_TYPE_GTPU, ICE_RSS_TYPE_IPV6_TCP, &outer_ipv6_inner_ipv6_tcp_tmplt},
+ {pattern_eth_ipv4_gtpu_eh_ipv6, ICE_RSS_TYPE_GTPU, ICE_RSS_TYPE_IPV6, &outer_ipv4_inner_ipv6_tmplt},
+ {pattern_eth_ipv4_gtpu_eh_ipv6_udp, ICE_RSS_TYPE_GTPU, ICE_RSS_TYPE_IPV6_UDP, &outer_ipv4_inner_ipv6_udp_tmplt},
+ {pattern_eth_ipv4_gtpu_eh_ipv6_tcp, ICE_RSS_TYPE_GTPU, ICE_RSS_TYPE_IPV6_TCP, &outer_ipv4_inner_ipv6_tcp_tmplt},
+ {pattern_eth_ipv6_gtpu_eh_ipv6, ICE_RSS_TYPE_GTPU, ICE_RSS_TYPE_IPV6, &outer_ipv6_inner_ipv6_tmplt},
+ {pattern_eth_ipv6_gtpu_eh_ipv6_udp, ICE_RSS_TYPE_GTPU, ICE_RSS_TYPE_IPV6_UDP, &outer_ipv6_inner_ipv6_udp_tmplt},
+ {pattern_eth_ipv6_gtpu_eh_ipv6_tcp, ICE_RSS_TYPE_GTPU, ICE_RSS_TYPE_IPV6_TCP, &outer_ipv6_inner_ipv6_tcp_tmplt},
+ {pattern_eth_pppoes_ipv6, ICE_RSS_TYPE_PPPOE, ICE_RSS_TYPE_IPV6, &ipv6_tmplt},
+ {pattern_eth_pppoes_ipv6_udp, ICE_RSS_TYPE_PPPOE, ICE_RSS_TYPE_IPV6_UDP, &ipv6_udp_tmplt},
+ {pattern_eth_pppoes_ipv6_tcp, ICE_RSS_TYPE_PPPOE, ICE_RSS_TYPE_IPV6_TCP, &ipv6_tcp_tmplt},
+ {pattern_eth_ipv6_esp, ICE_RSS_TYPE_IPV6_ESP, ICE_INSET_NONE, ð_ipv6_esp_tmplt},
+ {pattern_eth_ipv6_udp_esp, ICE_RSS_TYPE_IPV6_ESP, ICE_INSET_NONE, ð_ipv6_udp_esp_tmplt},
+ {pattern_eth_ipv6_ah, ICE_RSS_TYPE_IPV6_AH, ICE_INSET_NONE, ð_ipv6_ah_tmplt},
+ {pattern_eth_ipv6_l2tp, ICE_RSS_TYPE_IPV6_L2TPV3, ICE_INSET_NONE, ð_ipv6_l2tpv3_tmplt},
+ {pattern_eth_ipv6_pfcp, ICE_RSS_TYPE_IPV6_PFCP, ICE_INSET_NONE, ð_ipv6_pfcp_tmplt},
/* PPPOE */
- {pattern_eth_pppoes, ICE_RSS_TYPE_PPPOE, &pppoe_tmplt},
+ {pattern_eth_pppoes, ICE_RSS_TYPE_PPPOE, ICE_INSET_NONE, &pppoe_tmplt},
/* EMPTY */
- {pattern_empty, ICE_RSS_TYPE_EMPTY, &empty_tmplt},
+ {pattern_empty, ICE_INSET_NONE, ICE_INSET_NONE, &empty_tmplt},
};
static struct ice_flow_engine ice_hash_engine = {
@@ -908,6 +876,7 @@ ice_hash_parse_action(struct ice_pattern_match_item *pattern_match_item,
enum rte_flow_action_type action_type;
const struct rte_flow_action_rss *rss;
const struct rte_flow_action *action;
+ uint64_t allow_rss_type;
uint64_t rss_type;
/* Supported action is RSS. */
@@ -959,8 +928,10 @@ ice_hash_parse_action(struct ice_pattern_match_item *pattern_match_item,
*/
rss_type = rte_eth_rss_hf_refine(rss_type);
+ allow_rss_type = pattern_match_item->input_set_mask_f |
+ pattern_match_item->input_set_mask;
if (ice_any_invalid_rss_type(rss->func, rss_type,
- pattern_match_item->input_set_mask))
+ allow_rss_type))
return rte_flow_error_set(error, ENOTSUP,
RTE_FLOW_ERROR_TYPE_ACTION,
action, "RSS type not supported");
diff --git a/drivers/net/ice/ice_switch_filter.c b/drivers/net/ice/ice_switch_filter.c
index 7bac77ecd1..ee0055e415 100644
--- a/drivers/net/ice/ice_switch_filter.c
+++ b/drivers/net/ice/ice_switch_filter.c
@@ -148,206 +148,108 @@ static struct ice_flow_parser ice_switch_perm_parser;
static struct
ice_pattern_match_item ice_switch_pattern_dist_list[] = {
- {pattern_ethertype,
- ICE_SW_INSET_ETHER, ICE_INSET_NONE},
- {pattern_ethertype_vlan,
- ICE_SW_INSET_MAC_VLAN, ICE_INSET_NONE},
- {pattern_ethertype_qinq,
- ICE_SW_INSET_MAC_QINQ, 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_eth_qinq_ipv4,
- ICE_SW_INSET_MAC_QINQ_IPV4, ICE_INSET_NONE},
- {pattern_eth_qinq_ipv6,
- ICE_SW_INSET_MAC_QINQ_IPV6, ICE_INSET_NONE},
- {pattern_eth_qinq_pppoes,
- ICE_SW_INSET_MAC_PPPOE, ICE_INSET_NONE},
- {pattern_eth_qinq_pppoes_proto,
- ICE_SW_INSET_MAC_PPPOE_PROTO, ICE_INSET_NONE},
- {pattern_eth_qinq_pppoes_ipv4,
- ICE_SW_INSET_MAC_PPPOE_IPV4, ICE_INSET_NONE},
- {pattern_eth_qinq_pppoes_ipv6,
- ICE_SW_INSET_MAC_PPPOE_IPV6, 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_ethertype_qinq, ICE_INSET_NONE, ICE_SW_INSET_MAC_QINQ, 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},
+ {pattern_eth_qinq_ipv4, ICE_INSET_NONE, ICE_SW_INSET_MAC_QINQ_IPV4, ICE_INSET_NONE},
+ {pattern_eth_qinq_ipv6, ICE_INSET_NONE, ICE_SW_INSET_MAC_QINQ_IPV6, ICE_INSET_NONE},
+ {pattern_eth_qinq_pppoes, ICE_INSET_NONE, ICE_SW_INSET_MAC_PPPOE, ICE_INSET_NONE},
+ {pattern_eth_qinq_pppoes_proto, ICE_INSET_NONE, ICE_SW_INSET_MAC_PPPOE_PROTO, ICE_INSET_NONE},
+ {pattern_eth_qinq_pppoes_ipv4, ICE_INSET_NONE, ICE_SW_INSET_MAC_PPPOE_IPV4, ICE_INSET_NONE},
+ {pattern_eth_qinq_pppoes_ipv6, ICE_INSET_NONE, ICE_SW_INSET_MAC_PPPOE_IPV6, ICE_INSET_NONE},
};
static struct
ice_pattern_match_item ice_switch_pattern_perm_list[] = {
- {pattern_ethertype,
- ICE_SW_INSET_ETHER, ICE_INSET_NONE},
- {pattern_ethertype_vlan,
- ICE_SW_INSET_MAC_VLAN, ICE_INSET_NONE},
- {pattern_ethertype_qinq,
- ICE_SW_INSET_MAC_QINQ, 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_eth_qinq_ipv4,
- ICE_SW_INSET_MAC_QINQ_IPV4, ICE_INSET_NONE},
- {pattern_eth_qinq_ipv6,
- ICE_SW_INSET_MAC_QINQ_IPV6, ICE_INSET_NONE},
- {pattern_eth_qinq_pppoes,
- ICE_SW_INSET_MAC_PPPOE, ICE_INSET_NONE},
- {pattern_eth_qinq_pppoes_proto,
- ICE_SW_INSET_MAC_PPPOE_PROTO, ICE_INSET_NONE},
- {pattern_eth_qinq_pppoes_ipv4,
- ICE_SW_INSET_MAC_PPPOE_IPV4, ICE_INSET_NONE},
- {pattern_eth_qinq_pppoes_ipv6,
- ICE_SW_INSET_MAC_PPPOE_IPV6, 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_ethertype_qinq, ICE_INSET_NONE, ICE_SW_INSET_MAC_QINQ, 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},
+ {pattern_eth_qinq_ipv4, ICE_INSET_NONE, ICE_SW_INSET_MAC_QINQ_IPV4, ICE_INSET_NONE},
+ {pattern_eth_qinq_ipv6, ICE_INSET_NONE, ICE_SW_INSET_MAC_QINQ_IPV6, ICE_INSET_NONE},
+ {pattern_eth_qinq_pppoes, ICE_INSET_NONE, ICE_SW_INSET_MAC_PPPOE, ICE_INSET_NONE},
+ {pattern_eth_qinq_pppoes_proto, ICE_INSET_NONE, ICE_SW_INSET_MAC_PPPOE_PROTO, ICE_INSET_NONE},
+ {pattern_eth_qinq_pppoes_ipv4, ICE_INSET_NONE, ICE_SW_INSET_MAC_PPPOE_IPV4, ICE_INSET_NONE},
+ {pattern_eth_qinq_pppoes_ipv6, ICE_INSET_NONE, ICE_SW_INSET_MAC_PPPOE_IPV6, ICE_INSET_NONE},
};
static int
--
2.25.1
next prev parent reply other threads:[~2021-01-27 5:35 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-12-21 6:51 [dpdk-dev] [PATCH v1 0/5] Refactor FDIR pattern parser Zhirun Yan
2020-12-21 6:51 ` [dpdk-dev] [PATCH v1 1/5] net/ice: clean input set macro definition Zhirun Yan
2020-12-21 6:51 ` [dpdk-dev] [PATCH v1 2/5] net/ice: refactor flow pattern parser Zhirun Yan
2020-12-25 5:21 ` Cao, Yahui
2021-01-07 3:07 ` Yan, Zhirun
2020-12-21 6:51 ` [dpdk-dev] [PATCH v1 3/5] net/ice: add outer input set mask to distinguish outer fields Zhirun Yan
2020-12-25 5:27 ` Cao, Yahui
2021-01-07 3:11 ` Yan, Zhirun
2020-12-21 6:51 ` [dpdk-dev] [PATCH v1 4/5] net/ice: add outer input set mask check Zhirun Yan
2020-12-25 5:28 ` Cao, Yahui
2021-01-07 3:14 ` Yan, Zhirun
2020-12-21 6:51 ` [dpdk-dev] [PATCH v1 5/5] net/ice: enable FDIR outer/inner fields for VXLAN Zhirun Yan
2021-01-27 5:29 ` [dpdk-dev] [PATCH v2 0/3] Refactor FDIR pattern parser Zhirun Yan
2021-01-27 5:29 ` [dpdk-dev] [PATCH v2 1/3] net/ice: clean input set macro definition Zhirun Yan
2021-01-27 5:29 ` [dpdk-dev] [PATCH v2 2/3] net/ice: refactor flow pattern parser Zhirun Yan
2021-01-27 5:29 ` Zhirun Yan [this message]
2021-03-02 2:54 ` [dpdk-dev] [PATCH v3 0/6] Refactor FDIR " Zhirun Yan
2021-03-02 2:54 ` [dpdk-dev] [PATCH v3 1/6] net/ice: clean input set macro definition Zhirun Yan
2021-03-02 2:54 ` [dpdk-dev] [PATCH v3 2/6] net/ice: refactor structure field Zhirun Yan
2021-03-02 2:54 ` [dpdk-dev] [PATCH v3 3/6] net/ice: refactor flow pattern parser Zhirun Yan
2021-03-02 2:54 ` [dpdk-dev] [PATCH v3 4/6] net/ice: refactor input set conf Zhirun Yan
2021-03-02 2:54 ` [dpdk-dev] [PATCH v3 5/6] net/ice: add outer input set mask to distinguish outer fields Zhirun Yan
2021-03-02 2:54 ` [dpdk-dev] [PATCH v3 6/6] net/ice: clean GTPU flow_type for FDIR Zhirun Yan
2021-03-05 8:46 ` [dpdk-dev] [PATCH v3 0/6] Refactor FDIR pattern parser Zhang, Qi Z
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210127052933.2149243-4-zhirun.yan@intel.com \
--to=zhirun.yan@intel.com \
--cc=dev@dpdk.org \
--cc=junfeng.guo@intel.com \
--cc=qi.z.zhang@intel.com \
--cc=simei.su@intel.com \
--cc=ting.xu@intel.com \
--cc=xiao.w.wang@intel.com \
--cc=xuan.ding@intel.com \
--cc=yahui.cao@intel.com \
--cc=yuying.zhang@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).