b.a.t.m.a.n.lists.open-mesh.org archive mirror
 help / color / mirror / Atom feed
* [B.A.T.M.A.N.] The state of batman-adv branches in august 2010
@ 2010-08-29 21:54 Sven Eckelmann
  0 siblings, 0 replies; only message in thread
From: Sven Eckelmann @ 2010-08-29 21:54 UTC (permalink / raw)
  To: b.a.t.m.a.n

[-- Attachment #1: Type: Text/Plain, Size: 8631 bytes --]

Hi,

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.

There is currently one main change happening in the branch design. The
branch currently called 'maint' will be renamed to 'next'. This should
reflect that we work there on the features (already part of
master/trunk) which should be submitted to the kernel maintainers. This
branch is stopped quite early in the development phase - even before the
kernel with the corresponding features will be released.

For example the current patches for linux 2.6.36 (which will may be
released in 5 weeks) will be finished with the release of v2010.1.0. The
next branch will get immediately all patches which will be part of linux
2.6.37. This is needed because all patches must be tested in linux-next
a long time before Linus Torvalds opens the merge window vor linux
2.6.37.

Of course, this will create a small gap for bug fixes which will enter
linux 2.6.36 after the release of v2010.1.0. That's why we now use the
maint branch to track those changes. Maint will always be a branch on
top of the last release with all bugfixes which must be added to that
release and are not features for the next branch.

That new maint branch will also help other distributors to easily find
patches which should be applied on top of their shipped versions or for
users which want to build their version of batman-adv manually and still
get a version which fixes (hopefully) all know bugs. And maybe we will
have bug fix releases in the future...

 * trunk/batman-adv/ [1], master [2]

   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 (next,
   master-rebase).

   This branch can be used together with trunk/batctl/ [3]

 * next [4]

   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 [5] many things happened, but not all are
   finished yet. So for example the release of v2010.1.0 is still
   pending and so no patches for linux-2.6.37 have been send to GregKH.

   Meanwhile we had to deal a little bit with some regressions which
   were added when we changed to everything from procfs to sysfs. This
   is the reason why there were some patches sent to the linux
   stable-tree folks lately.

   After that release we we will merge some patches which are mostly
   needed to push the merge of batman-adv into linux-net a little bit
   further. That includes for example the preparation of nearly all data
   inside of skbs instead of external buffers and the usage of optimized
   kernel functionality for things which we tried to implement our self.
   But of course there are again quite interesting features:

   * batman-adv: layer2 unicast packet fragmentation
   * batman-adv: attach each hard-interface to a soft-interface
   * batman-adv: multiple mesh clouds

   Also patches were added which tweaked a little bit here and there.
   Many of them came directly from the kernel folks and dealt with
   smaller coding style problems.

   This branch can be used together with batctl-next [6]

 * linux-2.6.36

   The release of linux 2.6.36 isn't finished yet, but we have submitted
   all patches in next. We aren't yet in net/, but hope that this
   follows soon. All problems which David S. Miller [7] found were
   relative small and already fixed. We will wait until the first
   patches for the upcoming merge window were send to the staging tree,
   before we try to get really into net/.

   You may experienced some weird regressions when using early -RCs of
   linux 2.6.36. Those happened due to some smaller patch war between
   the guys from linux-net and us. Those changes clashed when GregKH had
   to merge them after the release of 2.6.35. Unfortunately he resolved
   the merge conflicts a little bit different than I expected. But those
   problems should be solved with the upcoming release of linux
   2.6.36-rc3.

 * linux [8]

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

   The last synchronization point was GregKH-20100821 [9]. It is a merge
   of linux-2.6.36-rc1 and v2010.0.0-46-ge3a0cc9 [10] + a documentation
   of all files we create in sysfs. So this synchronization point (a git
   tag) just says that we checked at least linux-2.6.36-rc1 for new
   patches not yet integrated in next/trunk of batman-adv and that we
   send our changes until that point to GregKH [11].

 * rebase [12]

   My personal playground. (With a little delay) I will try to get all
   changes in trunk rebased on top of next. As result we get only the
   essence of changes in trunk which aren't already part of next. 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 next without using the complete set of changes in master. Or
   to understand what goes on in trunk compared to next.

   After the release of v2010.1.0 we will only have the gateway patches
   again waiting to get merged into next.

    * batman-adv: adapting source version to revised versioning scheme [13]
    * batman-adv: adding gateway functionality [14]
    * batman-adv: send DHCP requests directly to the chosen gw [15]
    * batman-adv: best gw DHCP filter 802.1Q support [16]

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

   It can be used together with trunk/batctl/ [3]

   Maybe this is a good place to announce that there is something like
   master-rebase also to rebase current patches of batctl [17] on top of
   the latest release. It is unknown who will continue the work on that,
   but as it is not as complex at the kernel module, I doubt that it is
   really much work rebase and reorder those patches.

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

 *  Andreas Langer
 *  Joe Perches
 *  Linus Lüssing
 *  Marek Lindner
 *  Randy Dunlap
 *  Simon Wunderlich

Special thanks goes to

 *  Kazuki Shimada
 *  Tim Glaremin

for extensive testing and debugging help. Lets see what the next months
will bring us.

Best regards,
	Sven

[1] http://downloads.open-mesh.org/svn/batman/trunk/batman-adv/
[2] http://git.open-mesh.net/?p=batman-adv.git;a=shortlog;h=refs/heads/master
[3] http://downloads.open-mesh.net/svn/batman/trunk/batctl/
[4] http://git.open-mesh.net/?p=batman-adv.git;a=shortlog;h=refs/heads/next
[5] http://git.open-mesh.net/?p=batman-adv.git;a=shortlog;h=13bc17ebf3e6062d92673a31f1b60a2e60f85813
[6] http://git.open-mesh.net/?p=batctl.git;a=shortlog;h=refs/heads/next
[7] https://lists.open-mesh.org/pipermail/b.a.t.m.a.n/2010-July/003141.html
[8] http://git.open-mesh.net/?p=ecsv/linux-merge.git;a=shortlog;h=refs/heads/linux
[9] http://git.open-mesh.net/?p=ecsv/linux-merge.git;a=commit;h=GregKH-20100821
[10] http://git.open-mesh.net/?p=batman-adv;a=commit;h=e3a0cc90940915dd14e4ca6bdab6d74bbc60f4a4
[11] http://open-mesh.net/wiki/SubmittingLinux
[12] http://git.open-mesh.net/?p=ecsv/master-rebase.git;a=shortlog;h=rebase
[13] http://git.open-mesh.net/?p=ecsv/master-rebase.git;a=commit;h=5900c5e655797f2470532a1e1d1eb42dd55fd890
[14] http://git.open-mesh.net/?p=ecsv/master-rebase.git;a=commit;h=efd570e04d14993a837711fc150562574a53a835
[15] http://git.open-mesh.net/?p=ecsv/master-rebase.git;a=commit;h=1f498c63ae13135af1950809f4d5e41a1b509718
[16] http://git.open-mesh.net/?p=ecsv/master-rebase.git;a=commit;h=791290fc06e64b779c6b0ee776d3273484692058
[17] http://git.open-mesh.net/?p=ecsv/batctl-rebase.git;a=shortlog;h=rebase

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2010-08-29 21:54 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-08-29 21:54 [B.A.T.M.A.N.] The state of batman-adv branches in august 2010 Sven Eckelmann

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).