Subject: Re: OOM when adding ipv6 route: How to make available more per-cpu memory?

From: Ben Greear <[email-masked]>
Date: Mon, 08 Nov 2010 10:08:50 -0800

On 11/08/2010 09:55 AM, Eric Dumazet wrote:
> Le lundi 08 novembre 2010 à 09:45 -0800, Ben Greear a écrit :
>
>> That helps.  I'm getting all of the IP addrs set now, but
>> having trouble with some of the default gateways (I have one
>> routing table per interface).
>>
>> ./local/sbin/ip -6 route replace default via 2002:9:8::1 dev eth7#458 table 726
>> RTNETLINK answers: No buffer space available
>>
>> dmesg is full of this:
>>
>> [247106.294743] ipv6: Neighbour table overflow.
>>
>>
>> A quick look in /proc didn't show a tunable for this, but I'll
>> go grub through the code.
>>
>> As for the route/max_size, it would be nice to see some useful kernel
>> message in dmesg when this hit.  Just telling the user '-ENOMEM'
>> is not at all sufficient to help them figure out the problem.
>
> Sure, patches are welcomed. Apparently nobody yet used ipv6 with so many
> devices / routes, and this nobody contributed to extend limits.

I'll see what I can do.  I'm aiming for several thousand IPv6 addrs,
so will try to get these limitations ironed out.

>> For that matter, why is there such a limit anyway?  IPv4 doesn't appear
>> to have any such limit?
>
> There are limits for ipv4, much bigger, you probably never noticed.
>
>
> /proc/sys/net/ipv4/route/gc_elasticity:8
> /proc/sys/net/ipv4/route/gc_interval:60
> /proc/sys/net/ipv4/route/gc_min_interval:0
> /proc/sys/net/ipv4/route/gc_min_interval_ms:500
> /proc/sys/net/ipv4/route/gc_thresh:131072
> /proc/sys/net/ipv4/route/gc_timeout:300
> /proc/sys/net/ipv4/route/max_size:2097152<<<  HERE
> /proc/sys/net/ipv4/route/min_adv_mss:256
> /proc/sys/net/ipv4/route/min_pmtu:552
> /proc/sys/net/ipv4/route/mtu_expires:600
> /proc/sys/net/ipv4/route/redirect_load:2
> /proc/sys/net/ipv4/route/redirect_number:9
> /proc/sys/net/ipv4/route/redirect_silence:2048
>
> I suggest followup discussion can got to netdev only, now per-cpu it not
> anymore the problem ?

Agreed, and trimmed.

Thanks,
Ben

-- 
Ben Greear <[email-masked]>
Candela Technologies Inc  http://www.candelatech.com