[PATCH v2 0/5] net/mlx5: support count and age actions on root group
Raslan Darawsheh
rasland at nvidia.com
Mon Nov 10 13:21:48 CET 2025
Hi,
On 05/11/2025 6:52 PM, Dariusz Sosnowski wrote:
> 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 applied to next-net-mlx,
Kindest regards
Raslan Darawsheh
More information about the dev
mailing list