Re: [PATCH v2 net-next 4/7] ipv6: Plumb support for nexthop object in a fib6_info

2019-06-04 Thread Martin Lau
On Tue, Jun 04, 2019 at 08:05:58PM -0600, David Ahern wrote: > On 6/4/19 6:39 PM, Martin Lau wrote: > > IMO, ip6_create_rt_rcu(), which returns untracked rt, was a mistake > > and removing it has been overdue. Tracking down the unregister dev > > bug is not easy. > > I must be missing something b

Re: [PATCH v2 net-next 4/7] ipv6: Plumb support for nexthop object in a fib6_info

2019-06-04 Thread David Ahern
On 6/4/19 6:39 PM, Martin Lau wrote: > IMO, ip6_create_rt_rcu(), which returns untracked rt, was a mistake > and removing it has been overdue. Tracking down the unregister dev > bug is not easy. I must be missing something because I don't have the foggiest idea why you are barking up this tree.

Re: [PATCH v2 net-next 4/7] ipv6: Plumb support for nexthop object in a fib6_info

2019-06-04 Thread Martin Lau
On Tue, Jun 04, 2019 at 02:36:27PM -0700, Wei Wang wrote: > On Tue, Jun 4, 2019 at 2:13 PM David Ahern wrote: > > > > On 6/4/19 3:06 PM, Martin Lau wrote: > > > On Tue, Jun 04, 2019 at 02:17:28PM -0600, David Ahern wrote: > > >> On 6/3/19 11:29 PM, Martin Lau wrote: > > >>> On Mon, Jun 03, 2019 at

Re: [PATCH v2 net-next 4/7] ipv6: Plumb support for nexthop object in a fib6_info

2019-06-04 Thread David Ahern
On 6/4/19 3:36 PM, Wei Wang wrote: > instead of trying to convert ip6_create_rt_rcu() to use the pcpu_dst > logic, completely get rid of the calling to ip6_create_rt_rcu(), and > directly return f6i in those cases to the caller. Is that correct? yes

Re: [PATCH v2 net-next 4/7] ipv6: Plumb support for nexthop object in a fib6_info

2019-06-04 Thread Martin Lau
On Tue, Jun 04, 2019 at 03:13:38PM -0600, David Ahern wrote: > On 6/4/19 3:06 PM, Martin Lau wrote: > > On Tue, Jun 04, 2019 at 02:17:28PM -0600, David Ahern wrote: > >> On 6/3/19 11:29 PM, Martin Lau wrote: > >>> On Mon, Jun 03, 2019 at 07:36:06PM -0600, David Ahern wrote: > On 6/3/19 6:58 PM

Re: [PATCH v2 net-next 4/7] ipv6: Plumb support for nexthop object in a fib6_info

2019-06-04 Thread Wei Wang
On Tue, Jun 4, 2019 at 2:13 PM David Ahern wrote: > > On 6/4/19 3:06 PM, Martin Lau wrote: > > On Tue, Jun 04, 2019 at 02:17:28PM -0600, David Ahern wrote: > >> On 6/3/19 11:29 PM, Martin Lau wrote: > >>> On Mon, Jun 03, 2019 at 07:36:06PM -0600, David Ahern wrote: > On 6/3/19 6:58 PM, Martin

Re: [PATCH v2 net-next 4/7] ipv6: Plumb support for nexthop object in a fib6_info

2019-06-04 Thread David Ahern
On 6/4/19 3:06 PM, Martin Lau wrote: > On Tue, Jun 04, 2019 at 02:17:28PM -0600, David Ahern wrote: >> On 6/3/19 11:29 PM, Martin Lau wrote: >>> On Mon, Jun 03, 2019 at 07:36:06PM -0600, David Ahern wrote: On 6/3/19 6:58 PM, Martin Lau wrote: > I have concern on calling ip6_create_rt_rcu()

Re: [PATCH v2 net-next 4/7] ipv6: Plumb support for nexthop object in a fib6_info

2019-06-04 Thread Martin Lau
On Tue, Jun 04, 2019 at 02:17:28PM -0600, David Ahern wrote: > On 6/3/19 11:29 PM, Martin Lau wrote: > > On Mon, Jun 03, 2019 at 07:36:06PM -0600, David Ahern wrote: > >> On 6/3/19 6:58 PM, Martin Lau wrote: > >>> I have concern on calling ip6_create_rt_rcu() in general which seems > >>> to trace b

Re: [PATCH v2 net-next 4/7] ipv6: Plumb support for nexthop object in a fib6_info

