The B.A.T.M.A.N. team proudly presents its newest release, batman-adv
2012.4.0, mostly dedicating itself to stability with some smaller enhancements
to improve the user experience. 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
as well as prepackaged binaries in your distribution.
Thanks to all people sending in patches:
* Antonio Quartulli <ordex(a)autistici.org>
* Def <def(a)laposte.net>
* Jonathan Corbet <corbet(a)lwn.net>
* Linus Lüssing <linus.luessing(a)web.de>
* Marek Lindner <lindner_marek(a)yahoo.de>
* Martin Hundebøll <martin(a)hundeboll.net>
* Simon Wunderlich <simon.wunderlich(a)s2003.tu-chemnitz.de>
* Sven Eckelmann <sven(a)narfation.org>
The translation table (the core system for managing all non-mesh clients
across the mesh network) has been supplemented by the "speedy join" mechanism.
Speedy join was designed to make the location of non-mesh clients known
throughout the mesh without depending on OGM messages. As soon as non-mesh
clients issue a DHCP or ARP request or any other broadcast message they are
immediately full participants of the network. This will lead to a faster
network connection experience, especially when the mesh network has been
configured with higher OGM intervals.
All remaining traffic counters were converted to the recently introduced
traffic counting framework and its ethtool API, thereby completely replacing
the old traffic counter mechanism for the purpose of better scalability. The
bridge loop avoidance comes with an additional backbone gateway table
(exported via debugfs) allowing to retrieve the list of all detected backbone
gateways attached to the same LAN, regardless of whether or not it has claimed
any non-mesh client.
Several reports about packet loss in combination with vlan tagging encouraged
us to investigated the cause. A bug was found in the Linux kernel vlan code
and a patch was submitted. At the same time a workaround was added to our out-
of-tree kernel module which automatically takes effect for kernel versions
older than Linux 3.8 (which contains the proper fix). This release also comes
with a few bug fixes concerning the batman-adv code directly: with the intent
of suppressing duplicate broadcast packets in the mesh the bridge loop
avoidance computes CRC checksums for each broadcast packet it receives and
compares them to a list of already received broadcast checksums. The check-
summing code miscalculated the CRC leading to overly aggressive broadcast
packet drops. Also addressed was the missing "no purge" flag for the batX mac
addresses after manually changing its mac address. The code refactoring
regression leading to route flapping in multiple interfaces setup was
corrected along with wrong OGM counting on Intel x86.
As gradually more functionality of the batman-adv kernel module is optional
and can be compiled out, batctl won't be able to find the corresponding files
in sysfs or debugfs. Therefore, batctl now maintains a list of optional
features and informs the user about a possibly deactivated optional feature.
At the same time the sysfs / debugfs code has been refactored to remove
redundant boilerplate code. Also removed was the code querying the traffic
statistics through the old API because all statistics can be retrieved via the
new API. The batctl utility also gained an option to display the newly added
backbone gateway table.
The B.A.T.M.A.N. team