| #!/bin/sh |
| # |
| # $Id: dhcp3-relay,v 1.1 2004/04/16 15:41:08 ml Exp $ |
| # |
| |
| # What servers should the DHCP relay forward requests to? |
| # e.g: SERVERS="192.168.0.1" |
| SERVERS="" |
| |
| # On what interfaces should the DHCP relay (dhrelay) serve DHCP requests? |
| INTERFACES="" |
| |
| # Additional options that are passed to the DHCP relay daemon? |
| OPTIONS="" |
| |
| # Read configuration variable file if it is present |
| CFG_FILE="/etc/default/dhcrelay" |
| [ -r "${CFG_FILE}" ] && . "${CFG_FILE}" |
| |
| # Sanity checks |
| test -f /usr/sbin/dhcrelay || exit 0 |
| test -n "$INTERFACES" || exit 0 |
| test -n "$SERVERS" || exit 0 |
| |
| # Build command line for interfaces (will be passed to dhrelay below.) |
| IFCMD="" |
| for I in $INTERFACES; do |
| IFCMD=${IFCMD}"-i "${I}" " |
| done |
| |
| DHCRELAYPID=/var/run/dhcrelay.pid |
| |
| case "$1" in |
| start) |
| printf "Starting DHCP relay: " |
| start-stop-daemon -S -q -x /usr/sbin/dhcrelay -- -q $OPTIONS $IFCMD $SERVERS |
| [ $? = 0 ] && echo "OK" || echo "FAIL" |
| ;; |
| stop) |
| printf "Stopping DHCP relay: " |
| start-stop-daemon -K -q -x /usr/sbin/dhcrelay |
| [ $? = 0 ] && echo "OK" || echo "FAIL" |
| ;; |
| restart | force-reload) |
| $0 stop |
| $0 start |
| ;; |
| *) |
| echo "Usage: $0 {start|stop|restart|force-reload}" |
| exit 1 |
| esac |
| |
| exit 0 |