aboutsummaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorIdo Schimmel <idosch@mellanox.com>2019-06-18 18:12:49 +0300
committerDavid S. Miller <davem@davemloft.net>2019-06-18 09:45:36 -0700
commit2881fd61b68ef260b65ff25e19e3133d99f6a0a8 (patch)
treefc313c746e53a0f4df5ff2a8ed0a12b22239dca8 /net
parentipv6: Add IPv6 multipath notifications for add / replace (diff)
downloadlinux-dev-2881fd61b68ef260b65ff25e19e3133d99f6a0a8.tar.xz
linux-dev-2881fd61b68ef260b65ff25e19e3133d99f6a0a8.zip
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')
-rw-r--r--net/ipv6/route.c6
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)
info->skip_notify = 1;
}
+ info->skip_notify_kernel = 1;
+ call_fib6_multipath_entry_notifiers(net,
+ FIB_EVENT_ENTRY_DEL,
+ rt,
+ rt->fib6_nsiblings,
+ NULL);
list_for_each_entry_safe(sibling, next_sibling,
&rt->fib6_siblings,
fib6_siblings) {