[Babel-users] babeld slashes kernel route manipulation performance by 17000%
Juliusz Chroboczek
jch at irif.fr
Wed Feb 23 23:55:01 GMT 2022
> Probably because babeld subscribes to netlink notifications for all new
> routes, and only filters them on the table name fairly late,
> specifically here:
>
> https://github.com/jech/babeld/blob/master/kernel_netlink.c#L1175
Do you see how it can be done better?
> I run Bird in a similar setup as yours, BTW, but using the Babel
> implementation in Bird
Just to clarify: there are two major implementations of Babel:
- babeld, which is a research project, and was written over the years by
myself and a number of students, most of whom only stayed during an
internship before moving on;
- the one that's integrated in BIRD, which was written by Toke, one of
the most competent programmers I have had the pleasure to meet.
While I find babeld more convenient than BIRD, since it requires little
configuration in many common cases, I recommend that people use BIRD in
preference to babeld in production deployments.
(Both BIRD and babeld aim to implement Babel and its extensions as
standardised and documented at the IETF, so any failure of the two
implementations to interoperate is considered as a bug. In other words,
you should be able to mix and match BIRD and babeld in a single network.)
-- Juliusz
More information about the Babel-users
mailing list