diff options
author | Jo-Philipp Wich <jo@mein.io> | 2017-07-20 11:44:25 +0200 |
---|---|---|
committer | Jo-Philipp Wich <jo@mein.io> | 2017-07-28 15:44:10 +0200 |
commit | 4201282559d85988990c8f48f4075bed5f785c2f (patch) | |
tree | 2f99b759e78bd2854a776223807499795ebefcd1 /modules/luci-base | |
parent | 3630387a9490a0f99b57f9270e0e41a8929a6162 (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.lua | 4 |
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 |