Hi,

> -----Original Message-----
> From: Suanming Mou <suanmi...@mellanox.com>
> Sent: Friday, May 15, 2020 11:36 AM
> To: Matan Azrad <ma...@mellanox.com>; Shahaf Shuler
> <shah...@mellanox.com>; Slava Ovsiienko <viachesl...@mellanox.com>
> Cc: dev@dpdk.org; Raslan Darawsheh <rasl...@mellanox.com>
> Subject: [PATCH] net/mlx5: fix shared counter search with nested index
> 
> Currently, the shared counter search uses the wrong nested index which
> is used by the pool index. The incorrect nested index using causes the
> search go to incorrect counter pool is not existed.
> 
> Add the counter index to fix the incorrect nested use case.
> 
> Fixes: 4001d7ad26d4 ("net/mlx5: change Direct Verbs counter to indexed")
> 
> Signed-off-by: Suanming Mou <suanmi...@mellanox.com>
> Acked-by: Viacheslav Ovsiienko <viachesl...@mellanox.com>
> ---
>  drivers/net/mlx5/mlx5_flow_dv.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/net/mlx5/mlx5_flow_dv.c
> b/drivers/net/mlx5/mlx5_flow_dv.c
> index 71da5fb..deb4469 100644
> --- a/drivers/net/mlx5/mlx5_flow_dv.c
> +++ b/drivers/net/mlx5/mlx5_flow_dv.c
> @@ -4467,15 +4467,15 @@ struct field_modify_info modify_tcp[] = {
>  flow_dv_counter_shared_search(struct mlx5_pools_container *cont,
> uint32_t id,
>                             struct mlx5_flow_counter_pool **ppool)
>  {
> -     static struct mlx5_flow_counter_ext *cnt;
> +     struct mlx5_flow_counter_ext *cnt;
>       struct mlx5_flow_counter_pool *pool;
> -     uint32_t i;
> +     uint32_t i, j;
>       uint32_t n_valid = rte_atomic16_read(&cont->n_valid);
> 
>       for (i = 0; i < n_valid; i++) {
>               pool = cont->pools[i];
> -             for (i = 0; i < MLX5_COUNTERS_PER_POOL; ++i) {
> -                     cnt = MLX5_GET_POOL_CNT_EXT(pool, i);
> +             for (j = 0; j < MLX5_COUNTERS_PER_POOL; ++j) {
> +                     cnt = MLX5_GET_POOL_CNT_EXT(pool, j);
>                       if (cnt->ref_cnt && cnt->shared && cnt->id == id) {
>                               if (ppool)
>                                       *ppool = cont->pools[i];
> --
> 1.8.3.1

Title changed to:
net/mlx5: fix shared counter lookup

Patch applied to next-net-mlx,

Kindest regards,
Raslan Darawsheh

Reply via email to