cloud-init's SLAAC option was disabled in 2018 because there was no
support for it. Now that cloud-init 19.4 or newer versions are more
widespread, we can finally reenable it.
Also include minimum required cloud-init version for SLAAC support in
format description.
Tested on Ubuntu 20.04 (ci 20.4), CentOS 8 (ci 19.4), Debian 10 (ci
20.2).
Signed-off-by: Mira Limbeck <m.limbeck@proxmox.com>
The special string 'dhcp' can be used for IP addresses to use DHCP, in which case no explicit
gateway should be provided.
-For IPv6 the special string 'auto' can be used to use stateless autoconfiguration.
+For IPv6 the special string 'auto' can be used to use stateless autoconfiguration. This requires
+cloud-init 19.4 or newer.
If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using
dhcp on IPv4.
if ($ip eq 'dhcp') {
$content .= "${i}- type: dhcp6\n";
} elsif ($ip eq 'auto') {
- # SLAAC is not supported by cloud-init, this fallback should work with an up-to-date netplan at least
- $content .= "${i}- type: dhcp6\n";
+ # SLAAC is only supported by cloud-init since 19.4
+ $content .= "${i}- type: ipv6_slaac\n";
} else {
$content .= "${i}- type: static6\n"
. "${i} address: '$ip'\n";