summaryrefslogtreecommitdiff
path: root/package/network/ipv6
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2014-04-05 18:17:25 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2014-04-05 18:17:25 +0000
commita5dded6dadc2d5216ffe0545be62148afef305b1 (patch)
tree55ea567216dd516fa279764617237f6db28966f2 /package/network/ipv6
parentcae51353b4335ee4a5d2d5f1164e26376cc99492 (diff)
odhcp6c: Add renew handler for proto dhcpv6
Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@40386 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/network/ipv6')
-rwxr-xr-xpackage/network/ipv6/odhcp6c/files/dhcpv6.sh9
1 files changed, 9 insertions, 0 deletions
diff --git a/package/network/ipv6/odhcp6c/files/dhcpv6.sh b/package/network/ipv6/odhcp6c/files/dhcpv6.sh
index 9b6275e3f9..90a83718e5 100755
--- a/package/network/ipv6/odhcp6c/files/dhcpv6.sh
+++ b/package/network/ipv6/odhcp6c/files/dhcpv6.sh
@@ -5,6 +5,8 @@
init_proto "$@"
proto_dhcpv6_init_config() {
+ renew_handler=1
+
proto_config_add_string 'reqaddress:or("try","force","none")'
proto_config_add_string 'reqprefix:or("auto","no",range(0, 64))'
proto_config_add_string clientid
@@ -67,6 +69,13 @@ proto_dhcpv6_setup() {
$opts $iface
}
+proto_dhcpv6_renew() {
+ local interface="$1"
+ # SIGUSR1 forces odhcp6c to renew its lease
+ local sigusr1="$(kill -l SIGUSR1)"
+ [ -n "$sigusr1" ] && proto_kill_command "$interface" $sigusr1
+}
+
proto_dhcpv6_teardown() {
local interface="$1"
proto_kill_command "$interface"