350-gluon-mesh-batman-adv-14 972 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  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, mtu)
  5. if config.ibss then
  6. local network = 'ibss_' .. radio
  7. if config.ibss.vlan then
  8. uci:set('network', network, 'mtu', mtu + 4)
  9. uci:set('network', network .. '_vlan', 'mtu', mtu)
  10. else
  11. uci:set('network', network, 'mtu', mtu)
  12. end
  13. end
  14. if config.mesh then
  15. uci:set('network', 'mesh_' .. radio, 'mtu', mtu)
  16. end
  17. end
  18. local radios = {}
  19. uci:foreach('wireless', 'wifi-device',
  20. function(s)
  21. table.insert(radios, s['.name'])
  22. end
  23. )
  24. local mtu = 1528
  25. for _, radio in ipairs(radios) do
  26. local hwmode = uci:get('wireless', radio, 'hwmode')
  27. if hwmode == '11g' or hwmode == '11ng' then
  28. configure_mtu(radio, site.wifi24, mtu)
  29. elseif hwmode == '11a' or hwmode == '11na' then
  30. configure_mtu(radio, site.wifi5, mtu)
  31. end
  32. end
  33. uci:save('network')
  34. uci:commit('network')