On 5/8/20 8:34 AM, Eric Dumazet wrote:
> We currently have to adjust ipv6 route gc_thresh/max_size depending
> on number of cpus on a server, this makes very little sense.
> 
> If the kernels sets /proc/sys/net/ipv6/route/gc_thresh to 1024
> and /proc/sys/net/ipv6/route/max_size to 4096, then we better
> not track the percpu dst that our implementation uses.
> 
> Only routes not added (directly or indirectly) by the admin
> should be tracked and limited.
> 
> Signed-off-by: Eric Dumazet <eduma...@google.com>
> Cc: Martin KaFai Lau <ka...@fb.com>
> Cc: David Ahern <dsah...@kernel.org>
> Cc: Wei Wang <wei...@google.com>
> Cc: Maciej Żenczykowski <m...@google.com>
> ---
>  net/ipv6/route.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/net/ipv6/route.c b/net/ipv6/route.c
> index 
> a9072dba00f4fb0b61bce1fc0f44a3a81ba702fa..4292653af533bb641ae8571fffe45b39327d0380
>  100644
> --- a/net/ipv6/route.c
> +++ b/net/ipv6/route.c
> @@ -1377,7 +1377,7 @@ static struct rt6_info *ip6_rt_pcpu_alloc(const struct 
> fib6_result *res)
>  
>       rcu_read_lock();
>       dev = ip6_rt_get_dev_rcu(res);
> -     pcpu_rt = ip6_dst_alloc(dev_net(dev), dev, flags);
> +     pcpu_rt = ip6_dst_alloc(dev_net(dev), dev, flags | DST_NOCOUNT);
>       rcu_read_unlock();
>       if (!pcpu_rt) {
>               fib6_info_release(f6i);
> 

At this point in IPv6's evolution it seems like it can align more with
IPv4 and just get rid of the dst limits completely.

Reply via email to