310-gluon-mesh-batman-adv-core-mesh 899 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #!/usr/bin/lua
  2. local sysconfig = require 'gluon.sysconfig'
  3. local site = require 'gluon.site_config'
  4. local util = require 'gluon.util'
  5. local uci = require('luci.model.uci').cursor()
  6. local gw_sel_class
  7. if site.mesh and site.mesh.batman_adv then
  8. gw_sel_class = site.mesh.batman_adv.gw_sel_class
  9. end
  10. uci:delete('batman-adv', 'bat0')
  11. uci:section('batman-adv', 'mesh', 'bat0',
  12. {
  13. orig_interval = 5000,
  14. gw_mode = 'client',
  15. gw_sel_class = gw_sel_class,
  16. hop_penalty = 15,
  17. multicast_mode = 0,
  18. }
  19. )
  20. uci:save('batman-adv')
  21. uci:delete('network', 'bat0')
  22. uci:section('network', 'interface', 'bat0',
  23. {
  24. ifname = 'bat0',
  25. proto = 'none',
  26. macaddr = sysconfig.primary_mac,
  27. multicast_router = 2,
  28. learning = 0,
  29. }
  30. )
  31. local interfaces = uci:get_list('network', 'client', 'ifname')
  32. util.add_to_set(interfaces, 'bat0')
  33. uci:set_list('network', 'client', 'ifname', interfaces)
  34. uci:save('network')