Batman-adv 2013.3.0 released

Added by Marek Lindner almost 11 years ago

The B.A.T.M.A.N. team proudly presents its newest release - batman-adv 2013.3.0 - a stability and bugfix release uniquely focused on ironing out bugs and annoyances. As the kernel module always depends on the Linux kernel it was compiled against, it does not make sense to provide binaries on our website. As usual, you will find the signed tarballs in our download section:

as well as prepackaged binaries in your distribution.

Important changes

For the first time, a batman-adv and batctl release is accompanied by A.L.F.R.E.D. (Almighty Lightweight Fact Remote Exchange Daemon) - a user space daemon conceived for the purpose of replacing the in-kernel visualization component with an easy to extend user space application. It bears the striking advantage of not only distributing visualization data but all kinds of data within a mesh network, thereby filling an often felt gap.

Note: The alfred vis support is not compulsory for obtaining visualization data as the in-kernel code still is enabled. Both systems are compatible and can even be deployed side by side. It is planned to remove the in-kernel code by the end of the year which is why it is recommended to check out alfred soon, in the interest of making sure the transition goes as smooth as possible.


Thanks to all people sending in patches:

and to all those that supported us with good advice or rigorous testing:


The batman-adv kernel module takes special care when transporting payload broadcast traffic across the mesh network to increase the likelihood of a successful transmission. To reduce overhead this mechanism was tweaked to only be enabled on wireless interfaces as it is safe to assume wired connections and VPNs suffer less from packet loss. The internal handling of VLAN IDs has been unified to prepare for the upcoming translation table VLAN support. DAT has learned not to reply to ARP requests sent by local clients destined for other local clients to avoid duplicate ARP replies. The batman-adv protocol (OGM) duplicate check was applied too strictly in certain situations which could lead to route starvation of better routes. To mitigate this effect the duplicate policy is applied on a per neighbor basis. Upon configuring an interface batman-adv would try to acquire the in-kernel network configuration lock or return with ERESTARTSYS in case the lock was held by some other party. To avoid having to abort an interface activation this part of the code was reworked and the need to acquire the lock removed. A crash on kernel module unload triggered by a double free of the traffic statistic counters was fixed. The network coding neighbor table won't display neighbors unsuitable for network coding anymore.


A misleading warning about an uninitialized variable when compiling with "O2" was fixed and a few typographic errors in the bisect output were corrected.


Alfred is a user space daemon for distributing arbitrary local information over the mesh/network in a decentralized fashion. This data can be anything which appears to be useful - originally designed to replace the batman-adv visualization (vis), you may distribute hostnames, phone books, administration information, DNS information, the local weather forecast, etc.
Alfred runs as daemon in the background of the system. A user may insert information by using the alfred binary on the command line, or use special programs to communicate with alfred (done via unix sockets). The daemon then takes care of distributing the local information to other alfred servers on other nodes. This is done via IPv6 link-local multicast, and does not require any configuration. A user can request data from alfred, and will receive the information available from all alfred servers in the network.

Happy routing,

The B.A.T.M.A.N. team