Babel
Babel is a loop-avoiding distance-vector routing protocol. It does link cost estimation and redistribution of routes from other routing protocols.
The network uses the reference implementation of Babel called babeld. Updated packages for Debian can be found at the Toronto Mesh Debian repository. These packages are compiled from source and packaged using scripts in the mesh-packages GitHub repository.
The package for the EdgeRouter X/SFP with UI support is managed by Toronto Mesh and can be found at https://github.com/tomeshnet/RouterX-Babeld-Package.
Prototype babeld configuration can be generated at http://node2.e-mesh.net/CONF/ for both OpenWRT and Linux.
When is Babel needed?
Babel is only required when your node routes IPs or a subnet that was not provided by a remote node.
Babeld console
Depending what port the service started on (local-port
or -G
options) you can access babeld's console using on of the following (assuming 999 is the port).
nc :: 999
telnet :: 999
Note that some versions of nc
do not support IPv6 so that command will not work.
Dump Command
The command dump
in the console will list all the currently known data points of babeld.
add interface <INT> up true ipv6 <IPv6> ipv4 <IPv4>
Indicates that the interfaces <INT>
will be used to find other babeld nodes. <IPv6>
and <IPv4>
are required for routing traffic through the nodes. If one is missing check your interface configuration.
add interface <INT> up false
Indicates the interfaces is assigned to babeld, but are currently not functional (cable not plugged in, or simply down)/
add neighbour f3ecb0 address <IPv6> if <INT> reach ffff ureach 0000 rxcost 96 txcost 96 cost
Indicates nodes found directly connected to babeld. <IPv6>
is the local link IP found on the remote node, <INT>
is the interface this link was found on. The combination of the two (<IPv6>%<INT>
) is used to access the link.
add xroute...metric 256
Indicates the routes babeld is announcing from its routing table. metric 256
is the cost that it is announced as.
add route ...
Indicates routes that babeld has learned about in the network. installed yes
or installed no
indicates if this route is actively being used by being installed in the node's route table. Make note of metric
numbers as they inform if the link will be used or not.