ipv6: Add IPv6 multipath notification for route delete
authorIdo Schimmel <idosch@mellanox.com>
Tue, 18 Jun 2019 15:12:49 +0000 (18:12 +0300)
committerDavid S. Miller <davem@davemloft.net>
Tue, 18 Jun 2019 16:45:36 +0000 (09:45 -0700)
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>
net/ipv6/route.c

index da504d36ce54d5bbc6a90d58aef8cac662f07214..c4d285fe0adce5d481c0a05f3e91f5f8692466a9 100644 (file)
@@ -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) {