Batman-adv 2010.1.0 released

New versions of the batman-adv kernel module and batctl are released today with the version number 2010.1.0. The B.A.T.M.A.N. team's main focus was on new features, Linux kernel compliance and a bunch 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:

https://downloads.open-mesh.org/batman/releases/batman-adv-2010.1.0/

as well as prepackaged binaries in your distribution.

Important changes

As part of the ongoing kernel interface restructuring all remaining tables and debug output was migrated from the proc filesystem to the debug filesystem. Also, some tables which went into sysfs followed this example as well as the layer 2 icmp socket which resided in /dev. All programs / scripts accessing these files directly need to be adjusted. Scripts using batctl are not affected by this transition as the batctl command line parameters are unchanged. More details can be found below as well as in our documentation.

Thanks

Thanks to all people sending in patches:

batman-adv

The first B.A.T.M.A.N. V features left the experimental stage and went into this release: interface alternating (formerly known as incoming interface based routing) & bonding mode. These are optimizations for scenarios in which mesh nodes possess several WiFi cards to run the mesh on. In alternating mode batman-adv will switch the WiFi interface to forward the traffic with each hop, thereby avoiding store & forward (which would half the bandwidth with each forwarding node). Bonding mode will use all available interfaces at the same time to forward the traffic. Both modes do not require the whole network to have the same hardware configuration - the available interfaces are automatically detected and used if possible. Per default batman-adv operates in the alternating mode, bonding mode can be activated.

To achieve Linux kernel compliance all tables and debug information have been concentrated in the debug filesystem (all configuration options remain in sysfs). Make sure your kernel has the debug filesystem compiled in if you want to access those information. The user space API is now considered clean and won't require significant changes in the future. The originator table outputs the "last seen" field to allow observing originator outages in real time. The batman-adv debug log returned with the debugfs changes, after it had been removed in previous releases. The batman icmp socket left the /dev directory to join the other debug facilities in debugfs (before it was not possible to create a socket for each configured mesh). This release also contains numerous bug fixes regarding stability, broadcast flood protection through 32Bit sequence numbers, supporting newer kernel versions, multiple interface bugs, rounding issues and more.

batctl

Batctl has been adapted to retrieve the tables and other information from the debug filesystem. To provide a smooth user experience batctl automatically mounts the debug filesystem whenever necessary. As the debug log output moved from the standard kernel logging to the batman-adv log file, batctl re-introduces the convenience features to retrieve the logs and replace mac addresses with names. Batctl also followed the icmp socket move and is prepared for the multiple mesh support. The ping utility received the "record route" ability which allows to monitor route changes. The originator table viewer gained some additional options to filter for "fresh" entries (using the "last seen" field) and allows to specify a refresh interval to continuously print the table.

Happy routing,

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