1*4882a593Smuzhiyun#!/bin/sh 2*4882a593Smuzhiyun# 3*4882a593Smuzhiyun# $Id: dhcp3-relay,v 1.1 2004/04/16 15:41:08 ml Exp $ 4*4882a593Smuzhiyun# 5*4882a593Smuzhiyun 6*4882a593Smuzhiyun# What servers should the DHCP relay forward requests to? 7*4882a593Smuzhiyun# e.g: SERVERS="192.168.0.1" 8*4882a593SmuzhiyunSERVERS="" 9*4882a593Smuzhiyun 10*4882a593Smuzhiyun# On what interfaces should the DHCP relay (dhrelay) serve DHCP requests? 11*4882a593SmuzhiyunINTERFACES="" 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun# Additional options that are passed to the DHCP relay daemon? 14*4882a593SmuzhiyunOPTIONS="" 15*4882a593Smuzhiyun 16*4882a593Smuzhiyun# Read configuration variable file if it is present 17*4882a593SmuzhiyunCFG_FILE="/etc/default/dhcrelay" 18*4882a593Smuzhiyun[ -r "${CFG_FILE}" ] && . "${CFG_FILE}" 19*4882a593Smuzhiyun 20*4882a593Smuzhiyun# Sanity checks 21*4882a593Smuzhiyuntest -f /usr/sbin/dhcrelay || exit 0 22*4882a593Smuzhiyuntest -n "$INTERFACES" || exit 0 23*4882a593Smuzhiyuntest -n "$SERVERS" || exit 0 24*4882a593Smuzhiyun 25*4882a593Smuzhiyun# Build command line for interfaces (will be passed to dhrelay below.) 26*4882a593SmuzhiyunIFCMD="" 27*4882a593Smuzhiyunfor I in $INTERFACES; do 28*4882a593Smuzhiyun IFCMD=${IFCMD}"-i "${I}" " 29*4882a593Smuzhiyundone 30*4882a593Smuzhiyun 31*4882a593SmuzhiyunDHCRELAYPID=/var/run/dhcrelay.pid 32*4882a593Smuzhiyun 33*4882a593Smuzhiyuncase "$1" in 34*4882a593Smuzhiyun start) 35*4882a593Smuzhiyun printf "Starting DHCP relay: " 36*4882a593Smuzhiyun start-stop-daemon -S -q -x /usr/sbin/dhcrelay -- -q $OPTIONS $IFCMD $SERVERS 37*4882a593Smuzhiyun [ $? = 0 ] && echo "OK" || echo "FAIL" 38*4882a593Smuzhiyun ;; 39*4882a593Smuzhiyun stop) 40*4882a593Smuzhiyun printf "Stopping DHCP relay: " 41*4882a593Smuzhiyun start-stop-daemon -K -q -x /usr/sbin/dhcrelay 42*4882a593Smuzhiyun [ $? = 0 ] && echo "OK" || echo "FAIL" 43*4882a593Smuzhiyun ;; 44*4882a593Smuzhiyun restart | force-reload) 45*4882a593Smuzhiyun $0 stop 46*4882a593Smuzhiyun $0 start 47*4882a593Smuzhiyun ;; 48*4882a593Smuzhiyun *) 49*4882a593Smuzhiyun echo "Usage: $0 {start|stop|restart|force-reload}" 50*4882a593Smuzhiyun exit 1 51*4882a593Smuzhiyunesac 52*4882a593Smuzhiyun 53*4882a593Smuzhiyunexit 0 54