Batman-adv 2011.3.0 released
The B.A.T.M.A.N. team is delighted to announce its latest release, 2011.3.0, introducing major protocol changes for better roaming of non-mesh clients, gateway convenience features and a pile of bug fixes & code stability changes. 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.
The extensive work on roaming improvements for non-mesh clients led to a protocol change which breaks backward compatibility. Be sure to update all your mesh network participants to the latest version to avoid orphan nodes.
Furthermore, a change in the networking infrastructure of the Linux kernel made us drop the support of Linux kernels older than 2.6.29. Maintaining compatibility would be an uphill battle while not being worthwhile for us as a Linux kernel project.
Thanks to all people sending in patches:
- Antonio Quartulli <firstname.lastname@example.org>
- Daniele Furlan <email@example.com>
- David Howells <firstname.lastname@example.org>
- David S. Miller <email@example.com>
- Joe Perches <firstname.lastname@example.org>
- Jonathan Neuschäfer <email@example.com>
- Marek Lindner <firstname.lastname@example.org>
- Sven Eckelmann <email@example.com>
and to all those that supported us with good advice or rigorous testing:
- Linus Luessing <firstname.lastname@example.org>
- Max Ip <email@example.com>
This release comes with a redesign of one of the oldest code segments / concepts in batman-adv: the non-mesh client announcement mechanism. When batman-adv detects a non-mesh client it automatically starts announcing the client's mac address in the mesh network to make the mesh aware of the client's location. The new protocol extension mainly deals with the optimal handling and propagation of these client position packets. Major benefits include: Only changes (client arriving or leaving) are propagated in the mesh, thereby reducing the protocol overhead; traffic redirection when a client roams from one mesh node to the next until the mesh network has converged to reduce the packet loss while roaming; extensible packet format to construct more features on top of it.
In addition, batman-adv gained support for informing the user space about events via uevent (a long-standing feature request). The gateway subsystem is the first to make use of it by sending signals when a new gateway has been selected / selected gateway has been changed / the selected gateway has been removed. Also, when enabled the gateway subsystem will filter out incoming DHCP renewal requests if they are not targeted at a high quality gateway to force the client to switch to the best available gateway.
The routing algorithm received a minor tweaking which make it accept delayed OGM rebroadcasts to avoid bogus routing under heavy load. A bug hindering the correct broadcast of OGM packets if interfaces were added & removed in a particular order was fixed. A similar problem affecting the OGM aggregation was eliminated too. The many smaller bug fixes and code stability improvements make this release a well-rounded package.
The Makefile received major attention and various cleanups to make packaging of batctl easier. tcpdump was updated, so that it can analyze the new tt & roaming packets and was extended by a new option to filter all packets except the specified types. An additional debug level for all client announcement related information was added too. A pair of small bugs was squashed along the way: bisect did not properly initialize a variable which led to a compile time warning and a potential memory leak in the bat-hosts parser fixed.
The B.A.T.M.A.N. team