diff options
author | Chiara Meiohas <cmeiohas@nvidia.com> | 2024-10-31 16:36:52 +0300 |
---|---|---|
committer | Leon Romanovsky <leon@kernel.org> | 2024-11-04 14:57:21 +0300 |
commit | 0bd2c61df95321e1ec123017cd8657360d15a24e (patch) | |
tree | 6740cf5257e9cc7e1b1d2be5fe375d41f9930d59 /tools/perf/scripts/python/parallel-perf.py | |
parent | af7a35bf6c36a77624d3abe46b3830b7c2a5f20c (diff) | |
download | linux-0bd2c61df95321e1ec123017cd8657360d15a24e.tar.xz |
RDMA/mlx5: Ensure active slave attachment to the bond IB device
Fix a race condition when creating a lag bond in active backup
mode where after the bond creation the backup slave was
attached to the IB device, instead of the active slave.
This caused stale entries in the GID table, as the gid updating
mechanism relies on ib_device_get_netdev(), which would return
the backup slave.
Send an MLX5_DRIVER_EVENT_ACTIVE_BACKUP_LAG_CHANGE_LOWERSTATE
event when activating the lag, additionally to when modifying
the lag. This ensures that eventually the active netdevice is
stored in the bond IB device.
When handling this event remove the GIDs of the previously
attached netdevice in this port and rescan the GIDs of the
newly attached netdevice.
This ensures that eventually the active slave netdevice is
correctly stored in the IB device port. While there might be
a brief moment where the backup slave GIDs appear in the GID
table, it will eventually stabilize with the correct GIDs
(of the bond and the active slave).
Fixes: 8d159eb2117b ("RDMA/mlx5: Use IB set_netdev and get_netdev functions")
Signed-off-by: Chiara Meiohas <cmeiohas@nvidia.com>
Link: https://patch.msgid.link/91fc2cb24f63add266a528c1c702668a80416d9f.1730381292.git.leon@kernel.org
Signed-off-by: Leon Romanovsky <leon@kernel.org>
Diffstat (limited to 'tools/perf/scripts/python/parallel-perf.py')
0 files changed, 0 insertions, 0 deletions