[Babel-users] A Babel implementation in Go

Juliusz Chroboczek jch at irif.fr
Thu May 18 12:34:40 BST 2023


> A couple of days ago, I started to work on implementation of the Babel
> protocol in Go driven by the following objectives:

Excellent news.  Babel is a protocol, and I'm trying to encourage
independent implementations of the protocol.  In fact, I consider that the
implementation in BIRD is superior in many ways to babeld.

> - Embeddable Go-package / library
>   - Possibly also a babeld-compatible daemon later-on
>   - Alternatively, integration into bio routing daemon
> - Unicast & RTT support

That's way into the future, but I encourage you to keep source-specific
routing in mind.

> My motivation to start a new Babel implementation is driven by the need
> for routing daemon for my WireGuard overlay network.

Are you planning any interesting interactions between Babel and Wireguard?
If you're going to avoid multicast, you'll need to automatically import
Wireguard peers into Babel's neighbour table.

> But as newcomer to the Babel protocol, that will take me some more time to fully grasp the details of the protocol.

You may want to start by looking at [1], which is the simplest Babel
implementation in existence.  Be aware, though, that the protocol is
specified by the RFC, not by the implementation.

[1] https://github.com/jech/sbabeld

Good luck,

-- Juliusz



More information about the Babel-users mailing list