[Dump] A Babel experiment at funkfeuer.at

Harald Geyer (spam-protected)
Mon Dec 15 01:46:11 CET 2008


> >> Hmm... the current implementation of Babel requires IPv6 in the kernel.
> 
> Let me explain a little more.

[...]
 
> However, the current implementation only works over IPv6: while Babel will
> route IPv4, IPv6 or both, the Babel messages will only be transported over
> IPv6.  (There are very good reasons to prefer IPv6 for transporting
> protocol messages, most notably the fact that it makes it easier to
> implement routing over unnumbered interfaces -- i.e. a router is able to
> forward packets even before it's been assigned an address, or when only
> some interfaces have an address.  Additionally, the IPv6 multicast APIs are
> somewhat more portable than the IPv4 ones.)
> 
> I'd like to be clear that you don't need global IPv6 addresses, you don't
> need router advertisements, you don't need global IPv6 connectivity.  You
> only need kernel support for IPv6, which is all that's needed to do
> link-local multicast.

Yes, that was my assumption. My point is: loading IPv6 support into the
kernel is expensive - configuring some global IPv6 addresses is not.

> > So on an openwrt router you need kmod_ipv6 installed ... we have such
> > a setup (using 6to4 and radvd)
> 
> Once again -- you don't need 6to4, you don't need radvd, you only need the
> IPv6 kernel module.

Sure, it's just the only way I have been able to verify that IPv6
support works in freifunkfirmware ...

> > With olsrd and ipv6 and babel and openvpn or vtun and $monitor_tool
> > running on the same mesh node we will most likely hit the RAM limit.
> 
> FWIW, I'm happily running Babel + ahcpd + ntpd on 16MB OpenWRT machines
> (MIPS).  Ntpd is the largest of the three ;-)

Once I have some proof of concept setup for freifunkfirmware I will
be able to say more about that.

> I don't know about vtun, but I know that Babel happily runs over SIT
> tunnels, IP-IP tunnels, GRE tunnels and OpenVPN.  For IP-IP, GRE and
> OpenVPN, a small hack is needed.  For IP-IP, a recent kernel is needed.
> I have no idea about vtun.

Ok. I was under the wrong assumption, that babel would need some 
ethernet type network interface. If we don't need OpenVPN then this
should save quite some RAM...

> I'm using OpenVPN and GRE in my network.  Since vtun is insecure anyway,
> I don't see any reason to prefer it to GRE.
> 
> > OTOH if we need IPv6 support in the kernel anyway, then I don't see
> > a reason not to do the whole experiment in IPv6 space - but perhaps
> > I miss something.
> 
> Don't worry about that -- it's a hybrid protocol.  You can do both, or
> either, or have some nodes doing IPv6 and other doing IPv4.  By default,
> Babel will route IPv6 on all interfaces, and route IPv4 on all interfaces
> that have an IPv4 address.
> 
> So as long as you get Babel running, you don't need to choose between IPv4
> and IPv6 -- you get whatever protocol you have configured addresses for.

Sure, but since in Vienna olsr manages IPv4 and only IPv4 why not use
babel together with IPv6? That way I don't need to worry about how to
claim some IPv4 subnet for babel and I don't need to configure addresses
on all nodes participating in the experiment: Just install babel + some
special config file and it will route via IPv6 link local addresses by
default. Just install some gobal addresses on nodes used for monitoring.
Is that too simple?

Harald




More information about the Dump mailing list