[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20230214221239.159033-1-saeed@kernel.org>
Date: Tue, 14 Feb 2023 14:12:24 -0800
From: Saeed Mahameed <saeed@...nel.org>
To: "David S. Miller" <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>,
Eric Dumazet <edumazet@...gle.com>
Cc: Saeed Mahameed <saeedm@...dia.com>, netdev@...r.kernel.org,
Tariq Toukan <tariqt@...dia.com>
Subject: [pull request][net-next V2 00/15] mlx5 updates 2023-02-10
From: Saeed Mahameed <saeedm@...dia.com>
This series adds multi port shared eswitch support and some devlink
and auxiliary device management improvements in mlx5.
V1->V2:
- improved documentation as suggested by Jakub.
- Early return in mlx5_devlink_esw_multiport_set, per Alex Lobakin's
comment.
For more information please see tag log below.
Please pull and let me know if there is any problem.
Thanks,
Saeed.
The following changes since commit 2edd92570441dd33246210042dc167319a5cf7e3:
devlink: don't allow to change net namespace for FW_ACTIVATE reload action (2023-02-14 14:04:21 +0100)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux.git tags/mlx5-updates-2023-02-10
for you to fetch changes up to 72ed5d5624af384eaf74d84915810d54486a75e2:
net/mlx5: Suspend auxiliary devices only in case of PCI device suspend (2023-02-14 14:08:27 -0800)
----------------------------------------------------------------
mlx5-updates-2023-02-10
1) From Roi and Mark: MultiPort eswitch support
MultiPort E-Switch builds on newer hardware's capabilities and introduces
a mode where a single E-Switch is used and all the vports and physical
ports on the NIC are connected to it.
The new mode will allow in the future a decrease in the memory used by the
driver and advanced features that aren't possible today.
This represents a big change in the current E-Switch implantation in mlx5.
Currently, by default, each E-Switch manager manages its E-Switch.
Steering rules in each E-Switch can only forward traffic to the native
physical port associated with that E-Switch. While there are ways to target
non-native physical ports, for example using a bond or via special TC
rules. None of the ways allows a user to configure the driver
to operate by default in such a mode nor can the driver decide
to move to this mode by default as it's user configuration-driven right now.
While MultiPort E-Switch single FDB mode is the preferred mode, older
generations of ConnectX hardware couldn't support this mode so it was never
implemented. Now that there is capable hardware present, start the
transition to having this mode by default.
Introduce a devlink parameter to control MultiPort Eswitch single FDB mode.
This will allow users to select this mode on their system right now
and in the future will allow the driver to move to this mode by default.
2) From Jiri: Improvements and fixes for mlx5 netdev's devlink logic
2.1) Cleanups related to mlx5's devlink port logic
2.2) Move devlink port registration to be done before netdev alloc
2.3) Create auxdev devlink instance in the same ns as parent devlink
2.4) Suspend auxiliary devices only in case of PCI device suspend
----------------------------------------------------------------
Jiri Pirko (8):
net/mlx5: Remove outdated comment
net/mlx5e: Pass mdev to mlx5e_devlink_port_register()
net/mlx5e: Replace usage of mlx5e_devlink_get_dl_port() by netdev->devlink_port
net/mlx5e: Move dl_port to struct mlx5e_dev
net/mlx5e: Move devlink port registration to be done before netdev alloc
net/mlx5e: Create auxdev devlink instance in the same ns as parent devlink
net/mlx5: Remove "recovery" arg from mlx5_load_one() function
net/mlx5: Suspend auxiliary devices only in case of PCI device suspend
Mark Bloch (1):
net/mlx5: Lag, Add single RDMA device in multiport mode
Roi Dayan (6):
net/mlx5: Lag, Control MultiPort E-Switch single FDB mode
net/mlx5e: TC, Add peer flow in mpesw mode
net/mlx5: E-Switch, rename bond update function to be reused
net/mlx5: Lag, set different uplink vport metadata in multiport eswitch mode
net/mlx5e: Use a simpler comparison for uplink rep
net/mlx5e: TC, Remove redundant parse_attr argument
Documentation/networking/devlink/mlx5.rst | 18 +++
drivers/infiniband/hw/mlx5/ib_rep.c | 18 ++-
drivers/net/ethernet/mellanox/mlx5/core/dev.c | 8 +-
drivers/net/ethernet/mellanox/mlx5/core/devlink.c | 58 ++++++++-
drivers/net/ethernet/mellanox/mlx5/core/devlink.h | 1 +
drivers/net/ethernet/mellanox/mlx5/core/en.h | 1 +
.../net/ethernet/mellanox/mlx5/core/en/devlink.c | 34 +++--
.../net/ethernet/mellanox/mlx5/core/en/devlink.h | 13 +-
.../net/ethernet/mellanox/mlx5/core/en/rep/bond.c | 6 +-
.../ethernet/mellanox/mlx5/core/en/reporter_rx.c | 4 +-
.../ethernet/mellanox/mlx5/core/en/reporter_tx.c | 4 +-
.../ethernet/mellanox/mlx5/core/en/tc/act/mirred.c | 9 --
.../net/ethernet/mellanox/mlx5/core/en/tc_tun.c | 6 +-
drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 26 ++--
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c | 35 +++++
drivers/net/ethernet/mellanox/mlx5/core/en_rep.h | 2 +
drivers/net/ethernet/mellanox/mlx5/core/en_rx.c | 6 +-
drivers/net/ethernet/mellanox/mlx5/core/en_tc.c | 32 ++---
drivers/net/ethernet/mellanox/mlx5/core/en_tc.h | 6 -
.../mellanox/mlx5/core/esw/acl/ingress_ofld.c | 4 +-
.../net/ethernet/mellanox/mlx5/core/esw/acl/ofld.h | 4 +-
.../ethernet/mellanox/mlx5/core/eswitch_offloads.c | 2 +-
drivers/net/ethernet/mellanox/mlx5/core/fw_reset.c | 6 +-
drivers/net/ethernet/mellanox/mlx5/core/health.c | 2 +-
drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c | 10 +-
drivers/net/ethernet/mellanox/mlx5/core/lag/lag.h | 4 +
.../net/ethernet/mellanox/mlx5/core/lag/mpesw.c | 144 ++++++++++++++++-----
.../net/ethernet/mellanox/mlx5/core/lag/mpesw.h | 15 +--
drivers/net/ethernet/mellanox/mlx5/core/main.c | 25 ++--
.../net/ethernet/mellanox/mlx5/core/mlx5_core.h | 8 +-
.../ethernet/mellanox/mlx5/core/sf/dev/driver.c | 2 +-
include/linux/mlx5/driver.h | 3 +-
32 files changed, 334 insertions(+), 182 deletions(-)
Powered by blists - more mailing lists