libs/core: also enumerate not-yet-spawned vlan interfaces in network model, differentiate switch and vlan interfaces
This commit is contained in:
parent
a4ea7904b8
commit
0285631f5b
1 changed files with 23 additions and 1 deletions
|
@ -394,6 +394,24 @@ function get_interfaces(self)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- find vlan interfaces
|
||||||
|
uci_r:foreach("network", "switch_vlan",
|
||||||
|
function(s)
|
||||||
|
local base = s.device or "-"
|
||||||
|
if not base:match("^eth%d") then
|
||||||
|
base = "eth0"
|
||||||
|
end
|
||||||
|
|
||||||
|
local vid = tonumber(s.vid or s.vlan)
|
||||||
|
if vid ~= nil and vid >= 0 and vid <= 4095 then
|
||||||
|
local iface = "%s.%d" %{ base, vid }
|
||||||
|
if not seen[iface] then
|
||||||
|
seen[iface] = true
|
||||||
|
nfs[iface] = interface(iface)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
|
||||||
for iface in utl.kspairs(nfs) do
|
for iface in utl.kspairs(nfs) do
|
||||||
ifaces[#ifaces+1] = nfs[iface]
|
ifaces[#ifaces+1] = nfs[iface]
|
||||||
end
|
end
|
||||||
|
@ -823,7 +841,9 @@ function interface.type(self)
|
||||||
return "wifi"
|
return "wifi"
|
||||||
elseif brs[self.ifname] then
|
elseif brs[self.ifname] then
|
||||||
return "bridge"
|
return "bridge"
|
||||||
elseif sws[self.ifname] or self.ifname:match("%.") then
|
elseif self.ifname:match("%.") then
|
||||||
|
return "vlan"
|
||||||
|
elseif sws[self.ifname] then
|
||||||
return "switch"
|
return "switch"
|
||||||
else
|
else
|
||||||
return "ethernet"
|
return "ethernet"
|
||||||
|
@ -861,6 +881,8 @@ function interface.get_type_i18n(self)
|
||||||
return i18n.translate("Bridge")
|
return i18n.translate("Bridge")
|
||||||
elseif x == "switch" then
|
elseif x == "switch" then
|
||||||
return i18n.translate("Ethernet Switch")
|
return i18n.translate("Ethernet Switch")
|
||||||
|
elseif x == "vlan" then
|
||||||
|
return i18n.translate("VLAN Interface")
|
||||||
else
|
else
|
||||||
return i18n.translate("Ethernet Adapter")
|
return i18n.translate("Ethernet Adapter")
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue