Netdev List
 help / color / mirror / Atom feed
* [PATCH net v3 0/2] net/mlx5: Bridge, fix remaining switchdev ownership gaps on merged eswitch
@ 2026-09-16 10:46 Bernardo Soares
  2026-09-16 10:46 ` [PATCH net v3 1/2] net/mlx5: Bridge, don't fail switchdev events of sibling eswitch ports Bernardo Soares
  2026-09-16 10:46 ` [PATCH net v3 2/2] net/mlx5: Bridge, don't fail unlink of untracked/unsupported peer ports Bernardo Soares
  0 siblings, 2 replies; 5+ messages in thread
From: Bernardo Soares @ 2026-09-16 10:46 UTC (permalink / raw)
  To: Mark Bloch; +Cc: Daniel Borkmann, netdev, saeedm, Vlad Buslov, Bernardo Soares

v3 of "net/mlx5: Bridge, don't fail switchdev events of sibling
eswitch ports" (5f324c5d1b12), addressing review comments on v1/v2:

 - Patch 1 fixes the switchdev port-object/attribute notifier filter
   (the original fix), and now also covers the LAG bond lower-device
   walk used by attribute changes on a bonded uplink
   (mlx5_esw_bridge_lower_rep_vport_num_vhca_id_get()), which had the
   same ownership gap: it returned the first structurally-eligible
   rep found while walking the bond's lower devices, without checking
   it's tracked by the calling instance's br_offloads. Since lower
   devices are appended in enslavement order, 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. These
   two were squashed into one commit per review.
 - Patch 2 addresses the reviewer's comment asking whether the peer
   unlink path also needed changes: 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 duplicate NETDEV_CHANGEUPPER unlink.

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

Note: v1/v2 were sent From/Signed-off-by bersoare@isovalent.com; v3
is sent from my personal address (bsoares.it@gmail.com) instead, for
unrelated mail delivery reasons. Same author, same person.

Bernardo Soares (2):
  net/mlx5: Bridge, don't fail switchdev events of sibling eswitch ports
  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.43.0


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2026-09-16 11:58 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-16 10:46 [PATCH net v3 0/2] net/mlx5: Bridge, fix remaining switchdev ownership gaps on merged eswitch Bernardo Soares
2026-09-16 10:46 ` [PATCH net v3 1/2] net/mlx5: Bridge, don't fail switchdev events of sibling eswitch ports Bernardo Soares
2026-09-16 11:57   ` Mark Bloch
2026-09-16 10:46 ` [PATCH net v3 2/2] net/mlx5: Bridge, don't fail unlink of untracked/unsupported peer ports Bernardo Soares
2026-09-16 11:58   ` Mark Bloch

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox