#!/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
	
}