IPv6 BGP & kernel 4.19

Vincent Bernat bernat at luffy.cx
Mon Dec 2 21:38:21 CET 2019


 ❦  1 décembre 2019 19:20 +01, Clément Guivy <clement at guivy.fr>:

> Hi, that's good news. One thing that still confuses me though is that
> the default values for these settings are the same in Debian 9 (4.9
> kernel) and Debian 10 (4.19 kernel), so I would expect the behaviour
> to be the same between both versions in that regard.
> Also I'm not sure to understand what this max_size parameter actually
> does since I have it to default value (4096), and yet ipv6 route table
> at the moment is >70k entries large without the kernel complaining.

For IPv4, the parameter is ignored since Linux 3.6. For IPv6, this is
the size of the routing cache. If you have more than 4096 active hosts,
Linux will aggressively try to run garbage collection, eating CPU. In
this case, increase both net.ipv6.route.max_size and
net.ipv6.route.gc_thresh. That's a pity, but this value is not easily
observable, so it's hard to know when you hit it. Also, while IPv4
recently got the ability back to enumerate the cache, this is not the
case for IPv6.

This setting is a bit confusing as it is not documented and in the past,
it was limiting the whole IPv6 route table (before Linux 3.0).
-- 
Write clearly - don't sacrifice clarity for "efficiency".
            - The Elements of Programming Style (Kernighan & Plauger)


More information about the Bird-users mailing list