#!/bin/sh
-# DHCP Server
+# DHCP relay agent
#
# chkconfig: 345 80 20
-# description: DHCP Relay
+# description: DHCP relay agent
# Source function library.
. /etc/rc.d/init.d/functions
# Check that networking is up.
if is_no "${NETWORKING}"; then
- msg_Network_Down "DHCP Realay"
+ msg_Network_Down "DHCP realay"
exit 1
fi
# See how we were called.
case "$1" in
start)
- msg_starting "DHCP Relay"
- daemon dhcrelay $OPTIONS $DHCP_SERVERS_IP
- touch /var/lock/subsys/dhcrelay
+ # Check if the service is already running?
+ if [ ! -f /var/lock/subsys/dhcrelay ]; then
+ msg_starting "DHCP relay"
+ daemon dhcrelay $OPTIONS $DHCP_SERVERS_IP
+ RETVAL=$?
+ [ $RETVAL -eq 0 ] && touch /var/lock/subsys/dhcrelay
+ else
+ msg_Already_Running "DHCP relay"
+ exit 1
;;
stop)
- msg_stopping "DHCP Relay"
+ msg_stopping "DHCP relay"
killproc dhcrelay
rm -f /var/lock/subsys/dhcrelay
;;
- restart)
+ restart|reload)
$0 stop
$0 start
;;
status dhcrelay
;;
*)
- msg_Usage "$0 {start|stop|restart|status}"
+ msg_Usage "$0 {start|stop|restart|reload|status}"
exit 1
esac
-exit 0
-
+exit $RETVAL
if [ ! -f /var/lock/subsys/dhcpd ]; then
msg_starting "DHCP Server"
daemon dhcpd $DHCPD_INTERFACES
+ RETVAL=$?
+ [ $RETVAL -eq 0 ] && touch /var/lock/subsys/dhcpd
else
msg_Already_Running DHCPD
exit 1
fi
- touch /var/lock/subsys/dhcpd
;;
stop)
msg_stopping "DHCP Server"
exit 1
esac
-exit 0
-
+exit $RETVAL