From: Bing Zhao <bingz@nvidia.com>
To: Dariusz Sosnowski <dsosnowski@nvidia.com>,
Slava Ovsiienko <viacheslavo@nvidia.com>,
Ori Kam <orika@nvidia.com>, Suanming Mou <suanmingm@nvidia.com>,
Matan Azrad <matan@nvidia.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>, Raslan Darawsheh <rasland@nvidia.com>
Subject: RE: [PATCH v2 0/5] net/mlx5: support count and age actions on root group
Date: Thu, 6 Nov 2025 07:30:12 +0000 [thread overview]
Message-ID: <IA4PR12MB9763D8728C5783B311A0EC70D0C2A@IA4PR12MB9763.namprd12.prod.outlook.com> (raw)
In-Reply-To: <20251105165258.1396352-1-dsosnowski@nvidia.com>
Hi,
> -----Original Message-----
> From: Dariusz Sosnowski <dsosnowski@nvidia.com>
> Sent: Thursday, November 6, 2025 12:53 AM
> To: Slava Ovsiienko <viacheslavo@nvidia.com>; Bing Zhao
> <bingz@nvidia.com>; Ori Kam <orika@nvidia.com>; Suanming Mou
> <suanmingm@nvidia.com>; Matan Azrad <matan@nvidia.com>
> Cc: dev@dpdk.org; Raslan Darawsheh <rasland@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@nvidia.com>
prev parent reply other threads:[~2025-11-06 7:30 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-04 17:46 [PATCH " Dariusz Sosnowski
2025-11-04 17:46 ` [PATCH 1/5] common/mlx5: detect DevX counters support in rdma-core Dariusz Sosnowski
2025-11-04 17:46 ` [PATCH 2/5] net/mlx5/hws: support counter from DevX bulk on root Dariusz Sosnowski
2025-11-04 17:46 ` [PATCH 3/5] net/mlx5: rework root group checks in table create Dariusz Sosnowski
2025-11-04 17:46 ` [PATCH 4/5] net/mlx5: improve error reporting on masked indirect actions Dariusz Sosnowski
2025-11-04 17:46 ` [PATCH 5/5] net/mlx5: support count and age on root group Dariusz Sosnowski
2025-11-05 16:52 ` [PATCH v2 0/5] net/mlx5: support count and age actions " Dariusz Sosnowski
2025-11-05 16:52 ` [PATCH v2 1/5] net/mlx5: fix error reporting on masked indirect actions Dariusz Sosnowski
2025-11-05 16:52 ` [PATCH v2 2/5] common/mlx5: detect DevX counters support in rdma-core Dariusz Sosnowski
2025-11-05 16:52 ` [PATCH v2 3/5] net/mlx5/hws: support counter from DevX bulk on root Dariusz Sosnowski
2025-11-05 16:52 ` [PATCH v2 4/5] net/mlx5: rework root group checks in table create Dariusz Sosnowski
2025-11-05 16:52 ` [PATCH v2 5/5] net/mlx5: support count and age on root group Dariusz Sosnowski
2025-11-06 7:30 ` Bing Zhao [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=IA4PR12MB9763D8728C5783B311A0EC70D0C2A@IA4PR12MB9763.namprd12.prod.outlook.com \
--to=bingz@nvidia.com \
--cc=dev@dpdk.org \
--cc=dsosnowski@nvidia.com \
--cc=matan@nvidia.com \
--cc=orika@nvidia.com \
--cc=rasland@nvidia.com \
--cc=suanmingm@nvidia.com \
--cc=viacheslavo@nvidia.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).