X-Git-Url: http://git.openwrt.org/?a=blobdiff_plain;f=package%2Fnetwork%2Fipv6%2Fodhcp6c%2Ffiles%2Fdhcpv6.sh;h=54e51065f65a79382d605999725fe6f26aa17095;hb=66222dd92b3bdb0f035a4ab0370796cfdcdf8593;hp=bc7f01d3220a20686ace80304a26e6f6daad11cf;hpb=d8acbb86a1002eb711bf624d9097057548723222;p=openwrt%2Fopenwrt.git diff --git a/package/network/ipv6/odhcp6c/files/dhcpv6.sh b/package/network/ipv6/odhcp6c/files/dhcpv6.sh index bc7f01d322..54e51065f6 100755 --- a/package/network/ipv6/odhcp6c/files/dhcpv6.sh +++ b/package/network/ipv6/odhcp6c/files/dhcpv6.sh @@ -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="" @@ -77,14 +82,14 @@ proto_dhcpv6_setup() { sendopts_cb() { local val="$1" - append opts "-x$val" + [ -n "$val" ] && append opts "-x$val" } json_for_each_item sendopts_cb sendopts 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"