[PATCH v2 0/5] net/mlx5: support count and age actions on root group

Bing Zhao bingz at nvidia.com
Thu Nov 6 08:30:12 CET 2025


Hi,

> -----Original Message-----
> From: Dariusz Sosnowski <dsosnowski at nvidia.com>
> Sent: Thursday, November 6, 2025 12:53 AM
> To: Slava Ovsiienko <viacheslavo at nvidia.com>; Bing Zhao
> <bingz at nvidia.com>; Ori Kam <orika at nvidia.com>; Suanming Mou
> <suanmingm at nvidia.com>; Matan Azrad <matan at nvidia.com>
> Cc: dev at dpdk.org; Raslan Darawsheh <rasland at nvidia.com>
> Subject: [PATCH v2 0/5] net/mlx5: support count and age actions on root
> group
> 
> When working with HW Steering flow engine (HWS, dv_flow_en=2),
> mlx5 PMD does not support using count and age flow actions on flow group 0
> i.e., root table.
> Flow rules on root table are special in a sense that they are created
> through mlx5 kernel driver using rdma-core mlx5dv_create_flow() API.
> This API however does not support using counters from FW-allocated counter
> bulks which contain more than 1 counter (extensively used with HWS to
> optimize allocations).
> This affects age flow action as well, because it's implementation in mlx5
> PMD relies on counters.
> 
> rdma-core version v60.0 added a new flow action type to
> mlx5dv_create_flow() API - MLX5DV_FLOW_ACTION_COUNTERS_DEVX_WITH_OFFSET -
> which allows the use of counters from bigger FW-allocated counter bulks.
> This in turn allows mlx5 PMD to extend count and age flow action support
> to group 0.
> 
> This patchset implements that support. Patchset contains:
> 
> - Patch 1 - Fixes for indirect flow action error reporting.
> - Patch 2 - Adds detection of MLX5DV_FLOW_ACTION_COUNTERS_DEVX_WITH_OFFSET
> in rdma-core at build time.
> - Patch 3 - Adds support for counter action in HWS layer whenever
> MLX5DV_FLOW_ACTION_COUNTERS_DEVX_WITH_OFFSET is available.
> - Patch 4 - Reworks for group 0/root table checks to allow easier
> implementaiton
> - Patch 5 - Enables support of count and age flow action in group 0, in
> flow API implementation with HWS.
> 
> v2:
> - Added logging in mlx5dr action creation whenever count is not supported
> on root.
> - Removed redundant is_root_supported field from mlx5_hws_cnt_pool struct
>   and replaced it with compile time checks, since feature depends on
> version of
>   rdma-core available at compilation.
> - Unify error messages for unsupported count/age action, so all refer to
> root table.
> - Added Fixes tags to patch 4 from v1 and moved it as patch no. 1.
> 
> Dariusz Sosnowski (5):
>   net/mlx5: fix error reporting on masked indirect actions
>   common/mlx5: detect DevX counters support in rdma-core
>   net/mlx5/hws: support counter from DevX bulk on root
>   net/mlx5: rework root group checks in table create
>   net/mlx5: support count and age on root group
> 
>  doc/guides/nics/mlx5.rst               |  34 ++++---
>  doc/guides/rel_notes/release_25_11.rst |   4 +
>  drivers/common/mlx5/linux/meson.build  |   2 +
>  drivers/net/mlx5/hws/mlx5dr.h          |  14 +++
>  drivers/net/mlx5/hws/mlx5dr_action.c   |  20 ++--
>  drivers/net/mlx5/mlx5_flow.h           |  17 ++++
>  drivers/net/mlx5/mlx5_flow_hw.c        | 123 ++++++++++++++-----------
>  drivers/net/mlx5/mlx5_hws_cnt.c        |  42 +++++++--
>  drivers/net/mlx5/mlx5_hws_cnt.h        |  16 +++-
>  9 files changed, 185 insertions(+), 87 deletions(-)
> 
> --
> 2.39.5

Series 
Acked-by: Bing Zhao <bingz at nvidia.com>



More information about the dev mailing list