Hi,
> -----Original Message-----
> From: Suanming Mou <suanmingm@nvidia.com>
> Sent: Wednesday, September 30, 2020 9:47 AM
> To: Slava Ovsiienko <viacheslavo@nvidia.com>; Matan Azrad
> <matan@nvidia.com>
> Cc: Raslan Darawsheh <rasland@nvidia.com>; dev@dpdk.org;
> stable@dpdk.org
> Subject: [PATCH] net/mlx5: fix incorrect meter table define
>
> As metering and metadata features were developed at the same time. The
> metering and metadata tables are defined conflicted.
>
> This cauese the meter suffix flow jump to the same metadata table and
> cause flow deadloop.
>
> Adjust the metering table define to fix that issue.
>
> Fixes: 46a5e6bc6a85 ("net/mlx5: prepare meter flow tables")
> Cc: stable@dpdk.org
>
> Signed-off-by: Suanming Mou <suanmingm@nvidia.com>
> Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
> ---
> drivers/net/mlx5/mlx5.h | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/mlx5/mlx5.h b/drivers/net/mlx5/mlx5.h
> index 0907506..1b7bac1 100644
> --- a/drivers/net/mlx5/mlx5.h
> +++ b/drivers/net/mlx5/mlx5.h
> @@ -503,14 +503,14 @@ struct mlx5_flow_tbl_resource {
> };
>
> #define MLX5_MAX_TABLES UINT16_MAX
> -#define MLX5_FLOW_TABLE_LEVEL_METER (UINT16_MAX - 3)
> -#define MLX5_FLOW_TABLE_LEVEL_SUFFIX (UINT16_MAX - 2)
> #define MLX5_HAIRPIN_TX_TABLE (UINT16_MAX - 1)
> /* Reserve the last two tables for metadata register copy. */
> #define MLX5_FLOW_MREG_ACT_TABLE_GROUP (MLX5_MAX_TABLES - 1)
> #define MLX5_FLOW_MREG_CP_TABLE_GROUP (MLX5_MAX_TABLES - 2)
> /* Tables for metering splits should be added here. */
> #define MLX5_MAX_TABLES_EXTERNAL (MLX5_MAX_TABLES - 3)
> +#define MLX5_FLOW_TABLE_LEVEL_METER (MLX5_MAX_TABLES - 4)
> +#define MLX5_FLOW_TABLE_LEVEL_SUFFIX (MLX5_MAX_TABLES - 3)
> #define MLX5_MAX_TABLES_FDB UINT16_MAX
>
> /* ID generation structure. */
> --
> 1.8.3.1
Patch applied to next-net-mlx,
Kindest regards,
Raslan Darawsheh