350-gluon-mesh-batman-adv-15 802 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. #!/usr/bin/lua
  2. local site = require 'gluon.site_config'
  3. local uci = require('luci.model.uci').cursor()
  4. local function configure_mtu(radio, config)
  5. local mesh = 'mesh_' .. radio
  6. if config.mesh_vlan then
  7. uci:set('network', mesh, 'mtu', 1536)
  8. uci:set('network', mesh .. '_vlan', 'mtu', 1532)
  9. else
  10. uci:set('network', mesh, 'mtu', 1532)
  11. end
  12. end
  13. local radios = {}
  14. uci:foreach('wireless', 'wifi-device',
  15. function(s)
  16. table.insert(radios, s['.name'])
  17. end
  18. )
  19. for _, radio in ipairs(radios) do
  20. local hwmode = uci:get('wireless', radio, 'hwmode')
  21. if hwmode == '11g' or hwmode == '11ng' then
  22. configure_mtu(radio, site.wifi24)
  23. elseif hwmode == '11a' or hwmode == '11na' then
  24. configure_mtu(radio, site.wifi5)
  25. end
  26. end
  27. uci:save('network')
  28. uci:commit('network')