diff options
author | Ido Schimmel <idosch@mellanox.com> | 2019-06-18 11:12:49 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-06-18 12:45:36 -0400 |
commit | 2881fd61b68ef260b65ff25e19e3133d99f6a0a8 (patch) | |
tree | fc313c746e53a0f4df5ff2a8ed0a12b22239dca8 /net/ipv6/route.c | |
parent | ebee3cad835f7fe7250213225cf6d62c7cf3b2ca (diff) |
ipv6: Add IPv6 multipath notification for route delete
If all the nexthops of a multipath route are being deleted, send one
notification for the entire route, instead of one per-nexthop.
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Acked-by: Jiri Pirko <jiri@mellanox.com>
Reviewed-by: David Ahern <dsahern@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6/route.c')
-rw-r--r-- | net/ipv6/route.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/net/ipv6/route.c b/net/ipv6/route.c index da504d36ce54..c4d285fe0adc 100644 --- a/net/ipv6/route.c +++ b/net/ipv6/route.c | |||
@@ -3718,6 +3718,12 @@ static int __ip6_del_rt_siblings(struct fib6_info *rt, struct fib6_config *cfg) | |||
3718 | info->skip_notify = 1; | 3718 | info->skip_notify = 1; |
3719 | } | 3719 | } |
3720 | 3720 | ||
3721 | info->skip_notify_kernel = 1; | ||
3722 | call_fib6_multipath_entry_notifiers(net, | ||
3723 | FIB_EVENT_ENTRY_DEL, | ||
3724 | rt, | ||
3725 | rt->fib6_nsiblings, | ||
3726 | NULL); | ||
3721 | list_for_each_entry_safe(sibling, next_sibling, | 3727 | list_for_each_entry_safe(sibling, next_sibling, |
3722 | &rt->fib6_siblings, | 3728 | &rt->fib6_siblings, |
3723 | fib6_siblings) { | 3729 | fib6_siblings) { |