Babel (RFC 8966) is a modern routing protocol designed to be robust and efficient both in ordinary wired networks and in wireless mesh networks. By default, it uses hop-count on wired networks and a variant of ETX on wireless links, It can be configured to take radio diversity into account and to automatically compute a link's latency and include it in the metric.
It's a dual stack protocol, so a single Babel instance is able to perform routing for both IPv4 and IPv6. And it is very simple to configure like RIP.
Sample configuration on FRR:
router babel network wlan0 network eth0 redistribute ipv4 connected redistribute ipv6 connected exit ! The defaults are fine for a wireless interface !interface wlan0 interface eth0 babel wired babel hello-interval 12000 babel update-interval 36000 exit
I have a basic implementation in vyos-1x and already tested it with a small deployment. However Babel in FRR 8.4 requires a few PRs from master branch to work with frr-reload.py.
It would be really nice if VyOS can support Babel in the future 1.4 release.