Babel routing protocol (babeld)

This documentation applies to babeld between version 1.5.1 and 1.8. Older versions used a slightly different syntax and different option names.

Introduction

The UCI configuration aims at being as transparent as possible: option names are the same as the native babeld config (using “_” instead of “-”). Refer to the commented
default configuration file and to the man page for babeld for more details.

You can configure babeld in three different places:

/etc/babeld.conf, the native babeld configuration

native configuration fragments in /tmp/babeld.d/ (starting from babeld 1.6.0-3). The fragments must end with a .conf extension.

/etc/config/babeld, the UCI-style configuration. This is the preferred way of configuring babeld.

If the same option is defined in several places, the last one takes precedence. So, for instance, you can mix native and UCI-style configuration, but the UCI-generated configuration will take precedence over the native configuration for conflicting options.

General configuration

General configuration for babeld is done inside a config general section, for instance:

Filtering rules and redistribution

TODO

Troubleshooting

When starting babeld, /etc/config/babeld is used to generate a configuration in /var/etc/babeld.conf. If babeld does not start, look for something unusual in this file. Also look at the logs (using logread).

Note that, by default, no interface is configured, so babeld will refuse to start.

Examples

It is recommended to use logical interface names, so that you can also define firewall zones with these interfaces, and use all UCI goodness (automatic interface reloading, ifstatus, persistent interface name, etc). But you can also use physical interface names if you want to.

Using logical interface names does not seem to work reliably in all cases, see this ticket.

Wireless setup with logical interface names

Here is an example with two radios, one 2.4 GHz (wlan_24) and one 5 GHz (wlan_5). Note that we don't bridge anything, as Babel will route between the interfaces.