Hi Folks
Here is the email i sent to Greg KH about getting into staging
Andrew
----------------------------------------------------------------------
Hi Greg
I've decided to take on the challenge of getting batman-advanced into
mainline. This is a challenge since as to date all i've had committed
to mainline are a few USB querks for devices i happen to have.
B.A.T.M.A.N. (better approach to mobile ad-hoc networking) is a
routing protocol for multi-hop ad-hoc mesh networks. It can be used
over wireless and wired links. Batman is used for example in Berlin to
provide their "Freifunknetzes", free wireless network, and in many
other cities.
The project website can be found at:
http://www.open-mesh.org/
My first question would be is this something that can go into
staging? It is not a device driver or a filesystem which seems to
be the major usage for staging. The only exception i found to this
is the openPOWERLINK protocol stack. Batman layers on top of the
wireless and wired network devices, exporting a virtual network
device for accessing the resulting mesh. The nice thing about
batman is that it is completely contained. It does not need any
patches anywhere else, which does fit with the staging model.
The source code is currently in a subversion repository:
http://downloads.open-mesh.net/svn/batman/trunk/batman-adv-kernelland/
I also have a list of things which i think need doing:
Finish stripping out debug_log.
Make batctl, the user space configuration tool, standalone.
Maybe make batctl _The_ tool for configuration and status and
depreciate direct /proc access, so that we can restructure it without
too much pain for users.
Take out the dot_draw/josm formatting in /proc/net/batman-adv/vis and
put it into userspace as part of batctl.
Think if /proc/net/batman-adv should be renamed /proc/net/bat0 giving
the option of /proc/net/bat1 etc in the future?
Should /proc/net/batman-adv/interface be replaced with an IOCTL interface
similar to brctl?
Maybe move orig_interval, aggregate_ogm and write half of vis to
/sys/class/batman/bat0/?
Investigate if there is a generic linux hash algorithm which should be used?
Strip out all backward compatibility support to older kernels.
Make use of printk %pM support.
The code is however sparse clean and checkpatch only complains about a
few lines being longer than 80 characters. Most of these are printk
like statements.
My second question would be when is the right time to get into
staging?
Should i work on all these issues first? Or can it go into staging
with some of these issues in a TODO file, to be joined by new issues
as the code is reviewed by more experts?