Merge pull request #71 from tomxtobin/detect-down-slave-interface
Correctly detect bonded slave interface state
This commit is contained in:
commit
edbb0a4efb
@ -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:
|
||||||
|
Loading…
Reference in New Issue
Block a user