All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH net-next 0/4] net/mlx5e: CT: Add support for hardware steering
@ 2025-01-14 13:06 Tariq Toukan
  2025-01-14 13:06 ` [PATCH net-next 1/4] net/mlx5: HWS, rework the check if matcher size can be increased Tariq Toukan
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Tariq Toukan @ 2025-01-14 13:06 UTC (permalink / raw)
  To: David S. Miller, Jakub Kicinski, Paolo Abeni, Eric Dumazet,
	Andrew Lunn
  Cc: netdev, Saeed Mahameed, Gal Pressman, Leon Romanovsky, Mark Bloch,
	Moshe Shemesh, Yevgeny Kliteynik, Tariq Toukan

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


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2025-01-16  3:30 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-01-14 13:06 [PATCH net-next 0/4] net/mlx5e: CT: Add support for hardware steering Tariq Toukan
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

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.