From: Yuying Zhang <yuying.zhang@intel.com>
This patch is not for LTS upstream, just for users to cherry-pick.
Priority 0 and 1 were supported in switch filter. However,
FDIR, ACL and RSS don't support priority 1. Add priority check
in FDIR, ACL and RSS filter parse functions.
Signed-off-by: Yuying Zhang <yuying.zhang@intel.com>
---
drivers/net/ice/ice_acl_filter.c | 5 ++++-
drivers/net/ice/ice_fdir_filter.c | 5 ++++-
drivers/net/ice/ice_hash.c | 5 ++++-
3 files changed, 12 insertions(+), 3 deletions(-)
@@ -904,7 +904,7 @@ ice_acl_parse(struct ice_adapter *ad,
uint32_t array_len,
const struct rte_flow_item pattern[],
const struct rte_flow_action actions[],
- uint32_t priority __rte_unused,
+ uint32_t priority,
void **meta,
struct rte_flow_error *error)
{
@@ -914,6 +914,9 @@ ice_acl_parse(struct ice_adapter *ad,
uint64_t input_set;
int ret;
+ if (priority >= 1)
+ return -rte_errno;
+
memset(filter, 0, sizeof(*filter));
item = ice_search_pattern_match_item(pattern, array, array_len, error);
if (!item)
@@ -2029,7 +2029,7 @@ ice_fdir_parse(struct ice_adapter *ad,
uint32_t array_len,
const struct rte_flow_item pattern[],
const struct rte_flow_action actions[],
- uint32_t priority __rte_unused,
+ uint32_t priority,
void **meta,
struct rte_flow_error *error)
{
@@ -2039,6 +2039,9 @@ ice_fdir_parse(struct ice_adapter *ad,
uint64_t input_set;
int ret;
+ if (priority >= 1)
+ return -rte_errno;
+
memset(filter, 0, sizeof(*filter));
item = ice_search_pattern_match_item(pattern, array, array_len, error);
if (!item)
@@ -1238,7 +1238,7 @@ ice_hash_parse_pattern_action(__rte_unused struct ice_adapter *ad,
uint32_t array_len,
const struct rte_flow_item pattern[],
const struct rte_flow_action actions[],
- uint32_t priority __rte_unused,
+ uint32_t priority,
void **meta,
struct rte_flow_error *error)
{
@@ -1246,6 +1246,9 @@ ice_hash_parse_pattern_action(__rte_unused struct ice_adapter *ad,
struct ice_pattern_match_item *pattern_match_item;
struct rss_meta *rss_meta_ptr;
+ if (priority >= 1)
+ return -rte_errno;
+
rss_meta_ptr = rte_zmalloc(NULL, sizeof(*rss_meta_ptr), 0);
if (!rss_meta_ptr) {
rte_flow_error_set(error, EINVAL,