summaryrefslogtreecommitdiff
path: root/debian/patches
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches')
-rw-r--r--debian/patches/ipv6-config30
-rw-r--r--debian/patches/series1
2 files changed, 31 insertions, 0 deletions
diff --git a/debian/patches/ipv6-config b/debian/patches/ipv6-config
new file mode 100644
index 00000000..b6303e04
--- /dev/null
+++ b/debian/patches/ipv6-config
@@ -0,0 +1,30 @@
+--- a/cloudinit/net/cmdline.py
++++ b/cloudinit/net/cmdline.py
+@@ -86,7 +86,7 @@
+ else:
+ proto = 'static'
+
+- if proto not in ('static', 'dhcp'):
++ if proto not in ('static', 'dhcp', 'dhcp6'):
+ raise ValueError("Unexpected value for PROTO: %s" % proto)
+
+ iface = {
+@@ -98,12 +98,15 @@
+ if name in mac_addrs:
+ iface['mac_address'] = mac_addrs[name]
+
+- # originally believed there might be IPV6* values
+- for v, pre in (('ipv4', 'IPV4'),):
++ # Handle both IPv4 and IPv6 values
++ for v, pre in (('ipv4', 'IPV4'), ('ipv6', 'IPV6')):
+ # if no IPV4ADDR or IPV6ADDR, then go on.
+ if pre + "ADDR" not in data:
+ continue
+- subnet = {'type': proto, 'control': 'manual'}
++ if pre + "PROTO" in data:
++ subnet = {'type': data[pre + 'PROTO'], 'control': 'manual'}
++ else:
++ subnet = {'type': proto, 'control': 'manual'}
+
+ # these fields go right on the subnet
+ for key in ('NETMASK', 'BROADCAST', 'GATEWAY'):
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 00000000..c486f303
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1 @@
+ipv6-config