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 wrote: > Ryan Whelan 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.0.0.0/0, ::/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 >