Skip to content

Support dual-stack with IPv6 as base (well, sort of...)

Pre-release
Pre-release
Compare
Choose a tag to compare
@uablrek uablrek released this 28 Sep 13:03
· 18 commits to master since this release

The problem is that K8s does not (yet) set both addresses in the node object. For IPv4 we can tunned IPv6 in a SIT tunnel but the corresponding "ip6tnl" tunnel does not support NBMA (Non-Broadcast Multi-Access), or at least I fail to find a way to set it up.

So as a work-around the "IPV6_PREFIX" can be used;

          # TUNNEL_MODE=None|sit
          - name: TUNNEL_MODE
            value: "None"
          # Include all :'s, example; "1000:2::" -> 1000:2::192.169.1.2
          - name: IPV6_PREFIX
            value: "1000::1:"

Now xcluster-cni will simply strip the prefix and use the last 32-bit of the IPv6 address as IPv4 address.

This assumes that you can set the addresses on the nodes according to this scheme. In xcluster that is done by default but there is likely a problem on other platforms. Note that you can still use dual-stack with IPv4 as base-family.