From 3b4450a58bbdd026306cc3778314998c08f6c753 Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Fri, 11 Mar 2011 23:11:34 +0000 Subject: libs/core: allow resolving of virtual interfaces via get_interface(), should fix wan status display with 6to4, 6in4 tunnels or pppoe connections --- libs/core/luasrc/model/network.lua | 16 +++++++++++----- 1 file 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, -- cgit v1.2.3