[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#861115: Please consider increasing net.ipv6.route.max_size default value



Hi Tim,

On 1/21/20 6:58 PM, Tim Bray wrote:
I also agree.

I've just spent a month tracking down an issue where IPv6 networking connections hang.  Using Debian buster, 4.19.0-6-amd64.

I also had fun finding a workaround for this bug, back in December, but I originally
noticed some weirdness in v4.9 (neighbor being gc'ed immediately, possibly due to route
falling out of cache).

The below messages seams related:

Basil Fillan <jack@basilfillan.uk> on the bird-users list[1]:
> We've also experienced this after upgrading a few routers to Debian
> Buster. With a kernel bisect we found that a bug was introduced in the
> following commit:
>
> 3b6761d18bc11f2af2a6fc494e9026d39593f22c
>
> This bug was still present in master as of a few weeks ago.
>
> It appears entries are added to the IPv6 route cache which aren't
> visible from "ip -6 route show cache", but are causing the route cache
> garbage collection system to trigger extremely often (every packet?)
> once it exceeds the value of net.ipv6.route.max_size. [...]

commit 3b6761d18bc11f2af2a6fc494e9026d39593f22c
Author: David Ahern <dsahern@gmail.com>
Date:   Tue Apr 17 17:33:20 2018 -0700

    net/ipv6: Move dst flags to booleans in fib entries

    Continuing to wean FIB paths off of dst_entry, use a bool to hold
    requests for certain dst settings. Add a helper to convert the
    flags to DST flags when a FIB entry is converted to a dst_entry.

    Signed-off-by: David Ahern <dsahern@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

Brian Rak <brak@gameservers.com> on the netdev list[2]:
I have net.ipv6.route.max_size=4096, and the machine only has 376 routes (calculated by `ip -6 route | wc -l`). However, raising this sysctl to 65k seems to instantly fix IPv6 (I'm not sure if this is a permanent fix yet)

I also found an older thread[3] from 2014 on netdev, that revolves around
the same topic as this bug, but it's might only share the workaround.


[1] Re: IPv6 BGP & kernel 4.19
    https://bird.network.cz/pipermail/bird-users/2020-February/014270.html

[2] Re: IPv6 neighbor discovery issues on 4.18 (and now 4.19)
    https://lore.kernel.org/netdev/de54e925-9536-f2cc-7b89-7205b3fb2c18@gameservers.com/

[3] IPv6 routing table max_size badly dimensioned compared to IPv4
    https://lore.kernel.org/netdev/20140227192403.GA13472@xs.powerdns.com/

--
Best regards
Asbjørn Sloth Tønnesen
Network Engineer
Fiberby ApS - AS42541


Reply to: