[v2] net/ice: fix invalid RSS type
Checks
Commit Message
When a RSS rule with only RSS type modifier L2/L3/L4 SRC/DST_ONLY,
it should return failure. This patch adds invalid RSS type check.
Fixes: dfaedcf20170 ("net/ice: refactor PF hash flow")
Signed-off-by: Simei Su <simei.su@intel.com>
---
v2:
* Add specific macro value in check rather than hard code.
---
drivers/net/ice/ice_hash.c | 11 +++++++++++
1 file changed, 11 insertions(+)
@@ -722,6 +722,17 @@ struct ice_hash_match_type ice_hash_type_list[] = {
*/
rss_type = rte_eth_rss_hf_refine(rss_type);
+ /* Check if only L2/L3/L4 SRC/DST_ONLY exists. */
+ if ((rss_type & ~(ETH_RSS_L2_SRC_ONLY |
+ ETH_RSS_L2_DST_ONLY |
+ ETH_RSS_L3_SRC_ONLY |
+ ETH_RSS_L3_DST_ONLY |
+ ETH_RSS_L4_SRC_ONLY |
+ ETH_RSS_L4_DST_ONLY)) == 0)
+ return rte_flow_error_set(error, ENOTSUP,
+ RTE_FLOW_ERROR_TYPE_ACTION, action,
+ "rss type with only L2/L3/L4 src/dst only is invalid");
+
combine_type = ETH_RSS_L2_SRC_ONLY |
ETH_RSS_L2_DST_ONLY |
ETH_RSS_L3_SRC_ONLY |