batmand - better approach to mobile ad‐hoc networking
batmand
[options]interface[interface...]
B.A.T.M.A.N 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 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 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
5000kbit
5mbit
5mbit/1024
5mbit/1024kbit
5mbit/1mbit
- -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
specified):
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 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
- --disable-client-nat
- 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.
- --policy-routing-script
- 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 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
<wesleyboy42@gmail.com>, for the Debian GNU/Linux system.