[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250114130646.1937192-1-tariqt@nvidia.com>
Date: Tue, 14 Jan 2025 15:06:42 +0200
From: Tariq Toukan <tariqt@...dia.com>
To: "David S. Miller" <davem@...emloft.net>, Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>, Eric Dumazet <edumazet@...gle.com>, "Andrew
Lunn" <andrew+netdev@...n.ch>
CC: <netdev@...r.kernel.org>, Saeed Mahameed <saeedm@...dia.com>, Gal Pressman
<gal@...dia.com>, Leon Romanovsky <leonro@...dia.com>, Mark Bloch
<mbloch@...dia.com>, Moshe Shemesh <moshe@...dia.com>, Yevgeny Kliteynik
<kliteyn@...dia.com>, Tariq Toukan <tariqt@...dia.com>
Subject: [PATCH net-next 0/4] net/mlx5e: CT: Add support for hardware steering
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
Powered by blists - more mailing lists