Subject: Re: [PATCH net-next 03/17] ipv6: Extend notifier info for multipath routes

From: Ido Schimmel <[email-masked]>
Date: Mon, 17 Jun 2019 09:46:45 +0300

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 <[email-masked]>
> > 
> > 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 <[email-masked]>
> > Acked-by: Jiri Pirko <[email-masked]>
> > ---
> >  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.