summaryrefslogtreecommitdiffhomepage
path: root/protocols
diff options
context:
space:
mode:
authorJo-Philipp Wich <jo@mein.io>2018-07-28 14:09:34 +0200
committerJo-Philipp Wich <jo@mein.io>2018-07-28 14:21:42 +0200
commitaae187dedf726fe609ede8260f8f8343d843d046 (patch)
tree1c2e57f93829e3a5bfd6fabdd592887a8c0d7f9e /protocols
parent350be23eb912bd1f3d1d2c09131d1ed03a27dcd0 (diff)
luci-proto-relay: propagate up state, do not forward netifd errors
Due to historical reasons, the relayd daemon configuration resides in the form of a fake "config interface" section in /etc/config/network without actually registering a protocol handler. This causes netifd to emit an "INVALID_PROTO" error for the interface which is technically correct, but confusing for LuCI users. This situation needs to be resolved upstream by either moving relayd configuration out of the network config, or by converting the relayd service into a proper protocol handler. Until this happens, do not report any netifd errors since we're not operating on an actual interface. While we're at it, also propagate the protocol up state from the fake virtual device to ensure that LuCI displays the relay bridge as "up" when all relayed interfaces are up as well. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Diffstat (limited to 'protocols')
-rw-r--r--protocols/luci-proto-relay/luasrc/model/network/proto_relay.lua9
1 files changed, 9 insertions, 0 deletions
diff --git a/protocols/luci-proto-relay/luasrc/model/network/proto_relay.lua b/protocols/luci-proto-relay/luasrc/model/network/proto_relay.lua
index a2dabf9af..3b811d44d 100644
--- a/protocols/luci-proto-relay/luasrc/model/network/proto_relay.lua
+++ b/protocols/luci-proto-relay/luasrc/model/network/proto_relay.lua
@@ -32,6 +32,11 @@ function proto.is_virtual(self)
return true
end
+function proto.is_up(self)
+ local iface = self:get_interface()
+ return iface and iface:is_up() or false
+end
+
function proto.get_interface(self)
return device(self.sid, self)
end
@@ -80,6 +85,10 @@ function proto.uptime(self)
return upt
end
+function proto.errors(self)
+ return nil
+end
+
function device.__init__(self, ifname, network)
self.ifname = ifname