[dpdk-dev] [PATCH] common/cnxk: fix missing RTE Flow counter deletion

psatheesh at marvell.com psatheesh at marvell.com
Tue Jan 25 05:15:26 CET 2022


From: Satheesh Paul <psatheesh at marvell.com>

Added code to clear and delete counters upon flow deletion.

Fixes: a07f7ced43 ("common/cnxk: add NPC init and fini")
Cc: stable at dpdk.org

Signed-off-by: Satheesh Paul <psatheesh at marvell.com>
Reviewed-by: Jerin Jacob Kollanukkaran <jerinj at marvell.com>
---
 drivers/common/cnxk/roc_npc.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/drivers/common/cnxk/roc_npc.c b/drivers/common/cnxk/roc_npc.c
index e3961bfbc6..df3016f538 100644
--- a/drivers/common/cnxk/roc_npc.c
+++ b/drivers/common/cnxk/roc_npc.c
@@ -1259,6 +1259,16 @@ roc_npc_flow_destroy(struct roc_npc *roc_npc, struct roc_npc_flow *flow)
 			return rc;
 	}
 
+	if (flow->ctr_id != NPC_COUNTER_NONE) {
+		rc = roc_npc_mcam_clear_counter(roc_npc, flow->ctr_id);
+		if (rc != 0)
+			return rc;
+
+		rc = npc_mcam_free_counter(npc, flow->ctr_id);
+		if (rc != 0)
+			return rc;
+	}
+
 	rc = npc_mcam_free_entry(npc, flow->mcam_id);
 	if (rc != 0)
 		return rc;
-- 
2.25.4



More information about the stable mailing list