From: Saeed Mahameed <saeedm@xxxxxxxxxx> 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 ddb8701dcb67aff0155d507c63cb1e201daf3ad6: Merge branch 'splice-net-handle-msg_splice_pages-in-af_kcm' (2023-06-05 20:51:58 -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 7b4de9140927ce4ef639a31a15a5f17ede36414c: net/mlx5e: simplify condition after napi budget handling change (2023-06-06 00:08:38 -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 Dragos Tatulea (1): net/mlx5e: RX, Log error when page_pool size is too large 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_main.c | 3 + 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 ++- 19 files changed, 204 insertions(+), 103 deletions(-)