summaryrefslogtreecommitdiffhomepage
path: root/modules/luci-base
diff options
context:
space:
mode:
authorJo-Philipp Wich <jo@mein.io>2017-07-20 11:44:25 +0200
committerJo-Philipp Wich <jo@mein.io>2017-07-28 15:44:10 +0200
commit4201282559d85988990c8f48f4075bed5f785c2f (patch)
tree2f99b759e78bd2854a776223807499795ebefcd1 /modules/luci-base
parent3630387a9490a0f99b57f9270e0e41a8929a6162 (diff)
luci-base: let luci.sys.net.devices() return all netdevs
The previous implementation of the function only returned ethernet interfaces because it relied on the AF_PACKET family entries returned by getifaddrs(). Change the function to simply collect all interface names it sees in order to avoid missing tunnel interfaces. Fixes FS#917. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Diffstat (limited to 'modules/luci-base')
-rw-r--r--modules/luci-base/luasrc/sys.lua4
1 files changed, 3 insertions, 1 deletions
diff --git a/modules/luci-base/luasrc/sys.lua b/modules/luci-base/luasrc/sys.lua
index 99f3ee2919..115c54d54a 100644
--- a/modules/luci-base/luasrc/sys.lua
+++ b/modules/luci-base/luasrc/sys.lua
@@ -348,8 +348,10 @@ end
function net.devices()
local devs = {}
+ local seen = {}
for k, v in ipairs(nixio.getifaddrs()) do
- if v.family == "packet" then
+ if v.name and not seen[v.name] then
+ seen[v.name] = true
devs[#devs+1] = v.name
end
end