BATMAND(8) System Manager's Manual BATMAND(8)
batmand(8) System Manager's Manual batmand(8)
batmand - better approach to mobile ad‐hoc networking
B.A.T.M.A.N means better approach to mobile ad‐hoc networking, this is a new routing pro‐
tocol for multi‐hop ad‐hoc mesh networks. Go to https://www.open-mesh.org/ to get more
The following document will explain how to use the batman daemon.
The batmand binary can be run in 2 different ways. First you need to start the daemon with
"batmand [options] interface" (daemon mode) and then you can connect to that daemon to
issue further commands with "batmand -c [options]" (client mode). Some of the options
below are always available, some are not. See the example section to get an idea.
-a add announced network(s)
Add networks to the daemons list of available connections to another network(s).
This option can be used multiple times and can be used to add networks dynamically
while the daemon is running. The parameter has to be in the form of ip‐address/net‐
-A delete announced network(s)
Delete networks to the daemons list of available connections to another network(s).
This option can be used multiple times and can only be used while the daemon is
running. The parameter has to be in the form of ip‐address/netmask.
-b run debug connection in batch mode
The debug information are updated after a period of time by default, so if you use
"-b" it will execute once and then stop. This option is useful for script integra‐
tion of the debug output and is only available in client mode together with "-d 1"
or "-d 2".
-c connect via unix socket
Use this option to switch to client mode. Deploy it without any arguments to get
the current configuration even if changed at runtime.
-d debug level
The debug level can be set to five values.
default: 0 -> debug disabled
allowed values: 1 -> list neighbors
2 -> list gateways
3 -> observe batman
4 -> observe batman (verbose)
5 -> memory debug / cpu usage
Note that debug level 5 can be disabled at compile time.
-g gateway class
The gateway class is used to tell other nodes in the network your available inter‐
net bandwidth. Just enter any number (optionally followed by "kbit" or "mbit") and
the daemon will guess your appropriate gateway class. Use "/" to separate the down‐
and upload rates. You can omit the upload rate and batmand will assume an upload of
download / 5.
default: 0 -> gateway disabled
allowed values: 5000
-h short help
-H verbose help
-o orginator interval in ms
A node transmits broadcast messages (we call them originator message or OGM) to
inform the neighboring nodes about it's existence. Originator interval is the time
to wait after sending one message and before sending the next message. The default
value is 1000 ms (1 second). In a mobile network, you may want to detect network
changes very quickly, so you need to send message very often, for example, use a
value of 500 ms. In a static network, you can save bandwidth by using a higher
value. This option is only available in daemon mode.
-p preferred gateway
Set the internet gateway by yourself. Note: This automatically switches your daemon
to "internet search modus" with "-r 1" unless "-r" is given. If the preferred gate‐
way is not found the gateway selection will use the current routing class to choose
-r routing class
The routing class can be set to four values ‐ it enables "internet search modus".
The daemon will choose an internet gateway based on certain criteria (unless "-p"
default: 0 -> set no default route
allowed values: 1 -> use fast connection
2 -> use stable connection
3 -> use fast‐switch connection
XX -> use late‐switch connection
In level 1, B.A.T.M.A.N tries to find the best available connection by watching the
uplinks throughput and the link quality. In level 2, B.A.T.M.A.N compares the link
quality of the internet node and chooses the one with the best link quality. In
level 3, B.A.T.M.A.N compares the link quality of the internet node and chooses the
one with the best link quality but switches to another gateway as soon as a better
connection is found. In level XX (number between 3 and 256) B.A.T.M.A.N compares
the link quality of the internet node and chooses the one with the best link qual‐
ity but switches to another gateway as soon as this gateway has a TQ value which is
XX better than the currently selected gateway.
-s visualization server
Since no topology database is computed by the protocol an additional solution to
create topology graphs has been implemented, the vis server. Batman daemons may
send their local view about their single‐hop neighbors to the vis server. It col‐
lects the information and provides data in a format similar to OLSR's topology
information output. Therefore existing solutions to draw topology graphs developed
for OLSR can be used to visualize mesh‐clouds using B.A.T.M.A.N.
-v print version
Since version 0.3.2 batmand uses iptables to set the NAT rules on the gateX inter‐
face of the batman client (-r XX). That option disables this feature of batmand and
switches the internet tunnel mode to "half tunnels" (the packets towards the gate‐
way are tunneled but not the packets that are coming back) unless NAT was enabled
manually. Be sure to know what you are doing! Without NAT the gateway needs to have
a route to the client or the packets will be dropped silently.
This option disables the policy routing feature of batmand ‐ all routing changes
are send to the script which can make use of this information or not. Firmware and
package maintainers can use this option to tightly integrate batmand into their own
routing policies. This option is only available in daemon mode.
batmand eth1 wlan0:test
Start batman daemon on interface "eth1" and on alias interface "wlan0:test"
batmand -o 2000 -a 192.168.100.1/32 -a 10.0.0.0/24 eth1
Start batman daemon on interface "eth1" with originator interval of 2000 ms while
announcing 192.168.100.1 and 10.0.0.0/24.
batmand -s 192.168.1.1 -d 1 eth1
Start batman daemon on interface "eth1", sending topology information to
192.168.1.1 and with debug level 1 (does not fork into the background).
batmand eth1 && batmand -c -d 1 -b
Start batman daemon on interface "eth1". Connect in client mode to get the debug
level 1 output once (batch mode).
batmand -g 2000kbit/500kbit eth1 && batmand -c -r 1
Start batman daemon on interface "eth1" as internet gateway. Connect in client mode
to disable the internet gateway and enable internet search mode.
batmand was written by Marek Lindner <mareklindner-at-neomailbox.ch>, Axel Neumann
<axel-at-open-mesh.net>, Stefan Sperling <stsp-at-stsp.in-berlin.de>, Corinna 'Elektra'
Aichele <onelektra-at-gmx.net>, Thomas Lopatic <thomas-at-lopatic.de>, Felix Fietkau
<nbd-at-nbd.name>, Ludger Schmudde <lui-at-schmudde.com>, Simon Wunderlich <sw-at-simon‐
wunderlich.de>, Andreas Langer <an.langer-at-gmx.de>.
This manual page was written by Wesley Tsai <@gmail.com>, for the Debian