Section: B.A.T.M.A.N. Advanced Control Tool (8)Updated: Jan 04, 2010Local indexUp
NAME
batctl - B.A.T.M.A.N. advanced control and management tool
SYNOPSIS
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:
-h print general batctl help
-v print batctl version
commands:
interface|if [none|interface]
If no parameter is given the current interface settings are displayed
otherwise the parameter(s) are added as new interfaces. Use the "none"
keyword to deactivate all interfaces.
originators|o [-w][-n]
Once started batctl will display the originator table. Use the "-w"
option to let batctl refresh the list every second. If "-n" is
given batctl will not replace the MAC addresses with bat-host names
in 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]
If no parameter is given the current log level settings are displayed
otherwise the parameter is used to set the log level. Level 0 disables
all verbose logging. Level 1 enables messages related to routing / flooding / broadcasting.
Level 2 enables messages related to route or hna added / changed / deleted.
Level 3 enables all messages. The messages are sent to the kernel log.
Use dmesg(1) to see them. Make sure to have debugging output
enabled when compiling the module otherwise the verbose logging output as
well as the loglevel options won't be available.
log|l [logfile][-w][-n]
batctl will read the file logfile, or stdin if the logfile parameter
is not given, applying filtering so only the B.A.T.M.A.N. Advanced
messages are displayed. Once the end of the file has been reached batctl
will exit unless the option "-w" was specified which causes batctl to
continue reading the file and print log output whenever new log data has
been appended to the file. If "-n" is given batctl will not replace the
MAC addresses with bat-host names in the output.
translocal|tl [-w][-n]
Display the local translation table. Use the "-w" option to let batctl
refresh the list every second. If "-n" is given batctl will not replace
the MAC addresses with bat-host names in the output.
transglobal|tg [-w][-n]
Display the global translation table. Use the "-w" option to let batctl
refresh the list every second. If "-n" is given batctl will not replace
the MAC addresses with bat-host names in the output.
vis_server|vs [enabled|disabled]
If no parameter is given the current vis server setting is displayed.
Otherwise the parameter is used to enable or disable the vis server.
Display the visualisation data in dot(1) or JSON format. If "--numbers" or
"-n" is given batctl will not replace the MAC addresses with bat-host
names in the output. With "--no-HNA" or "-H" the HNA 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.
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.
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.
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.