Batman-adv 2011.1.0 released
The B.A.T.M.A.N. team is publishing its second 2011 release - 2011.1.0, containing major code changes under the hood to improve performance and scalability plus the usual set of bug fixes. 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.
Thanks to all people sending in patches:
- Jesper Juhl <email@example.com>
- Linus Lüssing <firstname.lastname@example.org>
- Lucas De Marchi <email@example.com>
- Marek Lindner <firstname.lastname@example.org>
- Simon Wunderlich <email@example.com>
- Sven Eckelmann <firstname.lastname@example.org>
- Sylvestre Ledru <email@example.com>
and to all those that supported us with good advice or rigorous testing:
- Russell Senior <firstname.lastname@example.org>
The principal objective while working towards this release was to remove the originator hash lock (also known as the batman-adv private "big kernel lock"). It was introduced in the very early stages of the batman-adv development which proved to be a simple and effective way to protect all originator node information from parallel access. As time went on, the module grew and gained more features - most of them making heavy use of the aforementioned originator hash lock as it safeguarded the module's central pool of data. It thereby became a major bottleneck because almost every piece of code had to acquire this very same lock. An extensive effort was necessary to replace the originator hash lock by fine grained locking which only locks the bare minimum of data to improve the module's performance and scalability.
Other parts of the code received attention too: After learning about bufferbloat in one of Jim Getty's talks we revisited our own buffering settings and decided to set the txqueuelen to zero. Fragmented packets are now properly linearized upon receipt to avoid a crash if the network card splits the packet into smaller chunks. The fragment numbering became more robust and several spelling mistakes have been corrected.
To render batctl more versatile packet dump functionality support for raw WiFi packet decapsulation was added. This allows to keep an eye on your network using interfaces in monitor mode which output packets including all WiFi headers. The bug causing to display an erroneously warning message when changing gateway settings has been squashed. Unused code and the last trace of our subversion integration in the Makefile have been removed.
The B.A.T.M.A.N. team