#!/usr/bin/lua local site = require 'gluon.site' local util = require 'gluon.util' local sysconfig = require 'gluon.sysconfig' local uci = require('simple-uci').cursor() if not sysconfig.lan_ifname then os.exit(0) end local old_proto = uci:get('network', 'mesh_lan', 'proto') uci:section('network', 'interface', 'mesh_lan', { ifname = sysconfig.lan_ifname, type = 'bridge', igmp_snooping = false, proto = 'gluon_wired', index = 4, legacy = old_proto == 'gluon_mesh', }) if uci:get('network', 'mesh_lan', 'auto') == nil then local enable = site.mesh_on_lan(false) if enable then local interfaces = uci:get_list('network', 'client', 'ifname') if interfaces then for lanif in sysconfig.lan_ifname:gmatch('%S+') do if util.contains(interfaces, lanif) then enable = false break end end end end uci:set('network', 'mesh_lan', 'auto', enable) end if uci:get('network', 'mesh_lan', 'transitive') == nil then uci:set('network', 'mesh_lan', 'transitive', true) end if uci:get('network', 'mesh_lan', 'legacy') == nil then uci:set('network', 'mesh_lan', 'legacy', old_proto == 'gluon_mesh') end uci:delete('network', 'mesh_lan', 'fixed_mtu') uci:save('network')