@@ -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