[Babel-users] Some thoughts about Babel (feature requests)

Juliusz Chroboczek jch at pps.univ-paris-diderot.fr
Thu Dec 17 00:33:49 UTC 2015


> I met today with Kostko and we discussed Babel a bit. We have few
> feature requests which would really improve how we are using Babel in
> wlan slovenija network.

All of your requests are reasonable.  (But please distinguish between
Babel, which is a protocol, and babeld, which is just one of the available
implementations of Babel.  And not necessarily the bestest -- Toke's
implementation, while not quite ready yet, shows a lot of promise.)

> So, on VPN servers we create tunnels to each node. This means, that to
> make it work with Babel, we have then to put all tunnels into one
> bridge and configure Babel to use that bridge.

Agreed, this is bad.

> - alternatively, there could be some IPC interface where we could call
> into Babel (Kostko prefers, but I do not like it because then
> configuration on disk differs from the one running)

This was implemented in the (sadly defunct) Quagga implementation of
Babel.  Doing that in babeld is planned for 1.8.0 (the version after
current head is released as 1.7.0).

(Hmm, perhaps it's time to freeze 1.7.0 as it is now and delay the
remaining changes to after 1.8.0.  Matthieu, opinion?)

Note however that you can already call babeld with interfaces that don't
exist yet:

  babeld tun0 tun1 tun2 tun3 ... tun42

and babeld will notice when one of the listed interfaces comes into
existence.  (You can speed the process up by sending SIGUSR2 to babeld
when a new interface appears.)

> Additionally, we worry that Babel does not handle many interfaces
> well, that is, in a performant manner. Especially observing that Babel
> used to use linear searching in lists for other things. So we have an
> interface for every node, which means that this can grow into
> thousands. Will Babel handle that well?

As you guessed, babeld does a linear search across all interfaces for
every received packet, and in a few other places.  As usual, we'll be glad
to fix that when you provide us with profiling data that show that this is
a hot spot.  (My policy is to keep the data structures as simple as
possible until I get profiling data.)

-- Juliusz



More information about the Babel-users mailing list