[PATCH] net/mlx5: fix matcher flags in counter offset detection

Andre Muezerie andremue at linux.microsoft.com
Fri Aug 29 14:50:39 CEST 2025


On Wed, Aug 20, 2025 at 10:45:21AM +0200, Dariusz Sosnowski wrote:
> This patch fixes a bug in
> mlx5_flow_dv_discover_counter_offset_support()
> uncovered by a warning reported by MSVC:
> 
>     ../drivers/net/mlx5/mlx5_flow_dv.c(19636): warning C5287:
>         operands are different enum types 'ibv_flow_attr_type' and
>         'ibv_flow_flags';
>         use an explicit cast to silence this warning
> 
> IBV_FLOW_ATTR_FLAGS_EGRESS was incorrectly passed in to
> type field of mlx5dv_flow_matcher_attr struct,
> instead of flags field.
> As a result counter offset support discovery returned a false positive
> result on application with old rdma-core.
> 
> Bugzilla ID: 1758
> Fixes: 4fd5e1484887 ("net/mlx5: fix counter offset detection")
> Cc: suanmingm at nvidia.com
> Cc: stable at dpdk.org
> 
> Reported-by: Andre Muezerie <andremue at linux.microsoft.com>
> Signed-off-by: Dariusz Sosnowski <dsosnowski at nvidia.com>
> ---
>  drivers/net/mlx5/mlx5_flow_dv.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/net/mlx5/mlx5_flow_dv.c b/drivers/net/mlx5/mlx5_flow_dv.c
> index 7b9e5018b8..4a6f9d63fb 100644
> --- a/drivers/net/mlx5/mlx5_flow_dv.c
> +++ b/drivers/net/mlx5/mlx5_flow_dv.c
> @@ -19652,7 +19652,8 @@ mlx5_flow_dv_discover_counter_offset_support(struct rte_eth_dev *dev)
>  		.size = sizeof(value.buf),
>  	};
>  	struct mlx5dv_flow_matcher_attr dv_attr = {
> -		.type = IBV_FLOW_ATTR_NORMAL | IBV_FLOW_ATTR_FLAGS_EGRESS,
> +		.type = IBV_FLOW_ATTR_NORMAL,
> +		.flags = IBV_FLOW_ATTR_FLAGS_EGRESS,
>  		.priority = 0,
>  		.match_criteria_enable = 0,
>  		.match_mask = (void *)&mask,
> --
> 2.39.5
> 

This compiles cleanly with msvc. Thanks for fixing it.

Acked-by: Andre Muezerie <andremue at linux.microsoft.com>


More information about the stable mailing list