@@ -176,7 +176,7 @@ def writeRHStyleInterface(self, iface):
176176 f = open ('/etc/sysconfig/network-scripts/ifcfg-%s' % iface_vlan , 'w' )
177177 f .write ("DEVICE=%s\n " % iface_vlan )
178178 f .write ("ONBOOT=yes\n " )
179- if self .mode == self .DHCP or self . modev6 == self . DHCP :
179+ if self .mode == self .DHCP :
180180 f .write ("BOOTPROTO=dhcp\n " )
181181 f .write ("PERSISTENT_DHCLIENT=1\n " )
182182 else :
@@ -193,16 +193,21 @@ def writeRHStyleInterface(self, iface):
193193 f .write ("GATEWAY=%s\n " % self .gateway )
194194
195195 if self .modev6 :
196- f .write ("NETWORKING_IPV6=yes\n " )
196+ with open ('/etc/sysconfig/network' , 'w' ) as net_conf :
197+ net_conf .write ("NETWORKING_IPV6=yes\n " )
197198 f .write ("IPV6INIT=yes\n " )
199+ f .write ("IPV6_DEFROUTE=yes\n " )
200+ f .write ("IPV6_DEFAULTDEV=%s\n " % iface_vlan )
198201 f .write ("IPV6_AUTOCONF=yes\n " if self .modev6 == self .Autoconf else "IPV6_AUTOCONF=no\n " )
202+
199203 if self .modev6 == self .DHCP :
200204 f .write ("DHCPV6C=yes\n " )
205+ f .write ("PERSISTENT_DHCLIENT_IPV6=yes\n " )
206+ f .write ("IPV6_FORCE_ACCEPT_RA=yes\n " )
201207 elif self .modev6 == self .Static :
202208 f .write ("IPV6ADDR=%s\n " % self .ipv6addr )
203209 if self .ipv6_gateway :
204- prefix = self .ipv6addr .split ("/" )[1 ]
205- f .write ("IPV6_DEFAULTGW=%s/%s\n " % (self .ipv6_gateway , prefix ))
210+ f .write ("IPV6_DEFAULTGW=%s\n " % (self .ipv6_gateway ))
206211
207212 if self .vlan :
208213 f .write ("VLAN=yes\n " )
@@ -379,6 +384,10 @@ def __init__(self, mode, hwaddr, ipaddr=None, netmask=None, gateway=None, dns=No
379384 if is_static :
380385 assert ipaddr and netmask
381386 ipv6addr = ipaddr + "/" + netmask
387+ if dns == '' :
388+ dns = None
389+ elif isinstance (dns , str ):
390+ dns = [ dns ]
382391 self .dns = dns
383392 self .domain = domain
384393
0 commit comments