019-legacy-interfaces 990 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. #!/usr/bin/lua
  2. local gluon_util = require 'gluon.util'
  3. local platform = require 'gluon.platform'
  4. local site = require 'gluon.site_config'
  5. local sysconfig = require 'gluon.sysconfig'
  6. local uci = require('luci.model.uci').cursor()
  7. local util = require 'luci.util'
  8. if sysconfig.gluon_version == 'legacy' then
  9. local function iface_exists(name)
  10. return (gluon_util.exec('ip', 'link', 'show', 'dev', (name:gsub('%..*$', ''))) == 0)
  11. end
  12. local function remove_bat0(iface)
  13. return util.trim(string.gsub(' ' .. iface .. ' ', ' bat0 ', ' '))
  14. end
  15. local lan_ifname = remove_bat0(uci:get('network', site.legacy.mesh_ifname, 'ifname'))
  16. local wan_ifname = uci:get('network', 'wan', 'ifname')
  17. if wan_ifname and iface_exists(wan_ifname) then
  18. sysconfig.wan_ifname = wan_ifname
  19. sysconfig.lan_ifname = lan_ifname
  20. else
  21. sysconfig.wan_ifname = lan_ifname
  22. end
  23. uci:delete('network', site.legacy.mesh_ifname)
  24. uci:delete('network', 'wan')
  25. uci:save('network')
  26. end