net/ice/base: check new FD filter duplication
authorLeyi Rong <leyi.rong@intel.com>
Wed, 19 Jun 2019 15:18:13 +0000 (23:18 +0800)
committerFerruh Yigit <ferruh.yigit@intel.com>
Fri, 28 Jun 2019 18:31:48 +0000 (20:31 +0200)
Function ice_fdir_is_dup_fltr tests if new Flow Director rule
is not a duplicate.

Signed-off-by: Karol Kolacinski <karol.kolacinski@intel.com>
Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com>
Signed-off-by: Leyi Rong <leyi.rong@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
drivers/net/ice/base/ice_fdir.c

index bde676a..9ef91b3 100644 (file)
@@ -692,8 +692,13 @@ bool ice_fdir_is_dup_fltr(struct ice_hw *hw, struct ice_fdir_fltr *input)
                                ret = ice_fdir_comp_rules(rule, input, false);
                        else
                                ret = ice_fdir_comp_rules(rule, input, true);
-                       if (ret)
-                               break;
+                       if (ret) {
+                               if (rule->fltr_id == input->fltr_id &&
+                                   rule->q_index != input->q_index)
+                                       ret = false;
+                               else
+                                       break;
+                       }
                }
        }