[dpdk-dev] [PATCH] common/cnxk: fix missing RTE Flow counter deletion
    Jerin Jacob 
    jerinjacobk at gmail.com
       
    Thu Feb 17 07:36:40 CET 2022
    
    
  
On Tue, Jan 25, 2022 at 9:45 AM <psatheesh at marvell.com> wrote:
>
> 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>
Updated the comment as follows and applied to
dpdk-next-net-mrvl/for-next-net. Thanks
    common/cnxk: fix flow deletion
    When a flow is deleted, the counters are deleted without
    being cleared first. This results in counter values being
    retained and shown in flows created later. Hence, counter
    is cleared before being deleted.
    Updated driver 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 <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 dev
mailing list