I am using batman-adv and can see multiple nodes in my ad-hoc network.
However I can't seem to see the avahi services of the nodes that require a
hop. Is there some configuration I need to get this to work?
If avahi doesn't work, would bonjour or JmDNS work better?
Join the Wireless Battle Mesh v2.7182 next 26-28 Feb in Hasselt (Belgium):
Please forward to your wireless mailing-lists, blogs, etc...
Benjamin Henrion <bhenrion at ffii.org>
FFII Brussels - +32-484-566109 - +32-2-4148403
"In July 2005, after several failed attempts to legalise software
patents in Europe, the patent establishment changed its strategy.
Instead of explicitly seeking to sanction the patentability of
software, they are now seeking to create a central European patent
court, which would establish and enforce patentability rules in their
favor, without any possibility of correction by competing courts or
democratically elected legislators."
After the infamous "neighbo(u)rs" patches, I wanted to send some more release
critical fixes. :)
There are just some possible problems found by Debian's lintian (or by me after
searching for more typos) which could easily fixed by upstream. No big changes,
but some letters exchanged.
There is also some sentence in the batman manpage which should maybe changed.
Maybe a native english speaking person could check if it is valid and
"B.A.T.M.A.N tries to find the best available connection by watching the
uplinks throughput and the link quality."
The module now only compiles inside mainline, so remove the comments
about different versions of the kernel it can be used with. Also
update comments about building with debug enabled and how to use the
VIS data now that it no longer natively outputs dot or JSON.
Signed-off-by: Andrew Lunn <andrew(a)lunn.ch>
drivers/staging/batman-adv/README | 50 +++++++++---------------------------
1 files changed, 13 insertions(+), 37 deletions(-)
diff --git a/drivers/staging/batman-adv/README b/drivers/staging/batman-adv/README
index 2bedcbe..7d666ad 100644
@@ -1,4 +1,4 @@
@@ -15,19 +15,6 @@ above B.A.T.M.A.N. Advanced, prominent examples are: IPv4, IPv6, DHCP, IPX.
This is batman-advanced implemented as Linux kernel driver. It does not depend
on any network (other) driver, and can be used on wifi as well as ethernet,
vpn, etc ... (anything with ethernet-style layer 2).
-It compiles against and should work with Linux 2.6.20 - 2.6.32. Supporting older
-versions is not planned, but it's probably easy to backport it. If you work on a
-backport, feel free to contact us. :-)
-To compile against your currently installed kernel, just type:
-if you want to compile against some other kernel, use:
-# make KERNELPATH=/path/to/kernel
@@ -73,16 +60,9 @@ When configured as server, you can get a topology snapshot of your mesh:
# cat /proc/net/batman-adv/vis
-This output format is a graphviz formatted text file which can be
-processed with graphviz-tools like dot.
-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.
-Alternatively, a JSON output format is available. The format can be set
-using by writing either "dot_draw" or "json" into the vis_format file.
-"dot_draw" is selected by default.
-echo "json" > /proc/net/batman-adv/vis_format
+The output is in a generic raw format. Use the batctl tool (See below)
+to convert this to other formats more suitable for graphing, eg
+graphviz dot, or JSON data-interchange format.
In very mobile scenarios, you might want to adjust the originator
interval to a lower value. This will make the mesh more responsive to
@@ -110,15 +90,11 @@ dmesg | grep batman-adv
When investigating problems with your mesh network it is sometimes
necessary to see more detail debug messages. This must be enabled when
-compiling the batman-adv module. When building batman-adv as part of
-kernel, use "make menuconfig" and enable the option
-"B.A.T.M.A.N. debugging". When compiling outside of the kernel tree it
-is necessary to edit the file Makefile.kbuild and uncomment the line
-#EXTRA_CFLAGS += -DCONFIG_BATMAN_ADV_DEBUG
+compiling the batman-adv module. Use "make menuconfig" and enable the
+option "B.A.T.M.A.N. debugging".
The additional debug output is by default disabled. It can be enabled
-either at kernel modules load time or during run time. To enable debug
+either at kernel module load time or during run time. To enable debug
output at module load time, add the module parameter debug=<value>.
<value> can take one of four values.
@@ -147,12 +123,12 @@ to see the debug messages.
-B.A.T.M.A.N. advanced operates on layer 2 and thus all hosts partici-
-pating in the virtual switch are completely transparent for all proto-
-cols above layer 2. Therefore the common diagnosis tools do not work as
-expected. To overcome these problems batctl was created. At the moment
-the batctl contains ping, traceroute, tcpdump and interfaces to the
-kernel module settings.
+B.A.T.M.A.N. advanced operates on layer 2 and thus all hosts
+participating in the virtual switch are completely transparent for all
+protocols above layer 2. Therefore the common diagnosis tools do not
+work as expected. To overcome these problems batctl was created. At
+the moment the batctl contains ping, traceroute, tcpdump and
+interfaces to the kernel module settings.
For more information, please see the manpage (man batctl).
From: Sven Eckelmann <sven.eckelmann(a)gmx.de>
It is safe to call kfree(NULL) which makes this extra check unneeded. It
was found using checkpatch.pl from linux-2.6
Signed-off-by: Sven Eckelmann <sven.eckelmann(a)gmx.de>
Acked-by: Simon Wunderlich <siwu(a)hrz.tu-chemnitz.de>
Signed-off-by: Andrew Lunn <andrew(a)lunn.ch>
drivers/staging/batman-adv/hard-interface.c | 3 +--
1 files changed, 1 insertions(+), 2 deletions(-)
diff --git a/drivers/staging/batman-adv/hard-interface.c b/drivers/staging/batman-adv/hard-interface.c
index e9cb977..28d02f6 100644
@@ -399,8 +399,7 @@ int hardif_add_interface(char *dev, int if_num)
- if (batman_if->packet_buff)
Can batman adv nodes see batmand nodes and vice versa?
Eric C. Conner
Senior Software Engineer
QinetiQ North America
Technology Solutions Group
110 Corporate Dr.; Unit 2
Portsmouth, NH 03801
Work: (603)427-0205 ext. 208
batman-adv still lacks the well-known gateway functionality the batman daemon
offered since quite a while. Since batman-adv works sufficiently well without it
and due to the ongoing debate whether a layer 2 mesh protocol should interfere
with layer 3 this topic has been neglected for a while. In multi-gateway
environments proper gateway support is a must have. Therefore I hereby propose
a set of patches to add this functionality. Comments welcome!
What you get:
* The first patch will add gateway announce / handling support to the protocol.
You will have additional /proc files to switch gateway modes, get a list of
gateways in the network and see the currently selected best gateway.
* The second patch simply adds batctl support to conveniently configure the
* The third patch checks whether locally received packets are DHCP queries and
forwards them via uncicast to the best gateway instead of broadcasting them.
* These patches change the routing protocol, therefore the compat version is
increased. This (intentionally) breaks interoperability with older batman-adv
* Only DHCP traffic gets redirected to the best gateway - no other traffic is
affected. This is part of the compromise we achieved during the last
* IPv6 support is still missing but should be fairly easy to add. Any
predrag balorda wrote:
> I've done it 3 times in the last few days and nothing ever happened.
> Just as I wrote to the list a removal confirmation arrived.
Yes, I did it for you as explained.