Merge pull request #71 from tomxtobin/detect-down-slave-interface

Correctly detect bonded slave interface state
This commit is contained in:
enkore 2014-06-16 16:03:02 +02:00
commit edbb0a4efb

View File

@ -59,6 +59,15 @@ def get_bonded_slaves():
return slaves return slaves
def sysfs_interface_up(interface):
try:
with open("/sys/class/net/{}/operstate".format(interface)) as f:
status = f.read().strip()
except FileNotFoundError:
raise RuntimeError("Unknown interface {iface}!".format(iface=interface))
return status == "up"
class Network(IntervalModule): class Network(IntervalModule):
""" """
Display network information about a interface. Display network information about a interface.
@ -113,6 +122,7 @@ class Network(IntervalModule):
except KeyError: except KeyError:
pass pass
else: else:
if sysfs_interface_up(self.interface):
master_info = netifaces.ifaddresses(master) master_info = netifaces.ifaddresses(master)
for af in (netifaces.AF_INET, netifaces.AF_INET6): for af in (netifaces.AF_INET, netifaces.AF_INET6):
try: try: