From: Saeed Mahameed <saeedm@xxxxxxxxxx> v1->v2: - Remove "Fixes:" tags from net-next patches - Drop mlx5 rx page pool warning patch, Dragos will send another version to modify the page pool pring itself. This series contains the following patches: 1) Support 4 ports VF LAG, part 2/2 2) Few extra trivial cleanup patches 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 e06bd5e3adae14a4c0c50d74e36b064ab77601ba: Merge branch 'followup-fixes-for-the-dwmac-and-altera-lynx-conversion' (2023-06-07 13:30:50 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux.git tags/mlx5-updates-2023-06-06 for you to fetch changes up to 803ea346bd3ff1ac80fc65cf5899c0ad045d1788: net/mlx5e: simplify condition after napi budget handling change (2023-06-07 14:00:45 -0700) ---------------------------------------------------------------- mlx5-updates-2023-06-06 1) Support 4 ports VF LAG, part 2/2 2) Few extra trivial cleanup patches Shay Drory Says: ================ Support 4 ports VF LAG, part 2/2 This series continues the series[1] "Support 4 ports VF LAG, part1/2". This series adds support for 4 ports VF LAG (single FDB E-Switch). This series of patches refactoring LAG code that make assumptions about VF LAG supporting only two ports and then enable 4 ports VF LAG. Patch 1: - Fix for ib rep code Patches 2-5: - Refactors LAG layer. Patches 6-7: - Block LAG types which doesn't support 4 ports. Patch 8: - Enable 4 ports VF LAG. This series specifically allows HCAs with 4 ports to create a VF LAG with only 4 ports. It is not possible to create a VF LAG with 2 or 3 ports using HCAs that have 4 ports. Currently, the Merged E-Switch feature only supports HCAs with 2 ports. However, upcoming patches will introduce support for HCAs with 4 ports. In order to activate VF LAG a user can execute: devlink dev eswitch set pci/0000:08:00.0 mode switchdev devlink dev eswitch set pci/0000:08:00.1 mode switchdev devlink dev eswitch set pci/0000:08:00.2 mode switchdev devlink dev eswitch set pci/0000:08:00.3 mode switchdev ip link add name bond0 type bond ip link set dev bond0 type bond mode 802.3ad ip link set dev eth2 master bond0 ip link set dev eth3 master bond0 ip link set dev eth4 master bond0 ip link set dev eth5 master bond0 Where eth2, eth3, eth4 and eth5 are net-interfaces of pci/0000:08:00.0 pci/0000:08:00.1 pci/0000:08:00.2 pci/0000:08:00.3 respectively. User can verify LAG state and type via debugfs: /sys/kernel/debug/mlx5/0000\:08\:00.0/lag/state /sys/kernel/debug/mlx5/0000\:08\:00.0/lag/type [1] https://lore.kernel.org/netdev/20230601060118.154015-1-saeed@xxxxxxxxxx/T/#mf1d2083780970ba277bfe721554d4925f03f36d1 ================ ---------------------------------------------------------------- Bodong Wang (1): mlx5/core: E-Switch, Allocate ECPF vport if it's an eswitch manager Jakub Kicinski (1): net/mlx5e: simplify condition after napi budget handling change Jiri Pirko (1): net/mlx5: Skip inline mode check after mlx5_eswitch_enable_locked() failure Lama Kayal (1): net/mlx5e: Expose catastrophic steering error counters Oz Shlomo (1): net/mlx5e: TC, refactor access to hash key Shay Drory (8): RDMA/mlx5: Free second uplink ib port {net/RDMA}/mlx5: introduce lag_for_each_peer net/mlx5: LAG, check if all eswitches are paired for shared FDB net/mlx5: LAG, generalize handling of shared FDB net/mlx5: LAG, change mlx5_shared_fdb_supported() to static net/mlx5: LAG, block multipath LAG in case ldev have more than 2 ports net/mlx5: LAG, block multiport eswitch LAG in case ldev have more than 2 ports net/mlx5: Enable 4 ports VF LAG Tariq Toukan (1): net/mlx5e: Remove RX page cache leftovers .../ethernet/mellanox/mlx5/devlink.rst | 7 ++ drivers/infiniband/hw/mlx5/ib_rep.c | 103 +++++++++++++-------- .../mellanox/mlx5/core/diag/reporter_vnic.c | 10 ++ drivers/net/ethernet/mellanox/mlx5/core/en.h | 7 -- .../ethernet/mellanox/mlx5/core/en/tc/act_stats.c | 9 +- drivers/net/ethernet/mellanox/mlx5/core/en_txrx.c | 2 +- drivers/net/ethernet/mellanox/mlx5/core/eswitch.c | 3 +- drivers/net/ethernet/mellanox/mlx5/core/eswitch.h | 9 ++ .../ethernet/mellanox/mlx5/core/eswitch_offloads.c | 3 +- drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c | 24 +++-- drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c | 91 +++++++++++------- drivers/net/ethernet/mellanox/mlx5/core/lag/lag.h | 1 - drivers/net/ethernet/mellanox/mlx5/core/lag/mp.c | 4 + .../net/ethernet/mellanox/mlx5/core/lag/mpesw.c | 4 + .../net/ethernet/mellanox/mlx5/core/lib/devcom.c | 5 +- .../net/ethernet/mellanox/mlx5/core/lib/devcom.h | 2 +- include/linux/mlx5/driver.h | 8 +- include/linux/mlx5/mlx5_ifc.h | 12 ++- 18 files changed, 201 insertions(+), 103 deletions(-)