update ipv6 address handling to work with netifaces >= 0.10.5

This commit is contained in:
Andrey Astafyev 2017-02-04 08:54:40 +03:00 committed by enkore
parent b7324eed6a
commit ec67429456

View File

@ -123,9 +123,13 @@ class NetworkInfo:
if netifaces.AF_INET6 in network_info:
for v6 in network_info[netifaces.AF_INET6]:
info["v6"] = v6["addr"]
mask, bits = v6["netmask"].split("/")
info["v6mask"] = mask
info["v6cidr"] = cidr6(v6["addr"], bits)
try:
mask, bits = v6["netmask"].split("/")
info["v6mask"] = mask
info["v6cidr"] = cidr6(v6["addr"], bits)
except ValueError:
info["v6cidr"] = v6["addr"]
info["v6mask"] = v6["netmask"]
if not v6["addr"].startswith("fe80::"): # prefer non link-local addresses
break
return info