DOKK / manpages / debian 12 / alfred / batadv-vis.8.en
BATADV-VIS(8) batman-adv visualization server BATADV-VIS(8)

batadv-vis - batman-adv visualization server

batadv-vis [options]

batadv-vis can be used to visualize your batman-adv mesh network. It read the neighbor information and local client table and distributes this information via alfred in the network. By gathering this local information, any vis node can get the whole picture of the network.

Print the version
Display a brief help message.
path to unix socket used for alfred server communication.
Specify the batman-adv interface configured on the system (default: bat0)
Start up in server mode. This server will read the neighbor and client information from batman-adv every 10 seconds and set it in alfred via unix socket. The alfred server must run too to get this information set.
Specify the output format for client mode (either "json", "jsondoc" or "dot")

Start an batadv-vis server which is fetching the information for bat0:
batadv-vis -i bat0 -s

To get a graphviz-compatible vis output:
batadv-vis


digraph {
subgraph "cluster_fe:f0:00:00:04:01" {
"fe:f0:00:00:04:01"
}
"fe:f0:00:00:04:01" -> "fe:f0:00:00:05:01" [label="1.000"]
"fe:f0:00:00:04:01" -> "fe:f0:00:00:03:01" [label="1.004"]
"fe:f0:00:00:04:01" -> "00:00:43:05:00:04" [label="TT"]
"fe:f0:00:00:04:01" -> "fe:f1:00:00:04:01" [label="TT"]
subgraph "cluster_fe:f0:00:00:02:01" {
"fe:f0:00:00:02:01"
}
"fe:f0:00:00:02:01" -> "fe:f0:00:00:03:01" [label="1.000"]
"fe:f0:00:00:02:01" -> "fe:f0:00:00:01:01" [label="1.008"]
"fe:f0:00:00:02:01" -> "fe:f0:00:00:08:01" [label="1.000"]
"fe:f0:00:00:02:01" -> "fe:f1:00:00:02:01" [label="TT"]
"fe:f0:00:00:02:01" -> "00:00:43:05:00:02" [label="TT"]
subgraph "cluster_fe:f0:00:00:08:01" {
"fe:f0:00:00:08:01"
}
[...]
}

To get a json vis output:
batadv-vis -f json


{ "primary" : "fe:f0:00:00:04:01" }
{ "router" : "fe:f0:00:00:04:01", "neighbor" : "fe:f0:00:00:05:01", "label" : "1.000" }
{ "router" : "fe:f0:00:00:04:01", "neighbor" : "fe:f0:00:00:03:01", "label" : "1.008" }
{ "router" : "fe:f0:00:00:04:01", "gateway" : "00:00:43:05:00:04", "label" : "TT" }
{ "router" : "fe:f0:00:00:04:01", "gateway" : "fe:f1:00:00:04:01", "label" : "TT" }
{ "primary" : "fe:f0:00:00:02:01" }
{ "router" : "fe:f0:00:00:02:01", "neighbor" : "fe:f0:00:00:03:01", "label" : "1.000" }
{ "router" : "fe:f0:00:00:02:01", "neighbor" : "fe:f0:00:00:01:01", "label" : "1.016" }
{ "router" : "fe:f0:00:00:02:01", "neighbor" : "fe:f0:00:00:08:01", "label" : "1.000" }
{ "router" : "fe:f0:00:00:02:01", "gateway" : "fe:f1:00:00:02:01", "label" : "TT" }
{ "router" : "fe:f0:00:00:02:01", "gateway" : "00:00:43:05:00:02", "label" : "TT" }
{ "primary" : "fe:f0:00:00:08:01" }
[...]

To get output where the complete document is json:
batadv-vis -f jsondoc


{
"source_version" : "2013.3.0-14-gcd34783",
"algorithm" : 4,
"vis" : [
{ "primary" : "fe:f0:00:00:04:01",
"neighbors" : [
{ "router" : "fe:f0:00:00:04:01",
"neighbor" : "fe:f0:00:00:05:01",
"metric" : "1.000" },
{ "router" : "fe:f0:00:00:04:01",
"neighbor" : "fe:f0:00:00:03:01",
"metric" : "1.008" }
],
"clients" : [
"00:00:43:05:00:04",
"fe:f1:00:00:04:01"
]
},
{ "primary" : "fe:f0:00:00:02:01",
"neighbors" : [
{ "router" : "fe:f0:00:00:02:01",
"neighbor" : "fe:f0:00:00:03:01",
"metric" : "1.000" },
{ "router" : "fe:f0:00:00:02:01",
"neighbor" : "fe:f0:00:00:01:01",
"metric" : "1.016" },
{ "router" : "fe:f0:00:00:02:01",
"neighbor" : "fe:f0:00:00:08:01",
"metric" : "1.000" }
],
"clients" : [
"fe:f1:00:00:02:01",
"00:00:43:05:00:02"
]
},
{ "primary" : "fe:f0:00:00:08:01",
[...]

alfred(8), batctl(8)

batadv-vis was written by Simon Wunderlich <sw@simonwunderlich.de>.

This manual page was written by Simon Wunderlich <sw@simonwunderlich.de> and Sven Eckelmann <sven@open-mesh.com>.

September 21, 2013 Linux