Babel over wireguard

Ryan Whelan rcwhelan at
Wed Dec 6 14:22:01 CET 2017

If you're gauging interest, I would be very interested in using unicast
atop Wireguard for routing selection

Thank you for the explanation; very helpful.

On Wed, Dec 6, 2017 at 8:11 AM, Toke Høiland-Jørgensen <toke at> wrote:

> Ryan Whelan <rcwhelan at> writes:
> > Are there any routing protocol implementations that do not depend on
> > multicast?
> We are in the process of standardising Babel, and one of the things we
> are adding is the ability to run entirely over unicast. So in the
> future, Babel will be able to do this (and integration with Wireguard is
> one of the things I want to achieve with this). But for now, no
> implementation exists.
> Other than that, maybe BGP? But you'd still need integration with
> Wireguard if you don't want to just set AllowedIPs to ::/0
> > In my setup, 2 hosts will be able to route to one another over 2
> > different wg interfaces and I just need something to select whichever
> > interface has the least latency. Anything like that exist? :D
> You can do this with point-to-point wireguard links. I.e., as long as
> the wireguard link only has two peers, you can set AllowedIPs to
>, ::/0 on both sides, assign manual link-local addresses
> (anything in fe80::/64 will work, so you could just assign fe80::1/64 to
> one side and fe80::2/64 to the other side; they don't need to be
> globally unique either). Then you can run babeld on top, which will
> instruct the kernel to send appropriate packets to the wireguard
> interface, and wireguard will forward it to the other side.
> It's not currently possible to run a routing daemon on a multi-peer
> wireguard interface. The routing daemon would need to reconfigure
> wireguard in the kernel when it adds routes. I am planning to add this
> to Bird at some point, but have not gotten around to it yet...
> -Toke
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the WireGuard mailing list