luci-base: network.lua: fix bridge related functions

This commit fixes these bugs:

1. Functions interface.bridge_id() and interface.bridge_stp() uses self.br field
   that is not exists at all

2. Function interface.is_bridgeport() return true only for bridge interface, not for
   bridge port interfaces.

Signed-off-by: Anton Kikin <a.kikin@tano-systems.com>
This commit is contained in:
Anton Kikin 2018-07-15 15:55:04 +03:00
parent 45725dfca6
commit 72247ee09f

View file

@ -371,6 +371,7 @@ function init(cursor)
b.ifnames[1].bridge = b
end
_bridge[r[1]] = b
_interfaces[r[1]].bridge = b
elseif b then
b.ifnames[#b.ifnames+1] = _interfaces[r[2]]
b.ifnames[#b.ifnames].bridge = b
@ -1452,16 +1453,16 @@ function interface.ports(self)
end
function interface.bridge_id(self)
if self.br then
return self.br.id
if self.dev and self.dev.bridge then
return self.dev.bridge.id
else
return nil
end
end
function interface.bridge_stp(self)
if self.br then
return self.br.stp
if self.dev and self.dev.bridge then
return self.dev.bridge.stp
else
return false
end
@ -1480,7 +1481,8 @@ function interface.is_bridge(self)
end
function interface.is_bridgeport(self)
return self.dev and self.dev.bridge and true or false
return self.dev and self.dev.bridge and
(self.dev.bridge.name != self:name()) and true or false
end
function interface.tx_bytes(self)