IPv6 BGP & kernel 4.19

Oliver bird-o at sernet.de
Fri Sep 25 13:22:02 CEST 2020


Hello,

today I monitored the numbers and did more testing. The jitter starts,
when $6 (total number of routes alloced) in /proc/net/rt6_stats is higher then 
the value of net.ipv6.route.gc_thresh.

I proveked this by running:
ip -6 route |egrep "^[0-9a-f]{1,4}:"|awk '{ print $1; }'|sed "s#/.*##"|xargs -L 1 ip -6 route get 1> /dev/null

I thought the garbage collector would remove old entries, but this seems
not to be the case. The numbers stays now over 120.000 and I had to increase
net.ipv6.route.gc_thresh to a higher number to get it stable again.
After running the "route get" command after this again the numbers are still
going up. Should not be everything now already in the cache?

I looked into the kernel code to understand more of /proc/net/rt6_stats
numbers (include/net/ip6_fib.h), but I still have questions:

fib_nodes;              /* all fib6 nodes */
=> What does this number mean? What are fib6 nodes?
Current Value: 405615 (6306f)

fib_route_nodes;        /* intermediate nodes */
=> Is around the size of: ip -6 r l table all | wc -l
Current Value: 207305 (329c9)

fib_rt_entries;         /* rt entries in fib table */
=> How can I see all of this rt entries?
Current Value: 32730956 (1f36f4c)

fib_rt_cache;           /* cached rt entries in exception table */
=> This number is higher then fib_route_nodes
Current Value: 207330 (329e2)

fib_discarded_routes;   /* total number of routes delete */
=> Are discarded routes removed by the gc or removed by bird?
1 (0001)

fib_rt_alloc;           /* total number of routes alloced */
124170 (1e50a)

fib_rt_uncache;         /* rt entries in uncached list */
=> This number is higher then fib_nodes
439679 (6b57f)

Maybe someone can bring light on this.

Oliver



More information about the Bird-users mailing list