[dpdk-dev] [PATCH v2] net/ice: fix invalid RSS type

Simei Su simei.su at intel.com
Thu Jul 9 09:50:20 CEST 2020


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 at 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(+)

diff --git a/drivers/net/ice/ice_hash.c b/drivers/net/ice/ice_hash.c
index cbd6116..2c79458 100644
--- a/drivers/net/ice/ice_hash.c
+++ b/drivers/net/ice/ice_hash.c
@@ -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 |
-- 
1.8.3.1



More information about the dev mailing list