net/mlx5e: Lag, Don't skip fib events on current dst
authorVlad Buslov <vladbu@nvidia.com>
Mon, 18 Apr 2022 14:40:37 +0000 (17:40 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 12 May 2022 10:32:32 +0000 (12:32 +0200)
commit4632f1eff607c0b0842a9a08ec3a2cc4fb0a84b6
tree020755627a57bc7449ea5627c8e584dac98eb533
parentac0ea0805e75c83ecf642a4e0cce2dbed4090d91
net/mlx5e: Lag, Don't skip fib events on current dst

commit 4a2a664ed87962c4ddb806a84b5c9634820bcf55 upstream.

Referenced change added check to skip updating fib when new fib instance
has same or lower priority. However, new fib instance can be an update on
same dst address as existing one even though the structure is another
instance that has different address. Ignoring events on such instances
causes multipath LAG state to not be correctly updated.

Track 'dst' and 'dst_len' fields of fib event fib_entry_notifier_info
structure and don't skip events that have the same value of that fields.

Fixes: ad11c4f1d8fd ("net/mlx5e: Lag, Only handle events from highest priority multipath entry")
Signed-off-by: Vlad Buslov <vladbu@nvidia.com>
Reviewed-by: Maor Dickman <maord@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/ethernet/mellanox/mlx5/core/lag/mp.c
drivers/net/ethernet/mellanox/mlx5/core/lag/mp.h