]> git.baikalelectronics.ru Git - kernel.git/commit
net/mlx5e: Fix multipath lag activation
authorDima Chumak <dchumak@nvidia.com>
Tue, 13 Apr 2021 19:43:08 +0000 (22:43 +0300)
committerSaeed Mahameed <saeedm@nvidia.com>
Wed, 19 May 2021 06:01:41 +0000 (23:01 -0700)
commitb80ef47906e4ba92824ccaa66d158510e1f97e40
tree6a092632f992cbcca8b510a04382d8dc1003467c
parent9fc40866beda48d9dbcabb1acdd5267e7f3de09d
net/mlx5e: Fix multipath lag activation

When handling FIB_EVENT_ENTRY_REPLACE event for a new multipath route,
lag activation can be missed if a stale (struct lag_mp)->mfi pointer
exists, which was associated with an older multipath route that had been
removed.

Normally, when a route is removed, it triggers mlx5_lag_fib_event(),
which handles FIB_EVENT_ENTRY_DEL and clears mfi pointer. But, if
mlx5_lag_check_prereq() condition isn't met, for example when eswitch is
in legacy mode, the fib event is skipped and mfi pointer becomes stale.

Fix by resetting mfi pointer to NULL every time mlx5_lag_mp_init() is
called.

Fixes: 30720fbb02df ("net/mlx5e: Activate HW multipath and handle port affinity based on FIB events")
Signed-off-by: Dima Chumak <dchumak@nvidia.com>
Reviewed-by: Roi Dayan <roid@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
drivers/net/ethernet/mellanox/mlx5/core/lag_mp.c