On Sun, Jun 16, 2019 at 07:22:44PM -0600, David Ahern wrote: > On 6/15/19 8:07 AM, Ido Schimmel wrote: > > From: Ido Schimmel <ido...@mellanox.com> > > > > Extend the IPv6 FIB notifier info with number of sibling routes being > > notified. > > > > This will later allow listeners to process one notification for a > > multipath routes instead of N, where N is the number of nexthops. > > > > Signed-off-by: Ido Schimmel <ido...@mellanox.com> > > Acked-by: Jiri Pirko <j...@mellanox.com> > > --- > > include/net/ip6_fib.h | 7 +++++++ > > net/ipv6/ip6_fib.c | 17 +++++++++++++++++ > > 2 files changed, 24 insertions(+) > > > > The need for a second notifier stems from the append case? versus using > call_fib6_entry_notifiers and letting the nsiblings fallout from > rt->fib6_nsiblings? The append case is a weird thing for userspace to > maintain order, but it seems like the offload case should not care.
It's not a second notifier, it's just another wrapper around call_fib6_notifiers(). Yes, it's needed for append. The notification is sent after the route was appended, so reading 'rt->fib6_nsiblings' would indicate to listeners that 'rt->fib6_nsiblings + 1' routes need to be programmed, whereas only one needs to be. > Also, .multipath_rt seems redundant with .nsiblings > 1 Yes, I wanted to make it more explicit that a multipath route is notified. I'll remove it.