@ -14,8 +14,8 @@ proto_tayga_setup() {
local iface = " $2 "
local iface = " $2 "
local link = " tayga- $cfg "
local link = " tayga- $cfg "
local ipv4_addr ipv6_addr prefix dynamic_pool ipaddr ip6addr
json_get_vars ipv4_addr ipv6_addr prefix dynamic_pool ipaddr ip6addr
local ipv4_addr ipv6_addr prefix dynamic_pool ipaddr ip6addr noroutes
json_get_vars ipv4_addr ipv6_addr prefix dynamic_pool ipaddr ip6addr noroutes
[ -z " $ipv4_addr " -o -z " $prefix " ] && {
[ -z " $ipv4_addr " -o -z " $prefix " ] && {
proto_notify_error " $cfg " "REQUIRED_PARAMETERS_MISSING"
proto_notify_error " $cfg " "REQUIRED_PARAMETERS_MISSING"
proto_block_restart " $cfg "
proto_block_restart " $cfg "
@ -49,16 +49,19 @@ proto_tayga_setup() {
[ -n " $ipaddr " ] && proto_add_ipv4_address " $ipaddr " "255.255.255.255"
[ -n " $ipaddr " ] && proto_add_ipv4_address " $ipaddr " "255.255.255.255"
[ -n " $ip6addr " ] && proto_add_ipv6_address " $ip6addr " "128"
[ -n " $ip6addr " ] && proto_add_ipv6_address " $ip6addr " "128"
[ -n " $ipv6_addr " ] && proto_add_ipv6_route " $ipv6_addr " "128"
[ -n " $dynamic_pool " ] && {
local pool = " ${ dynamic_pool %%/* } "
local mask = " ${ dynamic_pool ##*/ } "
proto_add_ipv4_route " $pool " " $mask "
}
[ -n " $prefix " ] && {
local prefix6 = " ${ prefix %%/* } "
local mask6 = " ${ prefix ##*/ } "
proto_add_ipv6_route " $prefix6 " " $mask6 "
[ " $noroutes " != 1 ] && {
[ -n " $ipv6_addr " ] && proto_add_ipv6_route " $ipv6_addr " "128"
[ -n " $dynamic_pool " ] && {
local pool = " ${ dynamic_pool %%/* } "
local mask = " ${ dynamic_pool ##*/ } "
proto_add_ipv4_route " $pool " " $mask "
}
[ -n " $prefix " ] && {
local prefix6 = " ${ prefix %%/* } "
local mask6 = " ${ prefix ##*/ } "
proto_add_ipv6_route " $prefix6 " " $mask6 "
}
}
}
proto_send_update " $cfg "
proto_send_update " $cfg "
@ -85,6 +88,7 @@ proto_tayga_init_config() {
proto_config_add_string "dynamic_pool"
proto_config_add_string "dynamic_pool"
proto_config_add_string "ipaddr"
proto_config_add_string "ipaddr"
proto_config_add_string "ip6addr:ip6addr"
proto_config_add_string "ip6addr:ip6addr"
proto_config_add_boolean "noroutes"
}
}
[ -n " $INCLUDE_ONLY " ] || {
[ -n " $INCLUDE_ONLY " ] || {