X-Git-Url: https://git.archive.openwrt.org/?p=project%2Fluci.git;a=blobdiff_plain;f=modules%2Fniu%2Fluasrc%2Fniulib.lua;h=dc3df5ed43de47e8d42f8dcdfff22e95e2bf255d;hp=2a46355531004422d9a7ea2b9d24a9b47fb06ada;hb=8b80a623c3526fa40d215f28f0a3cd1312edebea;hpb=4cf6fdcdbeddb60f512961aad345447972ab94e4 diff --git a/modules/niu/luasrc/niulib.lua b/modules/niu/luasrc/niulib.lua index 2a4635553..dc3df5ed4 100644 --- a/modules/niu/luasrc/niulib.lua +++ b/modules/niu/luasrc/niulib.lua @@ -15,7 +15,9 @@ $Id$ local ipairs, pairs, require = ipairs, pairs, require local os = require "os" -local cursor = require "luci.model.uci".inst +local uci = require "luci.model.uci" +local cursor = uci.inst +local state = uci.inst_state module "luci.niulib" @@ -36,6 +38,20 @@ function eth_get_available(except) return ifs end +function eth_get_bridged(except) + local devs = state:get("network", except, "device") + + local ifs = {} + local cnt = 0 + for x in devs:gmatch("[^ ]+") do + cnt = cnt + 1 + if x:find("eth") == 1 then + ifs[#ifs+1] = x + end + end + return cnt > 1 and ifs or {} +end + function wifi_get_available(except) cursor:unload("wireless") @@ -50,7 +66,7 @@ function wifi_get_available(except) for k in pairs(used) do local t = iwinfo.type(k) if t and iwinfo[t] then - used[k] = (iwinfo[t].mbssid_support() < 1) + used[k] = (iwinfo[t].mbssid_support(k) < 1) end end