Optionally skip MAC address check in network
Network interfaces don't necessarily have a MAC address. For example, the tunnel devices created by OpenVPN do not. Previously, passing a network interface that did not have a MAC address caused the network module to fail, since it assumed that there would be one. This commit just adds a flag to the network module "mac", which defaults to True. If True, the module behaves like before. If False, the check for the MAC address is skipped and the {mac} format variable is replaced with "NONE". I tested this with my OpenVPN interface as well as my regular interface and it works fine.
This commit is contained in:
parent
4ed3f93678
commit
3bbd8d4765
@ -74,6 +74,7 @@ class Network(IntervalModule):
|
|||||||
"format_down", "color_down",
|
"format_down", "color_down",
|
||||||
("detached_down", "If the interface doesn't exist, display it as if it were down"),
|
("detached_down", "If the interface doesn't exist, display it as if it were down"),
|
||||||
"name",
|
"name",
|
||||||
|
("mac", "Try and fetch the interface MAC address, default True")
|
||||||
)
|
)
|
||||||
|
|
||||||
name = interface = "eth0"
|
name = interface = "eth0"
|
||||||
@ -82,6 +83,8 @@ class Network(IntervalModule):
|
|||||||
color_up = "#00FF00"
|
color_up = "#00FF00"
|
||||||
color_down = "#FF0000"
|
color_down = "#FF0000"
|
||||||
detached_down = False
|
detached_down = False
|
||||||
|
mac = True
|
||||||
|
|
||||||
|
|
||||||
def init(self):
|
def init(self):
|
||||||
if self.interface not in netifaces.interfaces() and not self.detached_down:
|
if self.interface not in netifaces.interfaces() and not self.detached_down:
|
||||||
@ -101,8 +104,11 @@ class Network(IntervalModule):
|
|||||||
fdict.update({
|
fdict.update({
|
||||||
"interface": self.interface,
|
"interface": self.interface,
|
||||||
"name": self.name,
|
"name": self.name,
|
||||||
"mac": info[netifaces.AF_PACKET][0]["addr"],
|
|
||||||
})
|
})
|
||||||
|
if self.mac:
|
||||||
|
fdict["mac"] = info[netifaces.AF_PACKET][0]["addr"]
|
||||||
|
else:
|
||||||
|
fdict["mac"] = "NONE"
|
||||||
|
|
||||||
if up:
|
if up:
|
||||||
format = self.format_up
|
format = self.format_up
|
||||||
|
Loading…
Reference in New Issue
Block a user