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
signature.asc
Description: This is a digitally signed message part.
