Thread (1 message) 1 message, 1 author, 2010-09-08

Re: [PATCHv4] net: Add batman-adv meshing protocol

From: Jesse Gross <hidden>
Date: 2010-09-08 20:07:42
Also in: batman

On Wed, Sep 8, 2010 at 12:12 PM, Marek Lindner [off-list ref] wrote:
On Wednesday 08 September 2010 20:22:42 Jesse Gross wrote:
quoted
Potentially one way to do this is to build on top of Open vSwitch.  It
contains a pretty generic flow-based kernel module for forwarding data
packets and making simple modifications.  Control packets can be sent
to userspace to handle the routing logic, while data packets remain in
the kernel for performance.  This would dramatically reduce the amount
of code that needs to be in the kernel and may even help performance
by simplifying the fast path.
Thanks for your input.

I had a quick look at the website to get an idea but I had to notice that
there is quite a collection of daemons, kernel modules and apps. As you seem
involved in this project, could you point us to the collection of tools that
you think we would need to achieve the following:

* sending protocol traffic
* transmitting the routing logic
* encapsulation of the various packet types (see http://www.open-
mesh.org/browser/trunk/batman-adv/packet.h to get an idea)
* directly influence the traffic flow, i.e., ARQ for broadcasts, interface
alternating, bonding, forward error correction, etc
* layer 2 fragmentation
There are three basic components that you need running for Open
vSwitch: the main daemon, ovs-vswitchd, a lightweight configuration
manager, ovsdb-server, and the kernel module, openvswitch_mod.  You
would then be able to write a userspace process to communicate with
the daemons to handle the above.  As I mentioned, the encapsulation
would likely require some small additions to the kernel module for
your particular type of tunneling (unless you are flexible and can use
one of the existing mechanisms).  However, that would be significantly
less kernel code than this patch.  As a starting point, I would
recommend playing around with Open vSwitch as a normal switch to get a
feeling for its operation (see the INSTALL.Linux file in the source
distribution for instructions).
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help