libs/core: support not-yet-existing interfaces in network model
This commit is contained in:
parent
b3b708a585
commit
0a8fa4e4a5
1 changed files with 13 additions and 2 deletions
|
@ -102,7 +102,7 @@ function _set(c, s, o, v)
|
||||||
if type(v) == "boolean" then v = v and "1" or "0" end
|
if type(v) == "boolean" then v = v and "1" or "0" end
|
||||||
return uci_r:set(c, s, o, v)
|
return uci_r:set(c, s, o, v)
|
||||||
else
|
else
|
||||||
return uci_r:del(c, s, o, v)
|
return uci_r:delete(c, s, o)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -372,10 +372,21 @@ end
|
||||||
function get_interfaces(self)
|
function get_interfaces(self)
|
||||||
local iface
|
local iface
|
||||||
local ifaces = { }
|
local ifaces = { }
|
||||||
|
local seen = { }
|
||||||
|
|
||||||
-- find normal interfaces
|
-- find normal interfaces
|
||||||
for iface in utl.kspairs(ifs) do
|
uci_r:foreach("network", "interface",
|
||||||
|
function(s)
|
||||||
|
for iface in utl.imatch(s.ifname) do
|
||||||
if not _iface_ignore(iface) and not _wifi_iface(iface) then
|
if not _iface_ignore(iface) and not _wifi_iface(iface) then
|
||||||
|
seen[iface] = true
|
||||||
|
ifaces[#ifaces+1] = interface(iface)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
|
||||||
|
for iface in utl.kspairs(ifs) do
|
||||||
|
if not (seen[iface] or _iface_ignore(iface) or _wifi_iface(iface)) then
|
||||||
ifaces[#ifaces+1] = interface(iface)
|
ifaces[#ifaces+1] = interface(iface)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue