X-Git-Url: https://git.archive.openwrt.org/?p=project%2Fluci.git;a=blobdiff_plain;f=modules%2Fniu%2Fluasrc%2Fmodel%2Fcbi%2Fniu%2Fnetwork%2Fwan.lua;h=cb97cc1aaedb301975475475845ab00d15882af1;hp=1724c4a8e13bc22b95488f14d99d978fc294c2e4;hb=8b80a623c3526fa40d215f28f0a3cd1312edebea;hpb=edb5427181412a69be73b7ccda199841d1e0092b diff --git a/modules/niu/luasrc/model/cbi/niu/network/wan.lua b/modules/niu/luasrc/model/cbi/niu/network/wan.lua index 1724c4a8e..cb97cc1aa 100644 --- a/modules/niu/luasrc/model/cbi/niu/network/wan.lua +++ b/modules/niu/luasrc/model/cbi/niu/network/wan.lua @@ -21,7 +21,21 @@ local function deviceroute(self) if wd:find("ethernet:") == 1 then cursor:set("network", "wan", "defaultroute", "1") - cursor:set("network", "wan", "ifname", wd:sub(10)) + if wd:find("!", 10) == 10 then --Unbridge from LAN + local ethdev = wd:sub(11) + local ifname = cursor:get("network", "lan", "ifname") + local newifname = {} + for k in ifname:gmatch("[^ ]+") do + if k ~= ifname then + newifname[#newifname+1] = k + end + end + cursor:set("network", "lan", "ifname", table.concat(newifname, " ")) + cursor:set("network", "wan", "_wandev", "ethernet:" .. ethdev) + cursor:set("network", "wan", "ifname", ethdev) + else + cursor:set("network", "wan", "ifname", wd:sub(10)) + end self:set_route("etherwan") else cursor:delete("network", "wan", "ifname")