Hi,
after the last mail of David S. Miller, it was more than clear that I am not the right person to speak on behalf of the batman-adv community. I have the same opinion about the always changing protocol as he does. I first struggled with it after getting the batman dissector merged in wireshark, but it is confronting everyone since the merge into the linux kernel began. Andrew already told us that we would need to get some kind of stable on the wire format and some kind of backward compatibility, but it doesn't look like we get there soon.
I don't know who currently follows which vision, but I know that all those ideas make the protocol incompatible with the versions before (and this will happen again and again and again ...). I don't have answers how it can be done differently and still the current problems can be solved. That means, I can neither represent the position of the ongoing protocol developments nor the position of the backward compatibility.
So, I doubt that I can present the changes to David S. Miller any longer when I am sure that he doesn't like the patches for the same reasons I don't like them. It is better that I don't stand in the way as "grumbling old man" [2] and make the position free for someone who can really speak on behalf of the current active developers of batman-adv.
So the first thing I did was a big cleanup. Most of my git repositories are gone now:
* ecsv/batctl-rebase / ecsv/master-rebase The development was changed to git some time ago. This makes those repository relatively useless when the development is done in the current branch structure. This means that next gets bugfixes/cleanups which still can be merged by David and then the branch is merged into master instead of cherry picking patches around. After a release the next branch (or better the tag of the release) has to be merged into master (without changing the SOURCE_VERSION in main.h to something else than "devel"), then the next branch merges the master branch and the new development cycle is started in next. * ecsv/debian/batctl ecsv/debian/batmand Those are only backups. I already have backups in different places - so no need to store them again on open-mesh * ecsv/viking That was a private repository - nobody seems to have noticed it. I doubt that those maintainers will merge it soon and I will probably just send them the patches over ml instead of doing a pull request again. * ecsv/git-conversation-svn Project to convert the open-mesh svn to smaller git repositories. Seems to have worked, but is now useless * ecsv/hash_regression Just to show that the hash regression was actually a regression in Linus code. Funny but useless :) * ecsv/post-commit-daemon A daemon which started svn hooks at a later point. Those build scripts on open-mesh were gruel, but I think that we killed them. This makes the script useless for us * ecsv/wireshark-batman-adv ecsv/wireshark-batman Both dissectors are merged in wireshark... somewhat. At least parts of v12/13 are now supported and it was now noticed that the v14 patches cannot be applied out of order... but I am full of hope that the patches will be enter the wireshark svn sometime in the future ("where no man has gone before..."). But is not necessary to have the plugins in an external module. It can't be build against an older version of wireshark and new version of wireshark can't load it due to the conflicting names. * ecsv/linux-merge Ok, this one is not really gone - it just can be found under marek/linux-merge. Maybe it will change the place again.
There are also some scripts which run on daily basis and are a little bit more verbose.
* /home/batman/linux-next-check/sync-git It downloads the linux-next tree, Linus tree and pushes parts of the changes to linux-merge.git - this should be quite silent. But the ./hooks/manual-hook in /home/batman/linux-next-check/linux-next.git/ is triggered and sends mails about changes in net/batman-adv, Documentation/networking/batman-adv.txt, Documentation/ABI/testing/sysfs-class-net-batman-adv and Documentation/ABI/testing/sysfs-class-net-mesh to the unhappy person mentioned in /home/batman/linux-next-check/linux-next.git/config (currently Marek and Simon) * /home/batman/packet.h_check/check.sh This one just send the difference of packet.h in all branches in batctl and batman-adv to the responsible persons (see the TO="..." at the beginning of the file) * /home/batman/build_test/checkstuff.sh This is more or less the build monster. It builds against kernel 2.6.21 till 2.6.39. I know that it will not work directly against 3.0, but it is no big change to fix it. It uses sparse, checkpatch.pl from linux-next and the minimized kernel sources generated through make_all.sh (of course, this one also doesn't know about 3.0) Marek and Simon will see the rcu warnings every morning till Andrew Morton forward my rcu checkpatch patch or it appears through other channels in linux-next.
The rest should be explained on wiki pages, /srv/git/README or some private mails.
Kind regards, Sven
[1] https://lists.open-mesh.org/pipermail/b.a.t.m.a.n/2011-June/005020.html [2] http://upload.wikimedia.org/wikipedia/en/8/8b/StatlerAndWaldorf.jpg