@ -16,7 +16,7 @@ proto_dhcpv6_init_config() {
proto_config_add_string 'forceprefix:bool'
proto_config_add_string 'extendprefix:bool'
proto_config_add_string 'norelease:bool'
proto_config_add_string 'ip6prefix:ip6addr '
proto_config_add_array 'ip6prefix:list(ip6addr) '
proto_config_add_string iface_dslite
proto_config_add_string zone_dslite
proto_config_add_string iface_map
@ -36,12 +36,17 @@ proto_dhcpv6_init_config() {
proto_config_add_int "ra_holdoff"
}
proto_dhcpv6_add_prefix( ) {
append " $3 " " $1 "
}
proto_dhcpv6_setup( ) {
local config = " $1 "
local iface = " $2 "
local reqaddress reqprefix clientid reqopts defaultreqopts noslaaconly forceprefix extendprefix norelease ip6prefix iface_dslite iface_map iface_464xlat ifaceid userclass vendorclass sendopts delegate zone_dslite zone_map zone_464xlat zone soltimeout fakeroutes sourcefilter keep_ra_dnslifetime ra_holdoff
json_get_vars reqaddress reqprefix clientid reqopts defaultreqopts noslaaconly forceprefix extendprefix norelease ip6prefix iface_dslite iface_map iface_464xlat ifaceid userclass vendorclass delegate zone_dslite zone_map zone_464xlat zone soltimeout fakeroutes sourcefilter keep_ra_dnslifetime ra_holdoff
local reqaddress reqprefix clientid reqopts defaultreqopts noslaaconly forceprefix extendprefix norelease ip6prefix ip6prefixes iface_dslite iface_map iface_464xlat ifaceid userclass vendorclass sendopts delegate zone_dslite zone_map zone_464xlat zone soltimeout fakeroutes sourcefilter keep_ra_dnslifetime ra_holdoff
json_get_vars reqaddress reqprefix clientid reqopts defaultreqopts noslaaconly forceprefix extendprefix norelease iface_dslite iface_map iface_464xlat ifaceid userclass vendorclass delegate zone_dslite zone_map zone_464xlat zone soltimeout fakeroutes sourcefilter keep_ra_dnslifetime ra_holdoff
json_for_each_item proto_dhcpv6_add_prefix ip6prefix ip6prefixes
# Configure
local opts = ""
@ -84,7 +89,7 @@ proto_dhcpv6_setup() {
append opts " -t ${ soltimeout :- 120 } "
[ -n " $ip6prefix " ] && proto_export " USERPREFIX= $ip6prefix "
[ -n " $ip6prefixes " ] && proto_export " USERPREFIX= $ip6prefixes "
[ -n " $iface_dslite " ] && proto_export " IFACE_DSLITE= $iface_dslite "
[ -n " $iface_map " ] && proto_export " IFACE_MAP= $iface_map "
[ -n " $iface_464xlat " ] && proto_export " IFACE_464XLAT= $iface_464xlat "