The state of batman-adv branches in june 2010


as we started to have different branches and repositories, everything became a little bit more complex to track. I will try to summarize what and where is something going on inside the batman-adv universe.

Please note that the different repositories and branches were changed slightly. For example batctl is now also available using git and the linux integration branch was moved to a separate repository.

trunk/batman-adv/, master

In trunk is always summer - so changes always(?) enter here and will get moved to other branches unless they need some more time to get a fine flavor - or at least more testing. Even if everything should hit trunk, it is easier to describe changes in a different places (maint, master-rebase).

This branch can be used together with trunk/batctl/


This is were commits are gathered to be send later to the linux kernel folks. Only tested features or features which are dependencies for the in-kernel batman-adv should enter this branch.

Since the last time a lot of things happen. The most important one is probably the release of batman-adv 2010.0.0. This is essentially what you will get when you will build linux 2.6.35 - or what you will get when Linus will come back from his vacation and merges GregKH's staging branch.

Since that release we merged some patches from master which seems to work good enough (at least no major flaw was found during WMBv3).

Also smaller patches entered it. For example some java style namings of variables and functions were converted to better match the kernel coding style, rounding issues were identified + resolved and the code was cleaned up a little bit.

This branch can be used together with batctl-maint


The release of linux 2.6.35 isn't finished yet, but we have submitted all patches in maint. This means that we have hopefully all patches in 2.6.36 we wanted - this includes the debugfs and netfilter patches which were dropped in 2.6.35 because they were submitted to late (during the 2.6.35 merge window instead a week before 2.6.34 was released).

We also tried to contact the network subsystem developers to get a review for batman-adv. This is needed to get it moved from drivers/staging/batman-adv to net/batman-adv/. Even if our goal is not to get it merged in 2.6.36, we still hope that we get enough information to merge soon into net/.


This branch was removed after the release of batman-adv 2010.0.0.


The dirty place were all the linux integration happens. It is ugly, misunderstood and uninteresting for most people.

The last synchronization point was GregKH-20100625. It is a merge of v2.6.34 and v2010.0.0-30-g13bc17e + a documentation of all files we create in sysfs. So this synchronization point (a git tag) just says that we check at least v2.6.34 for new patches not yet integrated in maint/trunk of batman-adv and that we send our changes until that point to GregKH.


My personal playground. (With a little delay) I will try to get all changes in trunk rebased on top of maint. As result we get only the essence of changes in trunk which aren't already part of maint. This also means for example that patches will look like they were made with sysfs in mind when they are originally created files in /proc. Even when I always ensure that the files in master and rebase are 100% equal, the original author may not be blamed when a single patch will try to eat your pet (or you could say that patches in that branch will not be checked by their original authors and I will only guarantee that when you apply all patches you will get the same files as in trunk).

Nevertheless it is a great place to get and test feature patches on top of maint without using the complete set of changes in master. Or to understand what goes on in trunk compared to maint.

Currently we have following patches waiting inside of it

  • batman-adv: adapting source version to revised versioning scheme

  • batman-adv: move queue counters into bat_priv

  • batman-adv: adding gateway functionality

  • batman-adv: send DHCP requests directly to the chosen gw

  • batman-adv: best gw DHCP filter 802.1Q support

This branch will jump around and it is not save to track it using a local git branch.

This branch can be used together with trunk/batctl/

Last but not least, thanks to everyone who has done the real work

  • Antonio Quartulli

  • Dan Carpenter

  • Daniel Seither

  • Javier Martinez Canillas

  • Jiri Pirko

  • Joe Perches

  • Linus Lüssing

  • Marek Lindner

  • Simon Wunderlich

  • Tejun Heo

and lets see what the next months will bring us.