Hi,

here are some raw references without any judgment. Maybe Marek will send some 
more information about that topic later.

Andi Kleen wrote:
> Sven Eckelmann <[email protected]> writes:
> > B.A.T.M.A.N. (better approach to mobile ad-hoc networking) is a routing
> > protocol for multi-hop ad-hoc mesh networks. The networks may be wired or
> > wireless. See http://www.open-mesh.org/ for more information and user
> > space tools.
> 
> It seems rather unusual to have the complete routing protocol in
> kernel. And this is a lot of code. The normal way to do such things is
> to have the routing policy etc. in a user daemon and only let the kernel
> provide some services to this.
> 
> Could you elaborate a bit why this approach was not chosen?
> 
> I assume if it needs a switch it could have a switching "hot path" layer
> in kernel and the policy somewhere else.

https://lists.open-mesh.org/pipermail/b.a.t.m.a.n/2010-July/003119.html
https://lists.open-mesh.org/pipermail/b.a.t.m.a.n/2010-July/003120.html
https://lists.open-mesh.org/pipermail/b.a.t.m.a.n/2010-July/003121.html

Just as note: the mentioned parts which move to the userspace or stays inside 
the kernel doesn't include the parts which must be added as interface for 
other kernel modules/userspace daemon.

> You write
> 
> > +Batman advanced was implemented as a Linux kernel driver  to  re-
> > +duce the overhead to a minimum. It does not depend on any (other)
> 
> What overhead exactly?

https://lists.open-mesh.org/pipermail/b.a.t.m.a.n/2010-June/003029.html

So the mentioned overhead was related to throughput and latency of the actual 
data packets send over the complete userspace implementation (receiving stuff, 
getting stuff from kernel, modifying it, putting it back in the kernel, 
sending it).

Best regards,
        Sven

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to