From 58f58cfe709cf167f9684e814cdbc8ab7535a798 Mon Sep 17 00:00:00 2001 From: Qi Zhang Date: Sat, 25 Jul 2020 20:14:24 +0800 Subject: [PATCH] net/ice/base: fix RSS interference A new symmetric RSS rule may force another asymmetric rule to be symmetric, vice versa. The reason is due to the flow engine will try to reuse the existing profile if the input set matches with the new rule. The fix is to disable this optimization for RSS since we are not at the situation as profile shortage. Fixes: ddae0440353f ("net/ice/base: enable symmetric hash for RSS") Cc: stable@dpdk.org Signed-off-by: Qi Zhang Tested-by: Nannan Lu Acked-by: Jeff Guo --- drivers/net/ice/base/ice_flex_pipe.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/net/ice/base/ice_flex_pipe.c b/drivers/net/ice/base/ice_flex_pipe.c index 2845694647..999ad6be3c 100644 --- a/drivers/net/ice/base/ice_flex_pipe.c +++ b/drivers/net/ice/base/ice_flex_pipe.c @@ -2808,10 +2808,10 @@ ice_find_prof_id_with_mask(struct ice_hw *hw, enum ice_block blk, struct ice_es *es = &hw->blk[blk].es; u8 i; - /* For FD, we don't want to re-use an existed profile with the same - * field vector and mask. This will cause rule interference. + /* For FD and RSS, we don't want to re-use an existed profile with the + * same field vector and mask. This will cause rule interference. */ - if (blk == ICE_BLK_FD) + if (blk == ICE_BLK_FD || blk == ICE_BLK_RSS) return ICE_ERR_DOES_NOT_EXIST; for (i = 0; i < (u8)es->count; i++) { -- 2.20.1