summaryrefslogtreecommitdiffhomepage
path: root/libs/core/luasrc
diff options
context:
space:
mode:
authorJo-Philipp Wich <jow@openwrt.org>2011-03-11 23:11:34 +0000
committerJo-Philipp Wich <jow@openwrt.org>2011-03-11 23:11:34 +0000
commit3b4450a58bbdd026306cc3778314998c08f6c753 (patch)
tree2cfa29739ac24939676c2eeb4c37b584d9e3c828 /libs/core/luasrc
parent64144ed331aaab8aac2875cb01c799e45260d716 (diff)
libs/core: allow resolving of virtual interfaces via get_interface(), should fix wan status display with 6to4, 6in4 tunnels or pppoe connections
Diffstat (limited to 'libs/core/luasrc')
-rw-r--r--libs/core/luasrc/model/network.lua16
1 files changed, 11 insertions, 5 deletions
diff --git a/libs/core/luasrc/model/network.lua b/libs/core/luasrc/model/network.lua
index 10fa03cff..0d3a75939 100644
--- a/libs/core/luasrc/model/network.lua
+++ b/libs/core/luasrc/model/network.lua
@@ -150,13 +150,19 @@ function _wifi_lookup(ifn)
end
end
+function _iface_virtual(x)
+ return (
+ x:match("^6in4-%w") or x:match("^6to4-%w") or x:match("^3g-%w") or
+ x:match("^ppp-%w") or x:match("^pppoe-%w") or x:match("^pppoa-%w") or
+ x:match("^relay-%w")
+ )
+end
+
function _iface_ignore(x)
return (
x:match("^wmaster%d") or x:match("^wifi%d") or x:match("^hwsim%d") or
- x:match("^imq%d") or x:match("^mon.wlan%d") or x:match("^6in4-%w") or
- x:match("^6to4-%w") or x:match("^3g-%w") or x:match("^ppp-%w") or
- x:match("^pppoe-%w") or x:match("^pppoa-%w") or x:match("^relay-%w") or
- x == "sit0" or x == "lo"
+ x:match("^imq%d") or x:match("^mon.wlan%d") or
+ x == "sit0" or x == "lo" or _iface_virtual(x)
)
end
@@ -175,7 +181,7 @@ function init(cursor)
local name = i.name:match("[^:]+")
local prnt = name:match("^([^%.]+)%.")
- if not _iface_ignore(name) then
+ if _iface_virtual(name) or not _iface_ignore(name) then
ifs[name] = ifs[name] or {
idx = i.ifindex or n,
name = name,