X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=dhcp-relay.init;h=a76b49d53b97a90fe6d6cf965e77a52eb526ef16;hb=8eb9d6a866742c82a19b71002fd8b767e2717909;hp=408c7fef175e81afb193185dfe1b3f47003db6cc;hpb=e3493220388f4594a9383b89191886895161af91;p=packages%2Fdhcp.git diff --git a/dhcp-relay.init b/dhcp-relay.init index 408c7fe..a76b49d 100644 --- a/dhcp-relay.init +++ b/dhcp-relay.init @@ -1,42 +1,70 @@ #!/bin/sh -# DHCP Server +# DHCP relay agent # -# chkconfig: 345 80 20 -# description: DHCP Relay +# chkconfig: 345 80 20 +# description: DHCP relay agent # Source function library. . /etc/rc.d/init.d/functions -if [ -f /etc/sysconfig/dhcrelay ]; then - . /etc/sysconfig/dhcrelay +# Source networking configuration. +. /etc/sysconfig/network + +# Demon specified configuration. +OPTIONS="" +. /etc/sysconfig/dhcp-relay + +# Check that networking is up. +if is_yes "${NETWORKING}"; then + if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then + msg_network_down "DHCP realay" + exit 1 + fi else exit 0 fi +if [ -n "DHCP_RELAY_INTERFACES" ]; then + for iface in $DHCP_RELAY_INTERFACES ; do + OPTIONS="$OPTIONS -i $iface" + done +fi +RETVAL=0 # See how we were called. case "$1" in start) - show Starting DHCP Relay - daemon dhcrelay $SERVER - touch /var/lock/subsys/dhcrelay + # Check if the service is already running? + if [ ! -f /var/lock/subsys/dhcp-relay ]; then + msg_starting "DHCP relay" + daemon dhcrelay $OPTIONS $DHCP_SERVERS_IP + RETVAL=$? + [ $RETVAL -eq 0 ] && touch /var/lock/subsys/dhcp-relay + else + msg_already_running "DHCP relay" + fi ;; stop) - show Stopping DHCP Relay - killproc dhrelay - rm -f /var/lock/subsys/dhcrelay + if [ -f /var/lock/subsys/dhcp-relay ]; then + msg_stopping "DHCP relay" + killproc dhcrelay + rm -f /var/lock/subsys/dhcp-relay + else + msg_not_running "DHCP relay" + fi ;; - restart) + restart|force-reload) $0 stop $0 start + exit $? ;; status) - status dhcpd + status dhcrelay + exit $? ;; *) - echo "Usage: $0 {start|stop|restart|status}" - exit 1 + msg_usage "$0 {start|stop|restart|force-reload|status}" + exit 3 esac -exit 0 - +exit $RETVAL