batmand(8)

better approach to mobile ad\(hyhoc networking

Section 8 batmand bookworm source

Description

BATMANDbatmand

NAME

batmand - better approach to mobile ad-hoc networking

SYNOPSIS

batmand [options]interface[interface...]

DESCRIPTION

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.

OPTIONS

-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 originator 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 mode" 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 mode". 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 considering the gateway’s advertised throughput as well as the

link quality towards the gateway. 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.

--no-detach

Run batmand in foreground

--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.

EXAMPLES

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.

AUTHOR

batmand was written by Marek Lindner <lindner_marek-at-yahoo.de>, 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 <siwu-at-hrz.tu-chemnitz.de>, Andreas Langer

<a.langer-at-q-dsl.de>.

This manual page was written by Wesley Tsai <wesleyboy42@gmail.com>, for

the Debian GNU/Linux system.