2019-06-04 Thread David Ahern
On 6/3/19 11:29 PM, Martin Lau wrote: > On Mon, Jun 03, 2019 at 07:36:06PM -0600, David Ahern wrote: >> On 6/3/19 6:58 PM, Martin Lau wrote: >>> I have concern on calling ip6_create_rt_rcu() in general which seems >>> to trace back to this commit >>> dec9b0e295f6 ("net/ipv6: Add rt6_info create fun

Re: [PATCH v2 net-next 4/7] ipv6: Plumb support for nexthop object in a fib6_info

2019-06-03 Thread Martin Lau
On Mon, Jun 03, 2019 at 07:36:06PM -0600, David Ahern wrote: > On 6/3/19 6:58 PM, Martin Lau wrote: > > I have concern on calling ip6_create_rt_rcu() in general which seems > > to trace back to this commit > > dec9b0e295f6 ("net/ipv6: Add rt6_info create function for > > ip6_pol_route_lookup") > >

Re: [PATCH v2 net-next 4/7] ipv6: Plumb support for nexthop object in a fib6_info

2019-06-03 Thread David Ahern
On 6/3/19 6:58 PM, Martin Lau wrote: > I have concern on calling ip6_create_rt_rcu() in general which seems > to trace back to this commit > dec9b0e295f6 ("net/ipv6: Add rt6_info create function for > ip6_pol_route_lookup") > > This rt is not tracked in pcpu_rt, rt6_uncached_list or exception buc

Re: [PATCH v2 net-next 4/7] ipv6: Plumb support for nexthop object in a fib6_info

2019-06-03 Thread Martin Lau
On Mon, Jun 03, 2019 at 05:18:11PM -0600, David Ahern wrote: > On 6/3/19 5:05 PM, Wei Wang wrote: > > On Mon, Jun 3, 2019 at 3:35 PM David Ahern wrote: > >> > >> On 6/3/19 3:58 PM, Wei Wang wrote: > >>> Hmm... I am still a bit concerned with the ip6_create_rt_rcu() call. > >>> If we have a blackho

Re: [PATCH v2 net-next 4/7] ipv6: Plumb support for nexthop object in a fib6_info

2019-06-03 Thread Wei Wang
On Mon, Jun 3, 2019 at 4:18 PM David Ahern wrote: > > On 6/3/19 5:05 PM, Wei Wang wrote: > > On Mon, Jun 3, 2019 at 3:35 PM David Ahern wrote: > >> > >> On 6/3/19 3:58 PM, Wei Wang wrote: > >>> Hmm... I am still a bit concerned with the ip6_create_rt_rcu() call. > >>> If we have a blackholed next

Re: [PATCH v2 net-next 4/7] ipv6: Plumb support for nexthop object in a fib6_info

2019-06-03 Thread David Ahern
On 6/3/19 5:05 PM, Wei Wang wrote: > On Mon, Jun 3, 2019 at 3:35 PM David Ahern wrote: >> >> On 6/3/19 3:58 PM, Wei Wang wrote: >>> Hmm... I am still a bit concerned with the ip6_create_rt_rcu() call. >>> If we have a blackholed nexthop, the lookup code here always tries to >>> create an rt cache

Re: [PATCH v2 net-next 4/7] ipv6: Plumb support for nexthop object in a fib6_info

2019-06-03 Thread Wei Wang
On Mon, Jun 3, 2019 at 3:35 PM David Ahern wrote: > > On 6/3/19 3:58 PM, Wei Wang wrote: > > Hmm... I am still a bit concerned with the ip6_create_rt_rcu() call. > > If we have a blackholed nexthop, the lookup code here always tries to > > create an rt cache entry for every lookup. > > Maybe we co

Re: [PATCH v2 net-next 4/7] ipv6: Plumb support for nexthop object in a fib6_info

2019-06-03 Thread David Ahern
On 6/3/19 3:58 PM, Wei Wang wrote: > Hmm... I am still a bit concerned with the ip6_create_rt_rcu() call. > If we have a blackholed nexthop, the lookup code here always tries to > create an rt cache entry for every lookup. > Maybe we could reuse the pcpu cache logic for this? So we only create > ne

Re: [PATCH v2 net-next 4/7] ipv6: Plumb support for nexthop object in a fib6_info

2019-06-03 Thread David Ahern
On 6/3/19 12:09 PM, Wei Wang wrote: >> diff --git a/net/ipv6/route.c b/net/ipv6/route.c >> index fada5a13bcb2..51cb5cb027ae 100644 >> --- a/net/ipv6/route.c >> +++ b/net/ipv6/route.c >> @@ -432,15 +432,21 @@ void fib6_select_path(const struct net *net, struct >> fib6_result *res, >> struct

Re: [PATCH v2 net-next 4/7] ipv6: Plumb support for nexthop object in a fib6_info

2019-06-03 Thread Wei Wang
On Mon, Jun 3, 2019 at 1:42 PM David Ahern wrote: > > On 6/3/19 12:09 PM, Wei Wang wrote: > >> diff --git a/net/ipv6/route.c b/net/ipv6/route.c > >> index fada5a13bcb2..51cb5cb027ae 100644 > >> --- a/net/ipv6/route.c > >> +++ b/net/ipv6/route.c > >> @@ -432,15 +432,21 @@ void fib6_select_path(cons

Re: [PATCH v2 net-next 4/7] ipv6: Plumb support for nexthop object in a fib6_info

2019-06-03 Thread David Ahern
On 6/3/19 12:09 PM, Wei Wang wrote: >> @@ -667,6 +704,13 @@ static void __remove_nexthop_fib(struct net *net, >> struct nexthop *nh) >> } >> if (do_flush) >> fib_flush(net); >> + >> + /* ip6_del_rt removes the entry from this list hence the _safe */ >> +

Re: [PATCH v2 net-next 4/7] ipv6: Plumb support for nexthop object in a fib6_info

2019-06-03 Thread Wei Wang
On Sun, Jun 2, 2019 at 9:08 PM David Ahern wrote: > > From: David Ahern > > Add struct nexthop and nh_list list_head to fib6_info. nh_list is the > fib6_info side of the nexthop <-> fib_info relationship. Since a fib6_info > referencing a nexthop object can not have 'sibling' entries (the old way