Re: OOM when adding ipv6 route: How to make available moreper-cpu memory?

From: Eric Dumazet
Date: Mon Nov 08 2010 - 12:55:26 EST


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.

>
> 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 ?




--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/