Mailing List Archive

Value of linux net.ipv6.route.max_size
Hi,

I recently noticed an issue with some routers complaining with that message:

"kernel: Route cache is full: consider increasing sysctl
net.ipv6.route.max_size."

These routers are running FRR on Debian 12 , kernel 6.1.0-17-amd64. They
are receiving full routing table and routes are inserted into the kernel
routing table.

I saw a similar error here [1] and it leads me to [2] as well but I
should admit I did not read everything.

I did not dive into the details of the two links but for now , I want to
increase that value (and find the source of that error).

The current value of net.ipv6.route.max_size is: 4096 . I guess it's the
default on at least that kernel.

For reference net.ipv4.route.max_size=2147483647 .

Of course, we cannot correlate the two but I was wondering, what either
people are using or what might be a reasonable value for the IPv6
counterpart.


1. https://bugzilla.redhat.com/show_bug.cgi?id=1813691

2.
https://lore.kernel.org/netdev/e022d597-302d-c061-0830-6ed20aa61e56@qtmlabs.xyz/T/#u

--
Willy Manga
Re: Value of linux net.ipv6.route.max_size [ In reply to ]
Willy Manga <willym@manbene.net> writes:

> Hi,
>
> I recently noticed an issue with some routers complaining with that message:
>
> "kernel: Route cache is full: consider increasing sysctl
> net.ipv6.route.max_size."
>
> These routers are running FRR on Debian 12 , kernel 6.1.0-17-amd64. They
> are receiving full routing table and routes are inserted into the kernel
> routing table.
>
> I saw a similar error here [1] and it leads me to [2] as well but I
> should admit I did not read everything.
>
> I did not dive into the details of the two links but for now , I want to
> increase that value (and find the source of that error).
>
> The current value of net.ipv6.route.max_size is: 4096 . I guess it's the
> default on at least that kernel.
>
> For reference net.ipv4.route.max_size=2147483647 .
>
> Of course, we cannot correlate the two but I was wondering, what either
> people are using or what might be a reasonable value for the IPv6
> counterpart.

The check (and error message) was removed entirely starting with kernel
6.3[0], so setting it to the same INT_MAX value as for IPv4 should
probably be fine.

The memory leak that mail thread you linked to references should have
been fixed already in the kernel you're running (the fix[1] went in
during the 5.16 cycle).

-Toke

[0] https://lore.kernel.org/all/20230112012532.311021-1-jmaxwell37@gmail.com/
[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=cdef485217d30382f3bf6448c54b4401648fe3f1