[B.A.T.M.A.N.] batman-adv 2015.1 released

Marek Lindner mareklindner at neomailbox.ch
Sat Aug 15 13:21:11 CEST 2015

August 10, 2015. The B.A.T.M.A.N. team today releases batman-adv 2015.1 
focusing on code cleanups, stability and bugfixes. Since no major code changes 
were introduced upgrading to this version should bear minimal risks. As the 
kernel module always depends on the Linux kernel it is 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

The default settings for enabling Network Coding and the bridge loop avoidance 
have been changed. If you are using either feature, please verify that your 
setup still behaves as expected after the upgrade.


Thanks to all people sending in patches:

 * Alex Suykov <alex.suykov at gmail.com>
 * Antonio Quartulli <antonio at meshcoding.com>
 * Linus L├╝ssing <linus.luessing at c0d3.blue>
 * Marek Lindner <mareklindner at neomailbox.ch>
 * Markus Pargmann <mpa at pengutronix.de>
 * Ruben Wisniewsi <ruben at vfn-nrw.de>
 * Simon Wunderlich <sw at simonwunderlich.de>
 * Sven Eckelmann <sven at narfation.org>


With this release the source directory structure has been modified to align 
with the batman-adv directory structure in the Linux kernel. This should 
facilitate proposing and applying patches based on the code base shipped with 
Linux kernel. In parallel to this restructuring effort, the compat layer 
(needed to support older Linux kernel versions) also has been modernized. The 
single compat include file has been divided into separate header files named 
after their up-to-date counterparts. Previously needed explicit compat 
includes could be removed, thus further reducing the difference between the 
Linux kernel code and the out-of-tree repository.

To make the first time deployment a better experience the default 
configuration has been changed: Network Coding support has been disabled due 
to its dependency on WiFi promiscuous mode that not all WiFi chips/drivers 
support. The bridge loop avoidance mechanism (BLA) has been enabled to prevent 
accidental bridge loops from being created.

The batman-adv module came with its own Jenkins hash implementation used by 
all sorts of components like the originator table, the translation table and 
more. That implementation has been replaced with the in-kernel Jenkins hash 
which provides better optimized code. The debugfs components aren't compiled 
into the module anymore when debugfs is not compiled into the kernel. The 
initialization upon detection of a batman-adv gateway has been fixed as it 
could cause the kernel to hang on module unload. Various race conditions 
triggered by concurrent delete events in the translation table code have been 
fixed as well. Payload broadcast packets scheduled to be forwarded right on 
batman-adv disable or module onload are now properly purged to prevent memory 
leaks. With enabled distributed ARP table (DAT) batman-adv might have answered 
an ARP request for a local client. An additional mac address check prevents 
confusing switches in the LAN which rely on ARP to learn behind which port the 
client is located. Quite some effort was spent to improve the overall code 
readability, cleanups and coding style issues.


To support building batctl in combination with the musl C library the 
if_ether.h header file is now included from the 'netinet' folder instead of 
the 'linux' folder because musl does not allow mixing includes from 'netinet' 
and 'linux' at the same time.


Interfaces with more than one link-local addresses are now supported by alfred 
binding to specific an interfaces and its link-local EUI64 address. All 
outgoing alfred packets will be originating from that single address.

The size of the maximum alfred payload was slightly reduced. This ensures that 
the UDP/IPv6 stack is able to transfer the push data packets between different 
alfred servers.

Happy routing,
The B.A.T.M.A.N. team
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.open-mesh.org/pipermail/b.a.t.m.a.n/attachments/20150815/154ac948/attachment.sig>

More information about the B.A.T.M.A.N mailing list