[Babel-users] babeld slashes kernel route manipulation performance by 17000%

Daniel Gröber dxld at darkboxed.org
Thu Apr 14 22:32:05 BST 2022


On Thu, Apr 14, 2022 at 08:58:53PM +0200, Toke Høiland-Jørgensen wrote:
> Yeah, I do. He's also one of the maintainers of the routing code, so
> definitely the right person to Cc on this (explicitly Cc'ing maintainers
> makes sure they see your email as not everyone follows netdev
> rigorously).

Kk :)

> Ah, okay, that's interesting. Playing around with your examples, on my
> laptop the performance goes from ~90k/s to ~1k/s when doing just a
> single 'ip -6 route show table 1337'. The dump itself takes between 5-10
> seconds, so with the 30-sec interval in babeld I guess the periodic dump
> can coincide with the update at random.
> 
> Side note: why is bird replacing all the routes in the first place? :)

That is a good question, bird should really be able to see that the route
is already installed and just don't bother. I see this del/add behaviour
even when bgp is otherwise nice and converged though so I assumed bird is
just like this.

As I said before it always triggers when I (re)start babeld but I can't see
anything obvious in the log even with debug on as to why. Particularily I
don't see any bgp state events so the sessions should be fine but for some
reason it decides to churn everything anyway.

> > I'm currently working on babel ECMP support in bird though maybe I'll
> > have a stab at RTT after that.
> 
> On the subject of ECMP and Babel, you may want to read this thread:
> https://mailarchive.ietf.org/arch/msg/babel/i4tqsRIL3DS9e22GJ0QuoMef-P0/ 
> 
> I.e., it's not just a matter of writing the code we'll also need to
> define the semantics in the spec. Just so you know what you're getting
> yourself into ;)

Interesting thread, thanks.

I think for my use-case the loop avoidance point is moot though since I'm
mainly interested in using this on endpoints, not routers. So perhaps
calling this ECMP is not the right nomenclature?

--Daniel



More information about the Babel-users mailing list