[ovs-dev] [PATCH] netdev-tc-offloads: Don't delete ufid mapping if fail to delete filter

Roi Dayan roid at nvidia.com
Wed Oct 14 10:31:04 UTC 2020


From: Jianbo Liu <jianbol at nvidia.com>

tc_replace_flower may fail, so the return value must be checked.
If not zero, ufid can't be deleted. Otherwise the operations on this
filter may fail because its ufid is not found.

Signed-off-by: Jianbo Liu <jianbol at nvidia.com>
Reviewed-by: Roi Dayan <roid at nvidia.com>
---
 lib/netdev-offload-tc.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/lib/netdev-offload-tc.c b/lib/netdev-offload-tc.c
index 18ff380f9861..e828a8683910 100644
--- a/lib/netdev-offload-tc.c
+++ b/lib/netdev-offload-tc.c
@@ -198,7 +198,9 @@ del_filter_and_ufid_mapping(struct tcf_id *id, const ovs_u128 *ufid)
     int err;
 
     err = tc_del_filter(id);
-    del_ufid_tc_mapping(ufid);
+    if (!err) {
+        del_ufid_tc_mapping(ufid);
+    }
     return err;
 }
 
-- 
2.8.4



More information about the dev mailing list