projects
/
project
/
luci.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
libs/core: support not-yet-existing interfaces in network model
[project/luci.git]
/
libs
/
core
/
luasrc
/
model
/
network.lua
diff --git
a/libs/core/luasrc/model/network.lua
b/libs/core/luasrc/model/network.lua
index bb98f822338ccafbbd1fbc349d6162dadb34cd9a..54008b54b3b5317dfa5c1432d87211ba6a73461c 100644
(file)
--- a/
libs/core/luasrc/model/network.lua
+++ b/
libs/core/luasrc/model/network.lua
@@
-102,7
+102,7
@@
function _set(c, s, o, v)
if type(v) == "boolean" then v = v and "1" or "0" end
return uci_r:set(c, s, o, v)
else
if type(v) == "boolean" then v = v and "1" or "0" end
return uci_r:set(c, s, o, v)
else
- return uci_r:del
(c, s, o, v
)
+ return uci_r:del
ete(c, s, o
)
end
end
end
end
@@
-372,10
+372,21
@@
end
function get_interfaces(self)
local iface
local ifaces = { }
function get_interfaces(self)
local iface
local ifaces = { }
+ local seen = { }
-- find normal interfaces
-- find normal interfaces
+ 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
+ seen[iface] = true
+ ifaces[#ifaces+1] = interface(iface)
+ end
+ end
+ end)
+
for iface in utl.kspairs(ifs) do
for iface in utl.kspairs(ifs) do
- if not
_iface_ignore(iface) and not _wifi_iface(iface
) then
+ if not
(seen[iface] or _iface_ignore(iface) or _wifi_iface(iface)
) then
ifaces[#ifaces+1] = interface(iface)
end
end
ifaces[#ifaces+1] = interface(iface)
end
end