@@ -24,7 +24,7 @@ class NetInterface:
2424 Autoconf = 3
2525
2626 def __init__ (self , mode , hwaddr , ipaddr = None , netmask = None , gateway = None ,
27- dns = None , domain = None , vlan = None , ipv6 = False ):
27+ dns = None , domain = None , vlan = None ):
2828 assert mode in [None , self .Static , self .DHCP , self .Autoconf ]
2929 if ipaddr == '' :
3030 ipaddr = None
@@ -36,31 +36,23 @@ def __init__(self, mode, hwaddr, ipaddr=None, netmask=None, gateway=None,
3636 dns = None
3737 elif isinstance (dns , str ):
3838 dns = [ dns ]
39- if mode == self .Static :
39+ is_static = mode == self .Static
40+ if is_static :
4041 assert ipaddr and netmask
4142
4243 self .hwaddr = hwaddr
43- if ipv6 :
44- self .mode = None
45- self .ipaddr = None
46- self .netmask = None
47- self .gateway = None
48-
49- self .modev6 = mode
50- self .ipv6addr = ipaddr + "/" + netmask if mode == self .Static else None
51- self .ipv6_gateway = gateway if mode == self .Static else None
52- else :
53- self .modev6 = None
54- self .ipv6addr = None
55- self .ipv6_gateway = None
5644
57- self .mode = mode
58- self .ipaddr = ipaddr if mode == self .Static else None
59- self .netmask = netmask if mode == self .Static else None
60- self .gateway = gateway if mode == self .Static else None
45+ self .modev6 = None
46+ self .ipv6addr = None
47+ self .ipv6_gateway = None
6148
62- self .dns = dns if mode == self .Static else None
63- self .domain = domain if mode == self .Static else None
49+ self .mode = mode
50+ self .ipaddr = ipaddr if is_static else None
51+ self .netmask = netmask if is_static else None
52+ self .gateway = gateway if is_static else None
53+
54+ self .dns = dns if is_static else None
55+ self .domain = domain if is_static else None
6456 self .vlan = vlan
6557
6658 def __repr__ (self ):
@@ -377,3 +369,15 @@ def loadFromNetDb(jdata, hwaddr):
377369
378370 nic .addIPv6 (modev6 , ipv6addr , gatewayv6 )
379371 return nic
372+
373+ class NetInterfaceV6 (NetInterface ):
374+ def __init__ (self , mode , hwaddr , ipaddr = None , netmask = None , gateway = None , dns = None , domain = None , vlan = None ):
375+ super ().__init__ (None , hwaddr , None , None , None , dns , domain , vlan )
376+
377+ is_static = mode == self .Static
378+ ipv6addr = None
379+ if is_static :
380+ assert ipaddr and netmask
381+ ipv6addr = ipaddr + "/" + netmask
382+
383+ self .addIPv6 (mode , ipv6addr = ipv6addr , ipv6gw = gateway )
0 commit comments