51 lines
883 B
Plaintext
Raw Normal View History

#!/bin/sh /etc/rc.common
get_ifname() {
local interface=$1
local ifname
scan_interfaces
config_get ifname "$interface" ifname
printf '%s\n' "$ifname"
return 0
}
start() {
[ ! -e /etc/dhcp6sctlkey ] && `dd if=/dev/urandom count=1 2> /dev/null | md5sum | cut -d" " -f1 > /etc/dhcp6sctlkey`
[ -e /var/run/dhcp6s.pid ] && return 0
include /lib/network
config_load "dhcp6s"
local enabled
config_get_bool enabled basic enabled 0
[ $enabled -eq 0 ] && return 0
logger starting dhcp6s
local server_interface
config_get server_interface basic interface
local server_ifname=$(get_ifname "$server_interface")
local config_file
config_get config_file basic config_file
[ ! -e $config_file ] && return 1
/usr/sbin/dhcp6s -c $config_file $server_ifname
return 0
}
stop() {
logger stopping dhcp6s
kill -TERM `cat /var/run/dhcp6s.pid`
return 0
}