batmand - better approach to mobile ad‐hoc networking
means better approach to mobile ad‐hoc networking,
this is a new routing protocol for multi‐hop ad‐hoc mesh
networks. Go to https://www.open-mesh.org/ to get more information.
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/netmask.
- -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 integration of the debug output and is
only available in client mode together with "-d 1" or "-d
- -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
- -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
- -g gateway class
- The gateway class is used to tell other nodes in the
network your available internet 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
gateway is not found the gateway selection will use the current routing
class to choose a gateway.
- -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" is
default: 0 -> set no default route
allowed values: 1 -> use fast
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 quality
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 collects 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 interface 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 gateway 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
- Start batman daemon on interface "eth1" with
originator interval of 2000 ms while announcing 192.168.100.1 and
- 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
- 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-simonwunderlich.de>, Andreas Langer <an.langer-at-gmx.de>.
This manual page was written by Wesley Tsai <email@example.com>, for
the Debian GNU/Linux system.