Hi, > -----Original Message----- > From: Dariusz Sosnowski <[email protected]> > Sent: Thursday, November 6, 2025 12:53 AM > To: Slava Ovsiienko <[email protected]>; Bing Zhao > <[email protected]>; Ori Kam <[email protected]>; Suanming Mou > <[email protected]>; Matan Azrad <[email protected]> > Cc: [email protected]; Raslan Darawsheh <[email protected]> > 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 <[email protected]>

