summaryrefslogtreecommitdiff
path: root/cloudinit/net
diff options
context:
space:
mode:
Diffstat (limited to 'cloudinit/net')
-rw-r--r--cloudinit/net/eni.py7
-rw-r--r--cloudinit/net/sysconfig.py7
2 files changed, 12 insertions, 2 deletions
diff --git a/cloudinit/net/eni.py b/cloudinit/net/eni.py
index b129bb62..530922b5 100644
--- a/cloudinit/net/eni.py
+++ b/cloudinit/net/eni.py
@@ -411,8 +411,13 @@ class Renderer(renderer.Renderer):
else:
ipv4_subnet_mtu = subnet.get('mtu')
iface['inet'] = subnet_inet
- if subnet['type'].startswith('dhcp'):
+ if (subnet['type'] == 'dhcp4' or subnet['type'] == 'dhcp6' or
+ subnet['type'] == 'ipv6_dhcpv6-stateful'):
+ # Configure network settings using DHCP or DHCPv6
iface['mode'] = 'dhcp'
+ elif subnet['type'] == 'ipv6_dhcpv6-stateless':
+ # Configure network settings using SLAAC from RAs
+ iface['mode'] = 'auto'
# do not emit multiple 'auto $IFACE' lines as older (precise)
# ifupdown complains
diff --git a/cloudinit/net/sysconfig.py b/cloudinit/net/sysconfig.py
index 87b548e5..4e656768 100644
--- a/cloudinit/net/sysconfig.py
+++ b/cloudinit/net/sysconfig.py
@@ -343,10 +343,15 @@ class Renderer(renderer.Renderer):
for i, subnet in enumerate(subnets, start=len(iface_cfg.children)):
mtu_key = 'MTU'
subnet_type = subnet.get('type')
- if subnet_type == 'dhcp6':
+ if subnet_type == 'dhcp6' or subnet_type == 'ipv6_dhcpv6-stateful':
# TODO need to set BOOTPROTO to dhcp6 on SUSE
iface_cfg['IPV6INIT'] = True
+ # Configure network settings using DHCPv6
iface_cfg['DHCPV6C'] = True
+ elif subnet_type == 'ipv6_dhcpv6-stateless':
+ iface_cfg['IPV6INIT'] = True
+ # Configure network settings using SLAAC from RAs
+ iface_cfg['IPV6_AUTOCONF'] = True
elif subnet_type in ['dhcp4', 'dhcp']:
iface_cfg['BOOTPROTO'] = 'dhcp'
elif subnet_type == 'static':