[Babel-users] Merging v4-via-v6: need advice
Juliusz Chroboczek
jch at irif.fr
Wed Jun 2 16:12:38 BST 2021
Hi,
I'm in the process of merging v4-via-v6 into mainline babeld, and I need
some advice about the default configuration.
V4-via-v6, is described here:
https://datatracker.ietf.org/doc/html/draft-ietf-babel-v4viav6
It's a technique that allows an IPv6-only router to forward IPv4 packets,
which makes it easier to administer a double-stack network, since only
IPv6 addresses need to be allocated inside the network. However,
a v4-via-v6 router needs to be able to originate ICMPv4 packets, and these
packets need to have a source address.
I haven't done extensive testing yet, but my preliminary investigations
indicate that the Linux kernel behaves as follows:
- if the router has an IPv4 address on at least one interface, the
address is borrowed as the source of the ICMPv4 packet;
- if the router has no IPv4 address at all, no ICMPv4 packet is sent,
which may cause blackholes.
The issue is describes in Section 3 of the draft, which suggests using the
IPv4 dummy address 192.0.0.8 when no IPv4 address is available. Using the
dummy address will require some minor surgery to the Linux kernel, and
I haven't implemented it yet. So while we wait for somebody (me or
someone else) to implement support for the dummy address, what should
babeld's default behaviour be?
1. Disable v4-via-v6 by default, and assume that an administrator who
enables it knows what they're doing?
2. Check for IPv4 addresses, and enable v4-via-v6 automatically if there
is at least one IPv4 address?
3. 3=1+2, behave like (2), but allow overriding the daemon's decision?
Any better ideas?
-- Juliusz
More information about the Babel-users
mailing list