[v1] net/ice: fix invalid symmetric RSS rule created
Checks
Commit Message
The flow rule with symmetric toeplitz hash function and SRC_ONLY
or DST_ONLY RSS type together should not be created successfully.
Fix the RSS action parse function to stop the rule creation in
this situation.
Fixes: 5ad3db8d4bdd ("net/ice: enable advanced RSS")
Cc: stable@dpdk.org
Signed-off-by: Ting Xu <ting.xu@intel.com>
---
drivers/net/ice/ice_hash.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
@@ -1044,6 +1044,19 @@ ice_hash_parse_action(struct ice_pattern_match_item *pattern_match_item,
ETH_RSS_L4_SRC_ONLY |
ETH_RSS_L4_DST_ONLY;
+ /**
+ * Check if SRC_ONLY or DST_ONLY is set for
+ * SYMMETRIC_TOEPLITZ hash function.
+ */
+ if (rss->func ==
+ RTE_ETH_HASH_FUNCTION_SYMMETRIC_TOEPLITZ) {
+ if (rss_type & combine_type)
+ return rte_flow_error_set(error,
+ ENOTSUP, RTE_FLOW_ERROR_TYPE_ACTION,
+ action, "Not supported RSS types for "
+ "symmetric toeplitz hash");
+ }
+
/* Check if rss types match pattern. */
if (rss_type & ~combine_type & ~m->eth_rss_hint) {
return rte_flow_error_set(error,