clean up the ipv6 address also by removing the interface information.

This commit is contained in:
Thomas Davis 2019-08-28 09:17:17 -07:00
parent ed2754f676
commit d7e4153ca7

View file

@ -63,13 +63,15 @@ class Network():
ip6_addr = netifaces.ifaddresses(interface).get(netifaces.AF_INET6)
# netifaces returns a ipv6 netmask that netaddr does not understand.
# this strips the netmask down to the correct format for netaddr.
# this strips the netmask down to the correct format for netaddr, and remove the interface.
# ie, this:
# {'addr': 'fe80::ec4:7aff:fe59:ec4a%eno1.50', 'netmask': 'ffff:ffff:ffff:ffff::/64'}
#
# becomes:
# {'addr': 'fe80::ec4:7aff:fe59:ec4a%eno1.50', 'netmask': 'ffff:ffff:ffff:ffff::'}
# {'addr': 'fe80::ec4:7aff:fe59:ec4a', 'netmask': 'ffff:ffff:ffff:ffff::'}
#
for addr in ip6_addr:
addr["addr"] = re.sub("\%.*$", "", addr["addr"])
addr["netmask"] = re.sub("/\d+$", "", addr["netmask"])
ip_addr.append(addr)