[PULL][SRU jammy] ConnectX-7 support for software steering

dann frazier dann.frazier at canonical.com
Tue Apr 12 19:04:29 UTC 2022


BugLink: https://bugs.launchpad.net/bugs/1966194

Software steering support for ConnectX-7 landed upstream in the 5.18
merge window. This backports those changes, including 2 dependent
patch sets, back to jammy. All patches cherry-picked cleanly except
the penultimate patch which required minor backporting. Changes have
been tested on applicable hardware by an engineer at Nvidia, as
described in the bug.

The following changes since commit 121c072c840d6dd6854288dc24e85b16235f45e6:

  UBUNTU: [Config] updateconfigs after AMX patchset (2022-04-07 11:51:15 +0200)

are available in the Git repository at:

  git://git.launchpad.net/~dannf/ubuntu/+source/linux/+git/linux mlx-steering-j

for you to fetch changes up to af0fda9ae651377f3dc6e6190e8a892c1f3dfa05:

  net/mlx5: DR, Add support for ConnectX-7 steering (2022-04-12 12:58:03 -0600)

----------------------------------------------------------------
Dima Chumak (1):
      net/mlx5: Introduce software defined steering capabilities

Maor Gottlieb (1):
      net/mlx5: Introduce new uplink destination type

Muhammad Sammar (6):
      net/mlx5: DR, Add check for unsupported fields in match param
      net/mlx5: DR, Add missing reserved fields to dr_match_param
      net/mlx5: DR, Add support for dumping steering info
      net/mlx5: Add misc5 flow table match parameters
      net/mlx5: DR, Add misc5 to match_param structs
      net/mlx5: DR, Support matching on tunnel headers 0 and 1

Yevgeny Kliteynik (31):
      net/mlx5: DR, Fix vport number data type to u16
      net/mlx5: DR, Replace local WIRE_PORT macro with the existing MLX5_VPORT_UPLINK
      net/mlx5: DR, Add missing query for vport 0
      net/mlx5: DR, Align error messages for failure to obtain vport caps
      net/mlx5: DR, Support csum recalculation flow table on SFs
      net/mlx5: DR, Add support for SF vports
      net/mlx5: DR, Increase supported num of actions to 32
      net/mlx5: DR, Fix typo 'offeset' to 'offset'
      net/mlx5: DR, init_next_match only if needed
      net/mlx5: DR, Add missing string for action type SAMPLER
      net/mlx5: DR, Handle eswitch manager and uplink vports separately
      net/mlx5: DR, Fix querying eswitch manager vport for ECPF
      net/mlx5: DR, Fix check for unsupported fields in match param
      net/mlx5: DR, Fix error flow in creating matcher
      net/mlx5: DR, Fix lower case macro prefix "mlx5_" to "MLX5_"
      net/mlx5: DR, Remove unused struct member in matcher
      net/mlx5: DR, Rename list field in matcher struct to list_node
      net/mlx5: DR, Add check for flex parser ID value
      net/mlx5: DR, Add support for UPLINK destination type
      net/mlx5: DR, Warn on failure to destroy objects due to refcount
      net/mlx5: DR, Add support for matching on geneve_tlv_option_0_exist field
      net/mlx5: DR, Improve steering for empty or RX/TX-only matchers
      net/mlx5: DR, Ignore modify TTL if device doesn't support it
      net/mlx5: Set SMFS as a default steering mode if device supports it
      net/mlx5: DR, Fix slab-out-of-bounds in mlx5_cmd_dr_create_fte
      net/mlx5: DR, Add support for matching on Internet Header Length (IHL)
      net/mlx5: DR, Remove unneeded comments
      net/mlx5: DR, Fix handling of different actions on the same STE in STEv1
      net/mlx5: DR, Rename action modify fields to reflect naming in HW spec
      net/mlx5: DR, Refactor ste_ctx handling for STE v0/1
      net/mlx5: DR, Add support for ConnectX-7 steering

 drivers/net/ethernet/mellanox/mlx5/core/Makefile   |   4 +-
 .../mellanox/mlx5/core/diag/fs_tracepoint.c        |   3 +
 drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c   |  25 +-
 drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.h   |   3 +
 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c  |  24 +-
 drivers/net/ethernet/mellanox/mlx5/core/fs_core.h  |   9 +-
 .../mellanox/mlx5/core/steering/dr_action.c        |  42 +-
 .../ethernet/mellanox/mlx5/core/steering/dr_cmd.c  |  35 +-
 .../ethernet/mellanox/mlx5/core/steering/dr_dbg.c  | 649 +++++++++++++++++++++
 .../ethernet/mellanox/mlx5/core/steering/dr_dbg.h  |  15 +
 .../mellanox/mlx5/core/steering/dr_domain.c        | 205 ++++---
 .../ethernet/mellanox/mlx5/core/steering/dr_fw.c   |   2 +-
 .../mellanox/mlx5/core/steering/dr_matcher.c       | 266 +++++----
 .../ethernet/mellanox/mlx5/core/steering/dr_rule.c |  53 +-
 .../ethernet/mellanox/mlx5/core/steering/dr_ste.c  | 355 ++++++-----
 .../ethernet/mellanox/mlx5/core/steering/dr_ste.h  |   9 +-
 .../mellanox/mlx5/core/steering/dr_ste_v0.c        |  48 +-
 .../mellanox/mlx5/core/steering/dr_ste_v1.c        | 317 ++++++----
 .../mellanox/mlx5/core/steering/dr_ste_v1.h        |  94 +++
 .../mellanox/mlx5/core/steering/dr_ste_v2.c        | 231 ++++++++
 .../mellanox/mlx5/core/steering/dr_table.c         |  94 +--
 .../mellanox/mlx5/core/steering/dr_types.h         | 316 ++++++----
 .../ethernet/mellanox/mlx5/core/steering/fs_dr.c   |  62 +-
 .../mellanox/mlx5/core/steering/mlx5_ifc_dr.h      |  16 +
 .../ethernet/mellanox/mlx5/core/steering/mlx5dr.h  |   4 +-
 include/linux/mlx5/device.h                        |   1 +
 include/linux/mlx5/mlx5_ifc.h                      |  42 +-
 include/uapi/rdma/mlx5_user_ioctl_cmds.h           |   2 +-
 28 files changed, 2252 insertions(+), 674 deletions(-)
 create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_dbg.c
 create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_dbg.h
 create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste_v1.h
 create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste_v2.c



More information about the kernel-team mailing list