diff options
Diffstat (limited to 'debian/patches')
-rw-r--r-- | debian/patches/ipv6-config | 30 | ||||
-rw-r--r-- | debian/patches/series | 1 |
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 |