gluon/package/gluon-mesh-vpn-fastd/check_site.lua

38 lines
1.0 KiB
Lua
Raw Normal View History

need_string_array('fastd_mesh_vpn.methods')
need_number('fastd_mesh_vpn.mtu')
need_boolean('fastd_mesh_vpn.enabled', false)
need_boolean('fastd_mesh_vpn.configurable', false)
2014-07-05 00:48:56 +00:00
local function check_peer(prefix)
return function(k, _)
assert_uci_name(k)
local table = string.format('%s[%q].', prefix, k)
2014-07-05 00:48:56 +00:00
need_string(table .. 'key')
need_string_array(table .. 'remotes')
end
2014-07-05 00:48:56 +00:00
end
local function check_group(prefix)
return function(k, _)
assert_uci_name(k)
local table = string.format('%s[%q].', prefix, k)
need_number(table .. 'limit', false)
need_table(table .. 'peers', check_peer(table .. 'peers'), false)
need_table(table .. 'groups', check_group(table .. 'groups'), false)
end
end
need_table('fastd_mesh_vpn.groups', check_group('fastd_mesh_vpn.groups'))
if need_table('fastd_mesh_vpn.bandwidth_limit', nil, false) then
need_boolean('fastd_mesh_vpn.bandwidth_limit.enabled', false)
need_number('fastd_mesh_vpn.bandwidth_limit.ingress', false)
need_number('fastd_mesh_vpn.bandwidth_limit.egress', false)
end