#!/bin/sh
#
# /etc/rc.d/rc.dhcpd
#      This shell script takes care of starting and stopping
#      the ISC DHCPD service
#

# Configure which interface or interfaces to for dhcpd to listen on.
# List all interfaces space separated. If this is not specified then
# we listen on all interfaces.
DHCPD_IFACE=""

# Insert any other dhcpd options - see the man page for a full list.
DHCPD_OPTS=""

SSD=/sbin/start-stop-daemon
PROG=/usr/sbin/dhcpd
PID=/run/dhcp/dhcpd$(echo $DHCPD_OPTS | grep -oP "(?<=-)6").pid

case $1 in
    start)
        $SSD --start --pidfile $PID --exec $PROG -u dhcp -g dhcp \
            -- $DHCPD_OPTS -q -pf $PID $DHCPD_IFACE
        ;;
    stop)
        $SSD --stop --retry 10 --pidfile $PID
        ;;
    restart)
        $0 stop
        $0 start
        ;;
    status)
        $SSD --status --pidfile $PID
        case $? in
        0) echo "$PROG is running with pid $(cat $PID)" ;;
        1) echo "$PROG is not running but the pid file $PID exists" ;;
        3) echo "$PROG is not running" ;;
        4) echo "Unable to determine the program status" ;;
        esac
        ;;
    *)
        echo "Usage: $0 [start|stop|restart|status]"
        ;;
esac

# End of file
