lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250107060708.1610882-1-tariqt@nvidia.com>
Date: Tue, 7 Jan 2025 08:06:55 +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 00/13] mlx5 HW-Managed Flow Steering in FS core level

This patchset by Moshe follows Yevgeny's patchsets [1][2] on subject
"HW-Managed Flow Steering in mlx5 driver". As introduced there in HW
managed Flow Steering mode (HWS) the driver is configuring steering
rules directly to the HW using WQs with a special new type of WQE (Work
Queue Element). This way we can reach higher rule insertion/deletion
rate with much lower CPU utilization compared to SW Managed Flow
Steering (SWS).

This patchset adds API to manage namespace, flow tables, flow groups and
prepare FTE (Flow Table Entry) rules. It also adds caching and pool
mechanisms for HWS actions to allow sharing of steering actions among
different rules. The implementation of this API in FS layer, allows FS
core to use HW Managed Flow Steering in addition to the existing FW or
SW Managed Flow Steering.

The last patch of this series adds support for configuring HW Managed
Flow Steering mode through devlink param, similar to configuring SW
Managed Flow Steering mode:

 # devlink dev param set pci/0000:08:00.0 name flow_steering_mode \
      cmode runtime value hmfs

[1] https://lore.kernel.org/netdev/20240903031948.78006-1-saeed@kernel.org/
[2] https://lore.kernel.org/all/20250102181415.1477316-1-tariqt@nvidia.com/

Regards,
Tariq

Moshe Shemesh (13):
  net/mlx5: fs, add HWS root namespace functions
  net/mlx5: fs, add HWS flow table API functions
  net/mlx5: fs, add HWS flow group API functions
  net/mlx5: fs, add HWS actions pool
  net/mlx5: fs, add HWS packet reformat API function
  net/mlx5: fs, add HWS modify header API function
  net/mlx5: fs, manage flow counters HWS action sharing by refcount
  net/mlx5: fs, add dest table cache
  net/mlx5: fs, add HWS fte API functions
  net/mlx5: fs, add support for dest vport HWS action
  net/mlx5: fs, set create match definer to not supported by HWS
  net/mlx5: fs, add HWS get capabilities
  net/mlx5: fs, add HWS to steering mode options

 .../net/ethernet/mellanox/mlx5/core/Makefile  |    5 +-
 .../net/ethernet/mellanox/mlx5/core/fs_core.c |   50 +-
 .../net/ethernet/mellanox/mlx5/core/fs_core.h |   62 +-
 .../ethernet/mellanox/mlx5/core/fs_counters.c |   42 +-
 .../net/ethernet/mellanox/mlx5/core/fs_pool.c |    5 +-
 .../net/ethernet/mellanox/mlx5/core/fs_pool.h |    5 +-
 .../mellanox/mlx5/core/steering/hws/fs_hws.c  | 1363 +++++++++++++++++
 .../mellanox/mlx5/core/steering/hws/fs_hws.h  |   80 +
 .../mlx5/core/steering/hws/fs_hws_pools.c     |  449 ++++++
 .../mlx5/core/steering/hws/fs_hws_pools.h     |   73 +
 include/linux/mlx5/mlx5_ifc.h                 |    1 +
 11 files changed, 2077 insertions(+), 58 deletions(-)
 create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/steering/hws/fs_hws.c
 create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/steering/hws/fs_hws.h
 create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/steering/hws/fs_hws_pools.c
 create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/steering/hws/fs_hws_pools.h


base-commit: 49afc040f4d707a4149a05180edc42bc590641a4
-- 
2.45.0


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