mbox series

[net-next,v4,0/5] Symmetric OR-XOR RSS hash

Message ID 20250220113435.417487-1-gal@nvidia.com (mailing list archive)
Headers show
Series Symmetric OR-XOR RSS hash | expand

Message

Gal Pressman Feb. 20, 2025, 11:34 a.m. UTC
Add support for a new type of input_xfrm: Symmetric OR-XOR.
Symmetric OR-XOR performs hash as follows:
(SRC_IP | DST_IP, SRC_IP ^ DST_IP, SRC_PORT | DST_PORT, SRC_PORT ^ DST_PORT)

Configuration is done through ethtool -x/X command.
For mlx5, the default is already symmetric hash, this patch now exposes
this to userspace and allows enabling/disabling of the feature.

Changelog -
v3->v4: https://lore.kernel.org/netdev/20250216182453.226325-1-gal@nvidia.com/
* Test adjustments (Jakub)

v2->v3: https://lore.kernel.org/netdev/20250205135341.542720-1-gal@nvidia.com/
* Reorder fields in ethtool_ops (Jakub)
* Add a selftest (Jakub)

v1->v2: https://lore.kernel.org/all/20250203150039.519301-1-gal@nvidia.com/
* Fix wording in comments (Edward)

Thanks,
Gal

Gal Pressman (5):
  ethtool: Symmetric OR-XOR RSS hash
  net/mlx5e: Symmetric OR-XOR RSS hash control
  selftests: drv-net: Make rand_port() get a port more reliably
  selftests: drv-net: Introduce a function that checks whether a port is
    available on remote host
  selftests: drv-net-hw: Add a test for symmetric RSS hash

 Documentation/networking/ethtool-netlink.rst  |  2 +-
 Documentation/networking/scaling.rst          | 14 ++-
 .../net/ethernet/intel/iavf/iavf_ethtool.c    |  2 +-
 drivers/net/ethernet/intel/ice/ice_ethtool.c  |  2 +-
 .../net/ethernet/mellanox/mlx5/core/en/rss.c  | 13 ++-
 .../net/ethernet/mellanox/mlx5/core/en/rss.h  |  4 +-
 .../ethernet/mellanox/mlx5/core/en/rx_res.c   | 11 +--
 .../ethernet/mellanox/mlx5/core/en/rx_res.h   |  5 +-
 .../net/ethernet/mellanox/mlx5/core/en/tir.c  |  2 +-
 .../net/ethernet/mellanox/mlx5/core/en/tir.h  |  1 +
 .../ethernet/mellanox/mlx5/core/en_ethtool.c  | 17 +++-
 include/linux/ethtool.h                       |  5 +-
 include/uapi/linux/ethtool.h                  |  4 +
 net/ethtool/ioctl.c                           |  8 +-
 .../testing/selftests/drivers/net/hw/Makefile |  1 +
 .../drivers/net/hw/rss_input_xfrm.py          | 85 +++++++++++++++++++
 tools/testing/selftests/net/lib/py/utils.py   | 22 ++---
 17 files changed, 158 insertions(+), 40 deletions(-)
 create mode 100755 tools/testing/selftests/drivers/net/hw/rss_input_xfrm.py