here are some raw references without any judgment. Maybe Marek will send some
more information about that topic later.
Andi Kleen wrote:
Sven Eckelmann <sven.eckelmann(a)gmx.de> 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.
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.
> +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?
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,