[Babel-users] ANNOUNCE: experimental IPv4 code

Juliusz Chroboczek jch at pps.jussieu.fr
Wed Jan 2 10:58:11 UTC 2008


Dear all,

An experimental version of IPv4 support for Babel is in my Darcs repository,

  http://www.pps.jussieu.fr/~jch/software/repos/babel

This code is almost completely untested; it may work, but it will most
probably segfault, cause your computer to crsh, your printer to jam,
your wife to leave you, your daughter to join Microsoft and your son
to vote for Sarkozy.

This warranty is void in case of nuclear war, whether caused by Babel
or otherwise.

The IPv4 support is disabled by default.  You enable it by running
Babel with the ``-4'' command-line flag.

Unlike IPv6, the Linux IPv4 stack doesn't support unnumbered links.
SInce AHCP can't number IPv4 links yet, you will need to manually add
an IPv4 address to every interface you want to route IPv4.  However,
you may add the same address to every interface -- nothing prevents
you from having the same IPv4 address on your wired interfaces, on
your wireless ones, and on your tunnels.

Babel should automatically detect which interfaces have an IPv4
address, and will only participate in IPv4 routing on those.

For example, suppose that your IPv6 address is 2001:0DB8::dead:beef,
while your IPv4 address is 192.168.05.68, and that you want to run
Babel on eth0 and wl0.  Then you should do something like

  ifconfig eth0 192.168.05.68 up
  ifconfig wl0 192.168.05.68 up
  ip -6 addr add 2001:0DB8::dead:beef/128 dev eth0
  babel -4 -X 192.168.05.68 0 -X 2001:0DB8::dead:beef 0 eth0 wl0

Note that in this example, wl0 has no global IPv6 address, but has to
have an IPv4 address.

An important caveat: -x won't work yet.  Please use -X for now.

The Mac OS X code is incomplete (it probably won't even compile).  In
order to bring the Mac OS X code to the level of the Linux code,
somebody will need to modify kernel_route and add code to kernel_setup
to enable IPv4 forwarding.

Finally, in order to make -x work, kernel_routes and kernel_callback
will need to be modified to return IPv4 routes in addition to IPv6
ones.

Regards,
                                        Juliusz



More information about the Babel-users mailing list