diff options
author | Jo-Philipp Wich <jow@openwrt.org> | 2011-03-11 23:11:34 +0000 |
---|---|---|
committer | Jo-Philipp Wich <jow@openwrt.org> | 2011-03-11 23:11:34 +0000 |
commit | 3b4450a58bbdd026306cc3778314998c08f6c753 (patch) | |
tree | 2cfa29739ac24939676c2eeb4c37b584d9e3c828 /libs/core/luasrc | |
parent | 64144ed331aaab8aac2875cb01c799e45260d716 (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.lua | 16 |
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, |