X-Git-Url: http://git.openwrt.org/?a=blobdiff_plain;f=package%2Fnetwork%2Fipv6%2Fodhcp6c%2Ffiles%2Fdhcpv6.sh;h=0638d28f5f8532cd079d2ba1e29cf2c74bb1e4bc;hb=fd50416248add8012b0581fc3c28875c546c947b;hp=b2264ed907f3492083250107215b2e8a8eb4a7a9;hpb=ad93a571c6abb82d3ddcc9200388c7839712a0e5;p=openwrt%2Fstaging%2Flynxis%2Fomap.git diff --git a/package/network/ipv6/odhcp6c/files/dhcpv6.sh b/package/network/ipv6/odhcp6c/files/dhcpv6.sh index b2264ed907..0638d28f5f 100755 --- a/package/network/ipv6/odhcp6c/files/dhcpv6.sh +++ b/package/network/ipv6/odhcp6c/files/dhcpv6.sh @@ -10,16 +10,20 @@ proto_dhcpv6_init_config() { proto_config_add_string "clientid" proto_config_add_string "reqopts" proto_config_add_string "noslaaconly" + proto_config_add_string "forceprefix" proto_config_add_string "norelease" proto_config_add_string "ip6prefix" + proto_config_add_string "iface_dslite" + proto_config_add_string "ifaceid" + proto_config_add_string "sourcerouting" } proto_dhcpv6_setup() { local config="$1" local iface="$2" - local reqaddress reqprefix clientid reqopts noslaaconly norelease ip6prefix iface_dslite - json_get_vars reqaddress reqprefix clientid reqopts noslaaconly norelease ip6prefix iface_dslite + local reqaddress reqprefix clientid reqopts noslaaconly forceprefix norelease ip6prefix iface_dslite ifaceid sourcerouting + json_get_vars reqaddress reqprefix clientid reqopts noslaaconly forceprefix norelease ip6prefix iface_dslite ifaceid sourcerouting # Configure @@ -33,14 +37,19 @@ proto_dhcpv6_setup() { [ "$noslaaconly" = "1" ] && append opts "-S" + [ "$forceprefix" = "1" ] && append opts "-F" + [ "$norelease" = "1" ] && append opts "-k" + [ -n "$ifaceid" ] && append opts "-i$ifaceid" + for opt in $reqopts; do append opts "-r$opt" done [ -n "$ip6prefix" ] && proto_export "USERPREFIX=$ip6prefix" [ -n "$iface_dslite" ] && proto_export "IFACE_DSLITE=$iface_dslite" + [ "$sourcerouting" = "1" ] && proto_export "SOURCE_ROUTING=1" proto_export "INTERFACE=$config" proto_run_command "$config" odhcp6c \