gluon-mesh-batman-adv-core: don't break network configuration on upgrades with mesh_on_lan=true

remotes/1699402720531464663/tmp_refs/heads/stable
Matthias Schiffer 2015-05-28 01:44:25 +02:00
parent bc2512980c
commit 66f6ff2385
1 changed files with 19 additions and 10 deletions

View File

@ -1,23 +1,32 @@
#!/usr/bin/lua
local site = require 'gluon.site_config'
local uci = require 'luci.model.uci'
local util = require 'gluon.util'
local sysconfig = require 'gluon.sysconfig'
local c = uci.cursor()
local uci = require('luci.model.uci').cursor()
local lutil = require 'luci.util'
if sysconfig.lan_ifname then
if not c:get('network', 'mesh_lan') then
c:section('network', 'interface', 'mesh_lan',
if sysconfig.lan_ifname and not uci:get('network', 'mesh_lan') then
local enable = site.mesh_on_lan
if enable then
local interfaces = uci:get('network', 'client', 'ifname')
if interfaces and lutil.contains(interfaces:split(' '), sysconfig.lan_ifname) then
enable = false
end
end
uci:section('network', 'interface', 'mesh_lan',
{ ifname = sysconfig.lan_ifname
, proto = 'batadv'
, mesh = 'bat0'
, macaddr = util.generate_mac(1, 1)
, auto = site.mesh_on_lan and 1 or 0
})
end
, auto = enable and 1 or 0
})
uci:save('network')
uci:commit('network')
end
c:save('network')
c:commit('network')