Thread (11 messages) 11 messages, 4 authors, 13d ago
COOLING13d

Revision v2 of 3 in this series.

Revisions (3)
  1. v2 current
  2. v3 [diff vs current]
  3. v4 [diff vs current]

[PATCH net v2 0/3] net/mlx5: Bridge, fix remaining switchdev ownership gaps on merged eswitch

From: Bernardo Soares <hidden>
Date: 2026-09-14 08:54:48

v2 of "net/mlx5: Bridge, don't fail switchdev events of sibling
eswitch ports" (5f324c5d1b12), addressing the two follow-up issues
raised in review plus one additional issue found while auditing the
same code for the same bug class:

 - Patch 1 is the original fix, unchanged.
 - Patch 2 addresses the reviewer's comment that
   mlx5_esw_bridge_lower_rep_vport_num_vhca_id_get() picks the first
   structurally-eligible rep found while walking a LAG bond's lower
   devices, without verifying that rep is actually tracked by the
   calling instance's br_offloads. On a merged-eswitch HCA with a
   bond spanning reps of more than one eswitch instance, this could
   cause a bridge attribute change (ageing time, vlan filtering/
   protocol, mcast) to silently no-op on the correct instance.
 - Patch 3 addresses the reviewer's comment asking whether the peer
   unlink path also needed changes, plus a related idempotency gap
   found in follow-up: mlx5_esw_bridge_vport_peer_unlink() lacked the
   merged_eswitch capability guard that peer_link() already has, and
   mlx5_esw_bridge_vport_unlink() itself returned -EINVAL rather than
   treating an already-absent/untracked port as a no-op, which is
   reachable on a replayed or duplicate NETDEV_CHANGEUPPER unlink.

Tested Patch 1 on a ConnectX-7 NIC (MT2910) on my single NIC system.
Patches 2 and 3 require a multiple eswitch instance setup, so I wasn't
able to exercise their code paths.

Bernardo Soares (3):
  net/mlx5: Bridge, don't fail switchdev events of sibling eswitch ports
  net/mlx5: LAG, check if vport exists on br_offloads
  net/mlx5: Bridge, don't fail unlink of untracked/unsupported peer
    ports

 .../mellanox/mlx5/core/en/rep/bridge.c        | 45 +++++++++++++++----
 .../ethernet/mellanox/mlx5/core/esw/bridge.c  | 15 +++++--
 .../ethernet/mellanox/mlx5/core/esw/bridge.h  |  2 +
 3 files changed, 49 insertions(+), 13 deletions(-)

-- 
2.50.1
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help