diff --git a/package/gluon-luci-portconfig/files/usr/lib/lua/luci/model/cbi/admin/portconfig.lua b/package/gluon-luci-portconfig/files/usr/lib/lua/luci/model/cbi/admin/portconfig.lua index 5f6cc77f..c9b57d4b 100644 --- a/package/gluon-luci-portconfig/files/usr/lib/lua/luci/model/cbi/admin/portconfig.lua +++ b/package/gluon-luci-portconfig/files/usr/lib/lua/luci/model/cbi/admin/portconfig.lua @@ -13,6 +13,7 @@ $Id$ ]]-- local uci = luci.model.uci.cursor() +local lutil = require 'luci.util' local sysconfig = require 'gluon.sysconfig' local wan = uci:get_all("network", "wan") @@ -121,10 +122,15 @@ function f.handle(self, state, data) if sysconfig.lan_ifname then uci:set("network", "mesh_lan", "auto", data.mesh_lan) + local doit if data.mesh_lan == '1' then - uci:remove_from_set("network", "client", "ifname", sysconfig.lan_ifname) + doit = uci.remove_from_set else - uci:add_to_set("network", "client", "ifname", sysconfig.lan_ifname) + doit = uci.add_to_set + end + + for _, lanif in ipairs(lutil.split(sysconfig.lan_ifname, ' ')) do + doit(uci, "network", "client", "ifname", lanif) end end diff --git a/package/gluon-mesh-batman-adv-core/files/lib/gluon/upgrade/310-gluon-mesh-batman-adv-core-mesh b/package/gluon-mesh-batman-adv-core/files/lib/gluon/upgrade/310-gluon-mesh-batman-adv-core-mesh index 9fd5b4b0..160b96ea 100755 --- a/package/gluon-mesh-batman-adv-core/files/lib/gluon/upgrade/310-gluon-mesh-batman-adv-core-mesh +++ b/package/gluon-mesh-batman-adv-core/files/lib/gluon/upgrade/310-gluon-mesh-batman-adv-core-mesh @@ -3,7 +3,9 @@ local sysconfig = require 'gluon.sysconfig' local sysctl = require 'gluon.sysctl' local site = require 'gluon.site_config' + local uci = require('luci.model.uci').cursor() +local lutil = require 'luci.util' local gw_sel_class @@ -28,7 +30,9 @@ if not uci:get('network', 'client', 'ifname') then uci:add_to_set('network', 'client', 'ifname', 'bat0') if sysconfig.lan_ifname and not site.mesh_on_lan then - uci:add_to_set('network', 'client', 'ifname', sysconfig.lan_ifname) + for _, lanif in ipairs(lutil.split(sysconfig.lan_ifname, ' ')) do + uci:add_to_set('network', 'client', 'ifname', lanif) + end end end diff --git a/package/gluon-mesh-batman-adv-core/files/lib/gluon/upgrade/340-gluon-mesh-batman-adv-core-mesh-on-lan b/package/gluon-mesh-batman-adv-core/files/lib/gluon/upgrade/340-gluon-mesh-batman-adv-core-mesh-on-lan index c3deea29..2d800546 100755 --- a/package/gluon-mesh-batman-adv-core/files/lib/gluon/upgrade/340-gluon-mesh-batman-adv-core-mesh-on-lan +++ b/package/gluon-mesh-batman-adv-core/files/lib/gluon/upgrade/340-gluon-mesh-batman-adv-core-mesh-on-lan @@ -13,8 +13,13 @@ if sysconfig.lan_ifname and not uci:get('network', 'mesh_lan') then if enable then local interfaces = uci:get_list('network', 'client', 'ifname') - if interfaces and lutil.contains(interfaces, sysconfig.lan_ifname) then - enable = false + if interfaces then + for _, lanif in ipairs(lutil.split(sysconfig.lan_ifname, ' ')) do + if lutil.contains(interfaces, lanif) then + enable = false + break + end + end end end