common/cnxk: fix missing RTE Flow counter reset
Checks
Commit Message
From: Satheesh Paul <psatheesh@marvell.com>
Added code to clear counters upon flow deletion.
Fixes: f9af9080746 ("common/cnxk: add mcam utility API")
Cc: stable@dpdk.org
Signed-off-by: Satheesh Paul <psatheesh@marvell.com>
Reviewed-by: Kiran Kumar Kokkilagadda <kirankumark@marvell.com>
---
drivers/common/cnxk/roc_npc_mcam.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
Comments
On Tue, Sep 13, 2022 at 10:40 AM <psatheesh@marvell.com> wrote:
>
> From: Satheesh Paul <psatheesh@marvell.com>
>
> Added code to clear counters upon flow deletion.
>
> Fixes: f9af9080746 ("common/cnxk: add mcam utility API")
> Cc: stable@dpdk.org
>
> Signed-off-by: Satheesh Paul <psatheesh@marvell.com>
> Reviewed-by: Kiran Kumar Kokkilagadda <kirankumark@marvell.com>
Please use Kiran Kumar K as it is consistent across tree.
Updated the git commit as follows and applied to
dpdk-next-net-mrvl/for-next-net. Thanks
common/cnxk: fix missing flow counter reset
Added code to clear counters upon flow deletion.
Fixes: f9af9080746 ("common/cnxk: add mcam utility API")
Cc: stable@dpdk.org
Signed-off-by: Satheesh Paul <psatheesh@marvell.com>
Reviewed-by: Kiran Kumar K <kirankumark@marvell.com>
> ---
> drivers/common/cnxk/roc_npc_mcam.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/common/cnxk/roc_npc_mcam.c b/drivers/common/cnxk/roc_npc_mcam.c
> index 82a9756189..4bea6719c5 100644
> --- a/drivers/common/cnxk/roc_npc_mcam.c
> +++ b/drivers/common/cnxk/roc_npc_mcam.c
> @@ -850,8 +850,10 @@ npc_flow_free_all_resources(struct npc *npc)
> for (idx = 0; idx < npc->flow_max_priority; idx++) {
> while ((flow = TAILQ_FIRST(&npc->flow_list[idx])) != NULL) {
> npc_rss_group_free(npc, flow);
> - if (flow->ctr_id != NPC_COUNTER_NONE)
> + if (flow->ctr_id != NPC_COUNTER_NONE) {
> + rc |= npc_mcam_clear_counter(npc, flow->ctr_id);
> rc |= npc_mcam_free_counter(npc, flow->ctr_id);
> + }
>
> npc_delete_prio_list_entry(npc, flow);
>
> --
> 2.35.3
>
@@ -850,8 +850,10 @@ npc_flow_free_all_resources(struct npc *npc)
for (idx = 0; idx < npc->flow_max_priority; idx++) {
while ((flow = TAILQ_FIRST(&npc->flow_list[idx])) != NULL) {
npc_rss_group_free(npc, flow);
- if (flow->ctr_id != NPC_COUNTER_NONE)
+ if (flow->ctr_id != NPC_COUNTER_NONE) {
+ rc |= npc_mcam_clear_counter(npc, flow->ctr_id);
rc |= npc_mcam_free_counter(npc, flow->ctr_id);
+ }
npc_delete_prio_list_entry(npc, flow);