From: Tariq Toukan <tariqt@nvidia.com>
To: "David S. Miller" <davem@davemloft.net>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
Eric Dumazet <edumazet@google.com>,
"Andrew Lunn" <andrew+netdev@lunn.ch>
Cc: <netdev@vger.kernel.org>, Saeed Mahameed <saeedm@nvidia.com>,
Gal Pressman <gal@nvidia.com>,
Leon Romanovsky <leonro@nvidia.com>,
Mark Bloch <mbloch@nvidia.com>, Moshe Shemesh <moshe@nvidia.com>,
Yevgeny Kliteynik <kliteyn@nvidia.com>,
Tariq Toukan <tariqt@nvidia.com>
Subject: [PATCH net-next 0/4] net/mlx5e: CT: Add support for hardware steering
Date: Tue, 14 Jan 2025 15:06:42 +0200 [thread overview]
Message-ID: <20250114130646.1937192-1-tariqt@nvidia.com> (raw)
This series start with one more HWS patch by Yevgeny, followed by
patches that add support for connection tracking in hardware steering
mode. It consists of:
- patch #2 hooks up the CT ops for the new mode in the right places.
- patch #3 moves a function into a common file, so it can be reused.
- patch #4 uses the HWS API to implement connection tracking.
The main advantage of hardware steering compared to software steering is
vastly improved performance when adding/removing/updating rules. Using
the T-Rex traffic generator to initiate multi-million UDP flows per
second, a kernel running with these patches was able to offload ~600K
unique UDP flows per second, a number around ~7x larger than software
steering was able to achieve on the same hardware (256-thread AMD EPYC,
512 GB RAM, ConnectX 7 b2b).
Regards,
Tariq
Cosmin Ratiu (3):
net/mlx5e: CT: Add initial support for Hardware Steering
net/mlx5e: CT: Make mlx5_ct_fs_smfs_ct_validate_flow_rule reusable
net/mlx5e: CT: Offload connections with hardware steering rules
Yevgeny Kliteynik (1):
net/mlx5: HWS, rework the check if matcher size can be increased
.../net/ethernet/mellanox/mlx5/core/Makefile | 1 +
.../ethernet/mellanox/mlx5/core/en/tc/ct_fs.h | 10 +
.../mellanox/mlx5/core/en/tc/ct_fs_hmfs.c | 292 ++++++++++++++++++
.../mellanox/mlx5/core/en/tc/ct_fs_smfs.c | 75 +----
.../ethernet/mellanox/mlx5/core/en/tc_ct.c | 88 +++++-
.../ethernet/mellanox/mlx5/core/en/tc_ct.h | 10 +
.../mellanox/mlx5/core/steering/hws/bwc.c | 18 +-
.../mellanox/mlx5/core/steering/hws/matcher.c | 6 +-
.../mellanox/mlx5/core/steering/hws/matcher.h | 5 +
9 files changed, 423 insertions(+), 82 deletions(-)
create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_hmfs.c
base-commit: a833fb852e96c778bff1d14866f1db2c346b3d2e
--
2.45.0
next reply other threads:[~2025-01-14 13:10 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-14 13:06 Tariq Toukan [this message]
2025-01-14 13:06 ` [PATCH net-next 1/4] net/mlx5: HWS, rework the check if matcher size can be increased Tariq Toukan
2025-01-14 13:06 ` [PATCH net-next 2/4] net/mlx5e: CT: Add initial support for Hardware Steering Tariq Toukan
2025-01-14 13:06 ` [PATCH net-next 3/4] net/mlx5e: CT: Make mlx5_ct_fs_smfs_ct_validate_flow_rule reusable Tariq Toukan
2025-01-14 13:06 ` [PATCH net-next 4/4] net/mlx5e: CT: Offload connections with hardware steering rules Tariq Toukan
2025-01-16 3:30 ` [PATCH net-next 0/4] net/mlx5e: CT: Add support for hardware steering patchwork-bot+netdevbpf
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=20250114130646.1937192-1-tariqt@nvidia.com \
--to=tariqt@nvidia.com \
--cc=andrew+netdev@lunn.ch \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=gal@nvidia.com \
--cc=kliteyn@nvidia.com \
--cc=kuba@kernel.org \
--cc=leonro@nvidia.com \
--cc=mbloch@nvidia.com \
--cc=moshe@nvidia.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=saeedm@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.