[Babel-users] High CPU usage & instability with full IPv6 table

Steven Honson babel-users at steven.honson.au
Fri Jun 10 14:05:23 BST 2022


Hello there.

I operate a small personal IPv6-only network under my own AS, mainly for learning purposes, with the core of it being compromised of four main hosts spread around the world in a mesh topology. Each has a full IPv6 table, as I connect to a variety of transit providers and IXs on different routers. I obviously use BGP as my Exterior Routing Protocol, but use Babel as my Interior Routing Protocol between the four hosts.

At the moment I am using Bird 2 to handle both BGP and Babel, and it barely breaks a sweat, but would like to use babeld for the Babel component so to be able to leverage some of the additional features that the Bird implementation lacks.

I've ran in to an issue though where babeld hits the ceiling with CPU usage the moment I start it and has some trouble maintaining reliable neighbor connections. This does not subside.

Even if I disable the redistribution and installation of all routes using the following configuration options, and have the rest as a stock standard minimal configuration, I see this behavior remain:

local-port 33123
interface wg-1
interface wg-2
interface wg-3
redistribute local deny
install deny

My routers are low-end VPSs, most having 1GB of RAM, with around half of this, and a single vCPU, and are all running Alpine Linux. In terms of IPv6 routes, a quick check reveals that the kernel routing table is holding about ~150,000 routes, though only a handful of those are ones that I have babel managing since it is only playing the role of an IGP.

Any clues what sort of limit I may have reached or how to mitigate this? Is the CPU being eaten up constantly monitoring and filtering route changes in my kernel routing table due to the constant churn of the global IPv6 table?

Any tips as to how I can further troubleshoot this would be very much appreciated.

Thank you all, especially to Juliusz and all the other contributors to the babel specifications and implementations. 

Cheers,
Steven
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/babel-users/attachments/20220610/c9e6d70f/attachment.htm>


More information about the Babel-users mailing list