On 5/8/20 7:39 AM, David Ahern wrote:
> 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.
> 

This patch can be backported without any pains ;)

Getting rid of limits, even for exceptions ?

Reply via email to