Skip to content

Commit 04f8dcd

Browse files
committed
Add IPv6 to installer net files
Signed-off-by: BenjiReis <benjamin.reis@vates.fr>
1 parent d9e0feb commit 04f8dcd

File tree

1 file changed

+29
-7
lines changed

1 file changed

+29
-7
lines changed

netinterface.py

Lines changed: 29 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -156,13 +156,12 @@ def writeDebStyleInterface(self, iface, f):
156156

157157
# Debian style interfaces are only used for the installer; dom0 only uses CentOS style
158158
# IPv6 is only enabled through answerfiles and so is not supported here.
159-
assert self.modev6 is None
160-
assert self.mode
159+
assert self.modev6 or self.mode
161160
iface_vlan = self.getInterfaceName(iface)
162161

163162
if self.mode == self.DHCP:
164163
f.write("iface %s inet dhcp\n" % iface_vlan)
165-
else:
164+
elif self.mode == self.Static:
166165
# CA-11825: broadcast needs to be determined for non-standard networks
167166
bcast = self.getBroadcast()
168167
f.write("iface %s inet static\n" % iface_vlan)
@@ -173,32 +172,55 @@ def writeDebStyleInterface(self, iface, f):
173172
if self.gateway:
174173
f.write(" gateway %s\n" % self.gateway)
175174

175+
if self.modev6 == self.DHCP:
176+
f.write("iface %s inet6 dhcp\n" % iface_vlan)
177+
elif self.modev6 == self.Static:
178+
f.write("iface %s inet6 static\n" % iface_vlan)
179+
f.write(" address %s\n" % self.ipv6addr)
180+
if self.ipv6_gateway:
181+
f.write(" gateway %s\n" % self.ipv6_gateway)
182+
176183
def writeRHStyleInterface(self, iface):
177184
""" Write a RedHat-style configuration entry for this interface to
178185
file object f using interface name iface. """
179186

180-
assert self.modev6 is None
181-
assert self.mode
187+
assert self.modev6 or self.mode
182188
iface_vlan = self.getInterfaceName(iface)
183189

184190
f = open('/etc/sysconfig/network-scripts/ifcfg-%s' % iface_vlan, 'w')
185191
f.write("DEVICE=%s\n" % iface_vlan)
186192
f.write("ONBOOT=yes\n")
187-
if self.mode == self.DHCP:
193+
if self.mode == self.DHCP or self.modev6 == self.DHCP:
188194
f.write("BOOTPROTO=dhcp\n")
189195
f.write("PERSISTENT_DHCLIENT=1\n")
190196
else:
197+
f.write("BOOTPROTO=none\n")
198+
199+
if self.mode == self.Static:
191200
# CA-11825: broadcast needs to be determined for non-standard networks
192201
bcast = self.getBroadcast()
193-
f.write("BOOTPROTO=none\n")
194202
f.write("IPADDR=%s\n" % self.ipaddr)
195203
if bcast is not None:
196204
f.write("BROADCAST=%s\n" % bcast)
197205
f.write("NETMASK=%s\n" % self.netmask)
198206
if self.gateway:
199207
f.write("GATEWAY=%s\n" % self.gateway)
208+
209+
if self.modev6:
210+
f.write("NETWORKING_IPV6=yes\n")
211+
f.write("IPV6INIT=yes\n")
212+
f.write("IPV6_AUTOCONF=no\n")
213+
if self.modev6 == self.DHCP:
214+
f.write("DHCPV6C=yes\n")
215+
elif self.modev6 == self.Static:
216+
f.write("IPV6ADDR=%s\n" % self.ipv6addr)
217+
if self.ipv6_gateway:
218+
prefix = self.ipv6addr.split("/")[1]
219+
f.write("IPV6_DEFAULTGW=%s/%s\n" % (self.ipv6_gateway, prefix))
220+
200221
if self.vlan:
201222
f.write("VLAN=yes\n")
223+
202224
f.close()
203225

204226

0 commit comments

Comments
 (0)