[packages] wide-dhcpv6: use network.sh to find devices
[packages.git] / ipv6 / wide-dhcpv6 / files / dhcp6s.init
1 #!/bin/sh /etc/rc.common
2 # Copyright (C) 2010-2012 OpenWrt.org
3
4 SERVICE_USE_PID=1
5
6 start() {
7         [ ! -e /etc/dhcp6sctlkey ] && `dd if=/dev/urandom count=1 2> /dev/null | md5sum | cut -d" " -f1 > /etc/dhcp6sctlkey`
8
9         [ -e /var/run/dhcp6s.pid ] && return 0
10
11         . /lib/functions/network.sh
12
13         config_load "dhcp6s"
14
15         local enabled
16         config_get_bool enabled basic enabled 0
17         [ $enabled -eq 0 ] && return 0
18
19         logger starting dhcp6s
20
21         local server_interface server_ifname
22         config_get server_interface basic interface
23         network_get_device server_ifname "$server_interface" || return 1
24
25         local config_file
26         config_get config_file basic config_file
27
28         [ ! -e $config_file ] && return 1
29
30         service_start /usr/sbin/dhcp6s -c $config_file $server_ifname
31 }
32
33 stop() {
34         logger stopping dhcp6s
35         service_stop /usr/sbin/dhcp6s
36 }
37