mbox series

[net-next,0/4] net/mlx5e: CT: Add support for hardware steering

Message ID 20250114130646.1937192-1-tariqt@nvidia.com (mailing list archive)
Headers show
Series net/mlx5e: CT: Add support for hardware steering | expand

Message

Tariq Toukan Jan. 14, 2025, 1:06 p.m. UTC
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