other versions
- wheezy 2012.1.0-1
- jessie 2014.3.0-2
- jessie-backports 2016.5-1~bpo8+1
- testing 2016.5-1
- unstable 2016.5-1
- experimental 2017.1-1
BATCTL(8) | B.A.T.M.A.N. Advanced Control Tool | BATCTL(8) |
NAME¶
batctl - B.A.T.M.A.N. advanced control and management toolSYNOPSIS¶
batctl [batctl-options] command [command-options]DESCRIPTION¶
batctl offers a convenient way to configure the batman-adv kernel module as well as displaying debug information such as originator tables, translation tables and the debug log. In combination with a bat-hosts file batctl allows the use of host names instead of MAC addresses. B.A.T.M.A.N. advanced operates on layer 2. Thus all hosts participating in the virtual switched network are transparently connected together for all protocols above layer 2. Therefore the common diagnosis tools do not work as expected. To overcome these problems batctl contains the commands ping, traceroute, tcpdump which provide similar functionality to the normal ping(1), traceroute(1), tcpdump(1) commands, but modified to layer 2 behaviour or using the B.A.T.M.A.N. advanced protocol.OPTIONS¶
- batctl-options:
- -m specify mesh interface (default 'bat0')
- commands:
- interface|if [add|del iface(s)]
- If no parameter is given or the first parameter is neither
"add" nor "del" the current interface settings are
displayed. In order to add or delete interfaces specify "add" or
"del" as first argument and append the interface names you wish
to add or delete.
- originators|o [-w [interval]][-n][-t]
- Once started batctl will display the list of announced
gateways in the network. Use the "-w" option to let batctl
refresh the list every second or add a number to let it refresh at a
custom interval in seconds (with optional decimal places). If
"-n" is given batctl will not replace the MAC addresses with
bat-host names in the output. The "-t" option filters all
originators that have not been seen for the specified amount of seconds
(with optional decimal places) from the output.
- interval|it [orig_interval]
- If no parameter is given the current originator interval
setting is displayed otherwise the parameter is used to set the originator
interval. The interval is in units of milliseconds.
- loglevel|ll [level[ level[ level]] ...]
- If no parameter is given the current log level settings are
displayed otherwise the parameter(s) is/are used to set the log level.
Level 'none' disables all verbose logging. Level 'batman' enables messages
related to routing / flooding / broadcasting. Level 'routes' enables
messages related to routes being added / changed / deleted. Level 'tt'
enables messages related to translation table operations. Level 'all'
enables all messages. The messages are sent to the batman-adv debug log.
Use batctl log to see them. Make sure to have debugging output
enabled when compiling the module otherwise the output as well as the
loglevel options won't be available.
- log|l [-n]
- batctl will read the batman-adv debug log which has to be
compiled into the kernel module. If "-n" is given batctl will
not replace the MAC addresses with bat-host names in the output.
- gw_mode|gw [off|client|server] [ sel_class|bandwidth]
- If no parameter is given the current gateway mode is displayed otherwise the parameter is used to set the gateway mode. The second (optional) argument specifies the selection class (if 'client' was the first argument) or the gateway bandwidth (if 'server' was the first argument). If the node is a server this parameter is used to inform other nodes in the network about this node's internet connection bandwidth. Just enter any number (optionally followed by "kbit" or "mbit") and the batman-adv module will guess your appropriate gateway class. Use "/" to separate the down‐ and upload rates. You can omit the upload rate and the module will assume an upload of download / 5.
default: 2000 -> gateway class 20
examples: 5000 -> gateway class 49
5000kbit
5mbit
5mbit/1024
5mbit/1024kbit
5mbit/1mbit
If the node is a gateway client the parameter
will decide which criterias to consider when the batman-adv module has to
choose between different internet connections announced by the aforementioned
servers.
default: 20 -> late switch (TQ 20)
examples: 1 -> fast connection
consider the gateway's advertised throughput
as well as the link quality towards the gateway
2 -> stable connection
chooses the gateway with the best link quality
and stick with it (ignore the advertised throughput)
3 -> fast switch connection
chooses the gateway with the best link quality
but switches to another gateway as soon as a better one is found
XX -> late switch connection
chooses the gateway with the best link quality
but switches to another gateway as soon as a better one is found which is at
least XX TQ better than the currently selected gateway (XX has to be a number
between 3 and 256).
- gateways|gwl [-w [interval]][-n]
- Once started batctl will display the list of announced
gateways in the network. Use the "-w" option to let batctl
refresh the list every second or add a number to let it refresh at a
custom interval in seconds (with optional decimal places). If
"-n" was given batctl will not replace the mac addresses with
bat-host names in the output.
- translocal|tl [-w [interval]][-n]
- Display the local translation table. batctl will refresh
the list every second if the "-w" option was given or add a
number to let it refresh at a custom interval in seconds (with optional
decimal places). Use "-n" to let batctl not replace the MAC
addresses with bat-host names in the output.
- transglobal|tg [-w [interval]][-n]
- Display the global translation table. batctl will refresh
the list every second if the "-w" option was given or add a
number to let it refresh at a custom interval in seconds (with optional
decimal places). Use "-n" to let batctl not replace the MAC
addresses with bat-host names in the output.
- softif_neigh|sn [-w [interval]][ -n]
- Display the soft-interface neighbor table. batctl will
refresh the list every second if the "-w" option was given or
add a number to let it refresh at a custom interval in seconds (with
optional decimal places). Use "-n" to let batctl not replace the
MAC addresses with bat-host names in the output.
- vis_mode|vm [mode]
- If no parameter is given the current vis mode is displayed
otherwise the parameter is used to set the vis mode.
- vis_data|vd dot [-n|--numbers][-T| --no-TT][-2|--no-2nd]
- Display the visualisation data in graphviz dot(1)
format. If "--numbers" or "-n" is given batctl will
not replace the MAC addresses with bat-host names in the output. With
"--no-TT" or "-T" the TT entries are not displayed, so
the pure mesh topology can be seen. With "--no-2nd" or
"-2" a dot cluster is not formed around primary and secondary
addresses from the same device.
- vis_data|vd json [-n|--numbers][-T| --no-TT][-2|--no-2nd]
- Display the visualisation data in JSON format. If
"--numbers" or "-n" is given batctl will not replace
the MAC addresses with bat-host names in the output. With
"--no-TT" or "-T" the TT entries are not displayed, so
the pure mesh topology can be seen. With "--no-2nd" or
"-2" a dot cluster is not formed around primary and secondary
addresses from the same device.
- aggregation|ag [1|0]
- If no parameter is given the current aggregation setting is
displayed. Otherwise the parameter is used to enable or disable packet
aggregation.
- bonding|b [1|0]
- If no parameter is given the current bonding mode setting
is displayed. Otherwise the parameter is used to enable or disable the
bonding mode.
- fragmentation|f [1|0]
- If no parameter is given the current fragmentation mode
setting is displayed. Otherwise the parameter is used to enable or disable
fragmentation.
- ap_isolation|ap [1|0]
- If no parameter is given the current ap isolation setting
is displayed. Otherwise the parameter is used to enable or disable ap
isolation.
- ping|p [-c count][-i interval][-t time][-R] MAC_address|bat-host_name
- Layer 2 ping of a MAC address or bat-host name. batctl will
try to find the bat-host name if the given parameter was not a MAC
address. The "-c" option tells batctl how man pings should be
sent before the program exits. Without the "-c" option batctl
will continue pinging without end. Use CTRL + C to stop it. With
"-i" and "-t" you can set the default interval between
pings and the timeout time for replies, both in seconds. When run with
"-R", the route taken by the ping messages will be recorded.
- traceroute|tr [-n] MAC_address|bat-host_name
- Layer 2 traceroute to a MAC address or bat-host name.
batctl will try to find the bat-host name if the given parameter was not a
MAC address. batctl will send 3 packets to each host and display the
response time. If "-n" is given batctl will not replace the MAC
addresses with bat-host names in the output.
- tcpdump|td [-p filter][-n] interface ...
- batctl will display all packets that are seen on the given
interface(s). The "-p" options allows the filtering of certain
packet types: 1 - batman ogm packets, 2 - batman icmp packets, 4 - unicast
packets, 8 - broadcast packets, 16 - vis packets, and 32 - none batman
packets. These numbers can be added to filter more than one packet type,
e.g. use "-p 3" to display batman ogm packets and batman icmp
packets only. If "-n" is given batctl will not replace the MAC
addresses with bat-host names in the output.
- bisect [-l MAC][-t MAC][-r MAC][ -s min [- max]][-o MAC][-n] logfile1 [ logfile2 ... logfileN]
- Analyses the logfiles to build a small internal database of
all sent sequence numbers and routing table changes. This database can
then be analyzed in a number of different ways. With "-l" the
database can be used to search for routing loops. Use "-t" to
trace OGMs of a host throughout the network. Use "-r" to display
routing tables of the nodes. The option "-s" can be used to
limit the output to a range of sequence numbers, between min and max, or
to one specific sequence number, min. Furthermore using "-o" you
can filter the output to a specified originator. If "-n" is
given batctl will not replace the MAC addresses with bat-host names in the
output.
FILES¶
- bat-hosts
- This file is similar to the /etc/hosts file. You can write one MAC address and one host name per line. batctl will search for bat-hosts in /etc, your home directory and the current directory. The found data is used to match MAC address to your provided host name or replace MAC addresses in debug output and logs. Host names are much easier to remember than MAC addresses.
SEE ALSO¶
ping(1), traceroute(1), tcpdump(1), dmesg(1), dot(1)AUTHOR¶
batctl was written by Andreas Langer <an.langer@gmx.de> and Marek Lindner <lindner_marek@yahoo.de>. This manual page was written by Simon Wunderlich <siwu@hrz.tu-chemnitz.de>, Marek Lindner <lindner_marek@yahoo.de> and Andrew Lunn <andrew@lunn.ch>January 4, 2010 | Linux |