netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Ido Schimmel <idosch@mellanox.com>
To: David Ahern <dsahern@gmail.com>
Cc: Jiri Pirko <jiri@resnulli.us>,
	netdev@vger.kernel.org, davem@davemloft.net, mlxsw@mellanox.com,
	roopa@cumulusnetworks.com, nikolay@cumulusnetworks.com,
	kafai@fb.com, hannes@stressinduktion.org,
	yoshfuji@linux-ipv6.org, edumazet@google.com,
	yanhaishuang@cmss.chinamobile.com
Subject: Re: [patch net-next 07/17] ipv6: fib: Add in-kernel notifications for route add / delete
Date: Wed, 19 Jul 2017 18:53:59 +0300	[thread overview]
Message-ID: <20170719155358.GB6078@splinter> (raw)
In-Reply-To: <2db9b613-3978-52f5-db9d-d3e36742db49@gmail.com>

On Wed, Jul 19, 2017 at 09:38:11AM -0600, David Ahern wrote:
> On 7/19/17 1:02 AM, Jiri Pirko wrote:
> > @@ -879,6 +891,8 @@ static int fib6_add_rt2node(struct fib6_node *fn, struct rt6_info *rt,
> >  		*ins = rt;
> >  		rt->rt6i_node = fn;
> >  		atomic_inc(&rt->rt6i_ref);
> > +		call_fib6_entry_notifiers(info->nl_net, FIB_EVENT_ENTRY_ADD,
> > +					  rt);
> >  		if (!info->skip_notify)
> >  			inet6_rt_notify(RTM_NEWROUTE, rt, info, nlflags);
> >  		info->nl_net->ipv6.rt6_stats->fib_rt_entries++;
> > @@ -906,6 +920,8 @@ static int fib6_add_rt2node(struct fib6_node *fn, struct rt6_info *rt,
> >  		rt->rt6i_node = fn;
> >  		rt->dst.rt6_next = iter->dst.rt6_next;
> >  		atomic_inc(&rt->rt6i_ref);
> > +		call_fib6_entry_notifiers(info->nl_net, FIB_EVENT_ENTRY_REPLACE,
> > +					  rt);
> >  		if (!info->skip_notify)
> >  			inet6_rt_notify(RTM_NEWROUTE, rt, info, NLM_F_REPLACE);
> >  		if (!(fn->fn_flags & RTN_RTINFO)) {
> > @@ -1459,6 +1475,7 @@ static void fib6_del_route(struct fib6_node *fn, struct rt6_info **rtp,
> >  
> >  	fib6_purge_rt(rt, fn, net);
> >  
> > +	call_fib6_entry_notifiers(net, FIB_EVENT_ENTRY_DEL, rt);
> >  	if (!info->skip_notify)
> >  		inet6_rt_notify(RTM_DELROUTE, rt, info, 0);
> >  	rt6_release(rt);
> > 
> 
> 
> Why aren't all of the notifier calls under the skip_notify? That flag is
> used to make handling of ipv6 multipath routes on par with ipv4. See
> commit 3b1137fe74829

>From the cover letter:

"Unlike user space notifications for IPv6 multipath routes, the FIB
notification chain notifies these on a per-nexthop basis. This allows us
to keep the common code lean and is also unnecessary, as notifications
are serialized by each table's lock whereas applications maintaining
netlink caches may suffer from concurrent dumps and deletions /
additions of routes."

  reply	other threads:[~2017-07-19 15:54 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-07-19  7:02 [patch net-next 00/17] mlxsw: Support for IPv6 UC router Jiri Pirko
2017-07-19  7:02 ` [patch net-next 01/17] net: core: Make the FIB notification chain generic Jiri Pirko
2017-07-19 14:11   ` David Ahern
2017-07-19 14:35     ` Ido Schimmel
2017-07-19  7:02 ` [patch net-next 02/17] mlxsw: spectrum_router: Ignore address families other than IPv4 Jiri Pirko
2017-07-19  7:02 ` [patch net-next 03/17] rocker: " Jiri Pirko
2017-07-19  7:02 ` [patch net-next 04/17] net: fib_rules: Implement notification logic in core Jiri Pirko
2017-07-19  7:02 ` [patch net-next 05/17] ipv6: fib_rules: Check if rule is a default rule Jiri Pirko
2017-07-19  7:02 ` [patch net-next 06/17] ipv6: fib: Add FIB notifiers callbacks Jiri Pirko
2017-07-19  7:02 ` [patch net-next 07/17] ipv6: fib: Add in-kernel notifications for route add / delete Jiri Pirko
2017-07-19 15:38   ` David Ahern
2017-07-19 15:53     ` Ido Schimmel [this message]
2017-07-19  7:02 ` [patch net-next 08/17] ipv6: fib_rules: Dump rules during registration to FIB chain Jiri Pirko
2017-07-19  7:02 ` [patch net-next 09/17] ipv6: fib: Dump tables " Jiri Pirko
2017-07-19  7:02 ` [patch net-next 10/17] ipv6: fib: Add offload indication to routes Jiri Pirko
2017-07-19 15:27   ` David Ahern
2017-07-19 15:49     ` Ido Schimmel
2017-07-19 15:53       ` David Ahern
2017-07-19 16:19         ` Ido Schimmel
2017-07-19  7:02 ` [patch net-next 11/17] ipv6: fib: Allow non-FIB users to take reference on route Jiri Pirko
2017-07-19 15:49   ` David Ahern
2017-07-19 16:17     ` Ido Schimmel
2017-07-19 16:29       ` David Ahern
2017-07-19  7:02 ` [patch net-next 12/17] mlxsw: spectrum_router: Demultiplex FIB event based on family Jiri Pirko
2017-07-19  7:02 ` [patch net-next 13/17] mlxsw: spectrum_router: Sanitize IPv6 FIB rules Jiri Pirko
2017-07-19  7:02 ` [patch net-next 14/17] mlxsw: spectrum_router: Add support for IPv6 routes addition / deletion Jiri Pirko
2017-07-19 16:14   ` David Ahern
2017-07-19 16:30     ` Ido Schimmel
2017-07-19 16:36       ` David Ahern
2017-07-19 16:43         ` Ido Schimmel
2017-07-19  7:02 ` [patch net-next 15/17] mlxsw: spectrum_router: Add support for route replace Jiri Pirko
2017-07-19  7:02 ` [patch net-next 16/17] mlxsw: spectrum_router: Abort on source-specific routes Jiri Pirko
2017-07-19 16:16   ` David Ahern
2017-07-19 16:36     ` Ido Schimmel
2017-07-19  7:02 ` [patch net-next 17/17] mlxsw: spectrum_router: Don't ignore IPv6 notifications Jiri Pirko

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170719155358.GB6078@splinter \
    --to=idosch@mellanox.com \
    --cc=davem@davemloft.net \
    --cc=dsahern@gmail.com \
    --cc=edumazet@google.com \
    --cc=hannes@stressinduktion.org \
    --cc=jiri@resnulli.us \
    --cc=kafai@fb.com \
    --cc=mlxsw@mellanox.com \
    --cc=netdev@vger.kernel.org \
    --cc=nikolay@cumulusnetworks.com \
    --cc=roopa@cumulusnetworks.com \
    --cc=yanhaishuang@cmss.chinamobile.com \
    --cc=yoshfuji@linux-ipv6.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).