BATMAND(8)

๐Ÿ“ฆ
version 0.3.2+74+g2f62b17 ยท 2 versions
  • 0.3.2+74+g2f62b17 ยท debian bookworm, debian trixie, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking (latest)
  • 0.3.2 ยท ubuntu jammy
, in debian bookworm, debian trixie, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking

๐Ÿ’– BATMAND(8) ๐Ÿ’–

welcome to the batmand manual, bestie โ€” this one lives in section 8 of the System Manager's Manual, so it's giving "system administration" main character energy. โœจ


๐ŸŒˆ NAME ๐ŸŒˆ

batmand</purl> โ€” 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, and it's literally a whole new routing protocol for multiโ€hop adโ€hoc mesh networks. Go to https://www.open-mesh.org/ if you want more info, bestie, they have the lore. ๐Ÿ“š

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) โ€” Adds networks to the daemon's list of available connections to another network(s). You can use this option multiple times and you can use it to add networks dynamically while the daemon is running, no cap. The parameter has to be in the form of ipโ€address/netmask. ๐Ÿ”ฅ
  • -A delete announced network(s) โ€” Deletes networks from the daemon's list of available connections to another network(s). This one can be used multiple times too, but only 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 is 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 it's 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 messages 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. ๐ŸŽ€


okay that's the whole thing bestie, you ate that ๐Ÿ’…โœจ This page is batmand(8) from the System Manager's Manual, dated Sep 7, 2007 โ€” iconic, periodt ๐Ÿฆ‹๐ŸŒธ