Author: marek Date: 2010-06-20 23:13:24 +0200 (Sun, 20 Jun 2010) New Revision: 1715
Modified: trunk/batctl/Makefile trunk/batctl/README trunk/batctl/allocate.h trunk/batctl/bat-hosts.c trunk/batctl/bat-hosts.h trunk/batctl/bisect.c trunk/batctl/bisect.h trunk/batctl/debug.c trunk/batctl/functions.c trunk/batctl/functions.h trunk/batctl/main.c trunk/batctl/main.h trunk/batctl/man/batctl.8 trunk/batctl/ping.c trunk/batctl/ping.h trunk/batctl/tcpdump.c trunk/batctl/tcpdump.h trunk/batctl/traceroute.c trunk/batctl/traceroute.h trunk/batctl/vis.c trunk/batctl/vis.h trunk/batman/hash.c trunk/batman/hash.h trunk/batman/list-batman.c trunk/batman/list-batman.h Log: batctl: Merge differences between v2010.0.0
batctl started to diverge when the batctl-0.2.x (later batctl-maint) was created. Even when not all changes inside the batctl branch has to be in the batctl-maint branch, it must be ensured that all changes in batctl-maint are also part of batctl.
Signed-off-by: Sven Eckelmann sven.eckelmann@gmx.de
Modified: trunk/batctl/Makefile =================================================================== --- trunk/batctl/Makefile 2010-06-20 11:49:16 UTC (rev 1714) +++ trunk/batctl/Makefile 2010-06-20 21:13:24 UTC (rev 1715) @@ -1,5 +1,5 @@ # -# Copyright (C) 2006-2009 BATMAN contributors +# Copyright (C) 2006-2010 BATMAN contributors # # This program is free software; you can redistribute it and/or # modify it under the terms of version 2 of the GNU General Public
Modified: trunk/batctl/README =================================================================== --- trunk/batctl/README 2010-06-20 11:49:16 UTC (rev 1714) +++ trunk/batctl/README 2010-06-20 21:13:24 UTC (rev 1715) @@ -335,7 +335,7 @@ * ca:a1:5b:e5:00:00 via fe:fe:00:00:06:01
batctl vis_server -================ +=================
display or modify the status of the VIS server
@@ -348,4 +348,81 @@ [ ] server mode (server enabled)
+batctl vis_data +===============
+display the VIS data in dot or JSON format + + +Usage: + +batctl vis dot {-h}{--no-HNA|-H} {--no-2nd|-2} {--numbers|-n} +or +batctl vis json {-h}{--no-HNA|-H} {--no-2nd|-2} {--numbers|-n} + + +Example: +(A <- 100% -> B,B-if2 <- 50% -> C) + +$ batctl vis_data dot +digraph { + "A" -> "B" [label="1.00"] + "A" -> "00:ff:f3:cc:68:ac" [label="HNA"] + subgraph "cluster_A" { + "A" [peripheries=2] + } + "B" -> "A" [label="1.00"] + "B-if2" -> "C" [label="2.00"] + "B" -> "22:ff:f3:cc:68:ac" [label="HNA"] + subgraph "cluster_B" { + "B" [peripheries=2] + "B-if2" + } + "C" -> "B-if2" [label="2.00"] + "C" -> "44:ff:f3:cc:68:ac" [label="HNA"] + subgraph "cluster_C" { + "C" [peripheries=2] + } +} + + +Explanation: + +The vis dot (or json) output is adding an entry for each link between two +originator's interfaces which are being used for internal routing in batman. +The labels are similar/compatible to the ETX metric, 1.0 means perfect +connection (100%), 2.0 means 50%, 3.0 means 33% and so on. + +A host's mac address which is currently connected to the interface of a mesh +node (either the mesh node itself or hosts being bridged into the mesh) is +being displayed with an "HNA"-label. (--no-hna omits this output) + +To still have the information about which interfaces belong to which mesh node +a subgraph/cluster is being added. The subpgraph is being labeled with a mesh +nodes primary interface mac (= Originator MAC). It also has an additional tag +[peripheries=2] to make this important MAC address visible, for instance in an +image. (--no-2nd omits this output) +After the conversion to a png file with graphviz-tools' fdp, all interfaces of +a node would be combined in a visual box (see below for details). + + +vis-dot to png +-------------- + +The vis dot output could then further be converted to an image of the topology +graph, e.g. with the help of the graphviz-tools. The according commands could +then look like this: + +$ batctl vis_data dot > /tmp/graph.dot +$ fdp -Tpng /tmp/graph.dot > graph.png + +Meaning of the shapes in this image file: +* Ellipses: All BATMAN-node and host interfaces can be found in here + labeled with the according interface MAC-address. +* Boxes: interfaces belonging to one BATMAN-node +* double circled interfaces: the primary interface of a BATMAN-node + (which is known to other BATMAN-nodes only, except direct neighbours) +* Ellipses with an HNA-arrow: mesh clients (this can be a BATMAN-node itself + with its bat0 interface or computers/devices being bridged into the mesh) +* Arrows with numbers: the transmit quality (in the form 1/TQ) from one + BATMAN interface to another BATMAN interface
Modified: trunk/batctl/allocate.h =================================================================== --- trunk/batctl/allocate.h 2010-06-20 11:49:16 UTC (rev 1714) +++ trunk/batctl/allocate.h 2010-06-20 21:13:24 UTC (rev 1715) @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 B.A.T.M.A.N. contributors: + * Copyright (C) 2009-2010 B.A.T.M.A.N. contributors: * * Marek Lindner lindner_marek@yahoo.de *
Modified: trunk/batctl/bat-hosts.c =================================================================== --- trunk/batctl/bat-hosts.c 2010-06-20 11:49:16 UTC (rev 1714) +++ trunk/batctl/bat-hosts.c 2010-06-20 21:13:24 UTC (rev 1715) @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2009 B.A.T.M.A.N. contributors: + * Copyright (C) 2007-2010 B.A.T.M.A.N. contributors: * * Andreas Langer a.langer@q-dsl.de, Marek Lindner lindner_marek@yahoo.de *
Modified: trunk/batctl/bat-hosts.h =================================================================== --- trunk/batctl/bat-hosts.h 2010-06-20 11:49:16 UTC (rev 1714) +++ trunk/batctl/bat-hosts.h 2010-06-20 21:13:24 UTC (rev 1715) @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 B.A.T.M.A.N. contributors: + * Copyright (C) 2009-2010 B.A.T.M.A.N. contributors: * * Marek Lindner lindner_marek@yahoo.de *
Modified: trunk/batctl/bisect.c =================================================================== --- trunk/batctl/bisect.c 2010-06-20 11:49:16 UTC (rev 1714) +++ trunk/batctl/bisect.c 2010-06-20 21:13:24 UTC (rev 1715) @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 B.A.T.M.A.N. contributors: + * Copyright (C) 2009-2010 B.A.T.M.A.N. contributors: * * Marek Lindner lindner_marek@yahoo.de *
Modified: trunk/batctl/bisect.h =================================================================== --- trunk/batctl/bisect.h 2010-06-20 11:49:16 UTC (rev 1714) +++ trunk/batctl/bisect.h 2010-06-20 21:13:24 UTC (rev 1715) @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 B.A.T.M.A.N. contributors: + * Copyright (C) 2009-2010 B.A.T.M.A.N. contributors: * * Marek Lindner lindner_marek@yahoo.de *
Modified: trunk/batctl/debug.c =================================================================== --- trunk/batctl/debug.c 2010-06-20 11:49:16 UTC (rev 1714) +++ trunk/batctl/debug.c 2010-06-20 21:13:24 UTC (rev 1715) @@ -100,4 +100,4 @@
debugfs_make_path(DEBUG_BATIF_PATH "/", full_path, sizeof(full_path)); return read_file(full_path, file_path, read_opt); -} \ No newline at end of file +}
Modified: trunk/batctl/functions.c =================================================================== --- trunk/batctl/functions.c 2010-06-20 11:49:16 UTC (rev 1714) +++ trunk/batctl/functions.c 2010-06-20 21:13:24 UTC (rev 1715) @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2009 B.A.T.M.A.N. contributors: + * Copyright (C) 2007-2010 B.A.T.M.A.N. contributors: * * Andreas Langer a.langer@q-dsl.de, Marek Lindner lindner_marek@yahoo.de * @@ -99,7 +99,7 @@ return get_name_by_macaddr(mac_addr, read_opt); }
-int check_proc_dir(char *dir) +static int check_proc_dir(char *dir) { struct stat st;
Modified: trunk/batctl/functions.h =================================================================== --- trunk/batctl/functions.h 2010-06-20 11:49:16 UTC (rev 1714) +++ trunk/batctl/functions.h 2010-06-20 21:13:24 UTC (rev 1715) @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2009 B.A.T.M.A.N. contributors: + * Copyright (C) 2007-2010 B.A.T.M.A.N. contributors: * * Andreas Langer a.langer@q-dsl.de, Marek Lindner lindner_marek@yahoo.de * @@ -35,7 +35,6 @@ char *get_name_by_macstr(char *mac_str, int read_opt); int read_file(char *dir, char *path, int read_opt); int write_file(char *dir, char *fname, char *arg1, char *arg2); -int check_proc_dir(char *dir); char *strchr_anyof(const char *s, const char *n);
extern char *line_ptr;
Modified: trunk/batctl/main.c =================================================================== --- trunk/batctl/main.c 2010-06-20 11:49:16 UTC (rev 1714) +++ trunk/batctl/main.c 2010-06-20 21:13:24 UTC (rev 1715) @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2009 B.A.T.M.A.N. contributors: + * Copyright (C) 2007-2010 B.A.T.M.A.N. contributors: * * Andreas Langer a.langer@q-dsl.de, Marek Lindner lindner_marek@yahoo.de *
Modified: trunk/batctl/main.h =================================================================== --- trunk/batctl/main.h 2010-06-20 11:49:16 UTC (rev 1714) +++ trunk/batctl/main.h 2010-06-20 21:13:24 UTC (rev 1715) @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2009 B.A.T.M.A.N. contributors: + * Copyright (C) 2007-2010 B.A.T.M.A.N. contributors: * * Andreas Langer a.langer@q-dsl.de, Marek Lindner lindner_marek@yahoo.de *
Modified: trunk/batctl/man/batctl.8 =================================================================== --- trunk/batctl/man/batctl.8 2010-06-20 11:49:16 UTC (rev 1714) +++ trunk/batctl/man/batctl.8 2010-06-20 21:13:24 UTC (rev 1715) @@ -56,16 +56,16 @@ .IP "\fBinterface\fP|\fBif\fP [\fBadd\fP|\fBdel iface(s)\fP]" 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. .br -.IP "\fBoriginators\fP|\fBo\fP [\fB-b\fP][\fB-n\fP]" +.IP "\fBoriginators\fP|\fBo\fP [\fB-w\fP][\fB-n\fP]" 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. If "-n" is given batctl will not replace the MAC addresses with bat-host names in the output. .br .IP "\fBinterval\fP|\fBit\fP [\fBorig_interval\fP]" 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. .br .IP "\fBloglevel\fP|\fBll\fP [\fBlevel\fP]" -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 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 \fBdmesg\fP(1) 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. +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 \fBdmesg\fP(1) 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. .br -.IP "\fBlog\fP|\fBl\fP [\fBlogfile\fP][\fB-b\fP][\fB-n\fP]\fP" +.IP "\fBlog\fP|\fBl\fP [\fBlogfile\fP][\fB-w\fP][\fB-n\fP]\fP" 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. .br .IP "\fBgw_mode|gw\fP [\fBoff\fP|\fBclient\fP|\fBserver\fP] [\fBgw_class\fP]\fP" @@ -114,10 +114,10 @@ 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. If "-n" was given batctl will not replace the mac addresses with bat-host names in the output. .br .IP "\fBtranslocal\fP|\fBtl\fP [\fB-w\fP][\fB-n\fP]" -Display the local translation table. batctl will refresh the displayed table every second if the "-w" option was given. Use "-n" to let batctl not replace the MAC addresses with bat-host names in the output. +Display the local translation table. batctl will refresh the list every second if the "-w" option was given. Use "-n" to let batctl not replace the MAC addresses with bat-host names in the output. .br .IP "\fBtransglobal\fP|\fBtg\fP [\fB-w\fP][\fB-n\fP]" -Display the global translation table. batctl will refresh the displayed table every second if the "-w" option was given. Use "-n" to let batctl not replace the MAC addresses with bat-host names in the output. +Display the global translation table. batctl will refresh the list every second if the "-w" option was given. Use "-n" to let batctl not replace the MAC addresses with bat-host names in the output. .br .IP "\fBvis_mode|vm\fP [\fBmode\fP]\fP" If no parameter is given the current vis mode is displayed otherwise the parameter is used to set the vis mode.
Modified: trunk/batctl/ping.c =================================================================== --- trunk/batctl/ping.c 2010-06-20 11:49:16 UTC (rev 1714) +++ trunk/batctl/ping.c 2010-06-20 21:13:24 UTC (rev 1715) @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2009 B.A.T.M.A.N. contributors: + * Copyright (C) 2007-2010 B.A.T.M.A.N. contributors: * * Andreas Langer a.langer@q-dsl.de, Marek Lindner lindner_marek@yahoo.de *
Modified: trunk/batctl/ping.h =================================================================== --- trunk/batctl/ping.h 2010-06-20 11:49:16 UTC (rev 1714) +++ trunk/batctl/ping.h 2010-06-20 21:13:24 UTC (rev 1715) @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 B.A.T.M.A.N. contributors: + * Copyright (C) 2009-2010 B.A.T.M.A.N. contributors: * * Marek Lindner lindner_marek@yahoo.de *
Modified: trunk/batctl/tcpdump.c =================================================================== --- trunk/batctl/tcpdump.c 2010-06-20 11:49:16 UTC (rev 1714) +++ trunk/batctl/tcpdump.c 2010-06-20 21:13:24 UTC (rev 1715) @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2009 B.A.T.M.A.N. contributors: + * Copyright (C) 2007-2010 B.A.T.M.A.N. contributors: * * Andreas Langer a.langer@q-dsl.de *
Modified: trunk/batctl/tcpdump.h =================================================================== --- trunk/batctl/tcpdump.h 2010-06-20 11:49:16 UTC (rev 1714) +++ trunk/batctl/tcpdump.h 2010-06-20 21:13:24 UTC (rev 1715) @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2009 B.A.T.M.A.N. contributors: + * Copyright (C) 2007-2010 B.A.T.M.A.N. contributors: * * Andreas Langer a.langer@q-dsl.de, Marek Lindner lindner_marek@yahoo.de *
Modified: trunk/batctl/traceroute.c =================================================================== --- trunk/batctl/traceroute.c 2010-06-20 11:49:16 UTC (rev 1714) +++ trunk/batctl/traceroute.c 2010-06-20 21:13:24 UTC (rev 1715) @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2009 B.A.T.M.A.N. contributors: + * Copyright (C) 2007-2010 B.A.T.M.A.N. contributors: * * Andreas Langer a.langer@q-dsl.de, Marek Lindner lindner_marek@yahoo.de *
Modified: trunk/batctl/traceroute.h =================================================================== --- trunk/batctl/traceroute.h 2010-06-20 11:49:16 UTC (rev 1714) +++ trunk/batctl/traceroute.h 2010-06-20 21:13:24 UTC (rev 1715) @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 B.A.T.M.A.N. contributors: + * Copyright (C) 2009-2010 B.A.T.M.A.N. contributors: * * Marek Lindner lindner_marek@yahoo.de *
Modified: trunk/batctl/vis.c =================================================================== --- trunk/batctl/vis.c 2010-06-20 11:49:16 UTC (rev 1714) +++ trunk/batctl/vis.c 2010-06-20 21:13:24 UTC (rev 1715) @@ -1,4 +1,6 @@ -/* Copyright (C) 2009 B.A.T.M.A.N. contributors: +/* + * Copyright (C) 2009-2010 B.A.T.M.A.N. contributors: + * * Andrew Lunn andrew@lunn.ch * * This program is free software; you can redistribute it and/or
Modified: trunk/batctl/vis.h =================================================================== --- trunk/batctl/vis.h 2010-06-20 11:49:16 UTC (rev 1714) +++ trunk/batctl/vis.h 2010-06-20 21:13:24 UTC (rev 1715) @@ -1,4 +1,6 @@ -/* Copyright (C) 2009 B.A.T.M.A.N. contributors: +/* + * Copyright (C) 2009-2010 B.A.T.M.A.N. contributors: + * * Andrew Lunn andrew@lunn.ch * * This program is free software; you can redistribute it and/or
Modified: trunk/batman/hash.c =================================================================== --- trunk/batman/hash.c 2010-06-20 11:49:16 UTC (rev 1714) +++ trunk/batman/hash.c 2010-06-20 21:13:24 UTC (rev 1715) @@ -1,5 +1,5 @@ /* - * Copyright (C) 2006-2009 B.A.T.M.A.N. contributors: + * Copyright (C) 2006-2010 B.A.T.M.A.N. contributors: * * Simon Wunderlich, Marek Lindner *
Modified: trunk/batman/hash.h =================================================================== --- trunk/batman/hash.h 2010-06-20 11:49:16 UTC (rev 1714) +++ trunk/batman/hash.h 2010-06-20 21:13:24 UTC (rev 1715) @@ -1,5 +1,5 @@ /* - * Copyright (C) 2006-2009 B.A.T.M.A.N. contributors: + * Copyright (C) 2006-2010 B.A.T.M.A.N. contributors: * * Simon Wunderlich, Marek Lindner *
Modified: trunk/batman/list-batman.c =================================================================== --- trunk/batman/list-batman.c 2010-06-20 11:49:16 UTC (rev 1714) +++ trunk/batman/list-batman.c 2010-06-20 21:13:24 UTC (rev 1715) @@ -1,5 +1,5 @@ /* - * Copyright (C) 2006-2009 B.A.T.M.A.N. contributors: + * Copyright (C) 2006-2010 B.A.T.M.A.N. contributors: * * Marek Lindner *
Modified: trunk/batman/list-batman.h =================================================================== --- trunk/batman/list-batman.h 2010-06-20 11:49:16 UTC (rev 1714) +++ trunk/batman/list-batman.h 2010-06-20 21:13:24 UTC (rev 1715) @@ -1,5 +1,5 @@ /* - * Copyright (C) 2006-2009 B.A.T.M.A.N. contributors: + * Copyright (C) 2006-2010 B.A.T.M.A.N. contributors: * * Marek Lindner *