diff options
author | Peter Pentchev <roam@FreeBSD.org> | 2001-10-15 13:33:15 +0000 |
---|---|---|
committer | Peter Pentchev <roam@FreeBSD.org> | 2001-10-15 13:33:15 +0000 |
commit | 146a0de9e6befb06720d8d5f0e0a030e9d963a9a (patch) | |
tree | a7d5be97b01d1b992c1ec4d5054c3f88af93aad6 /net/isc-dhcp30-server/files/isc-dhcrelay.sh.sample | |
parent | bf6a3ff4259a772b345a3c71433cd4b92fb77627 (diff) |
Notes
Diffstat (limited to 'net/isc-dhcp30-server/files/isc-dhcrelay.sh.sample')
-rw-r--r-- | net/isc-dhcp30-server/files/isc-dhcrelay.sh.sample | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/net/isc-dhcp30-server/files/isc-dhcrelay.sh.sample b/net/isc-dhcp30-server/files/isc-dhcrelay.sh.sample new file mode 100644 index 000000000000..de5f111d133c --- /dev/null +++ b/net/isc-dhcp30-server/files/isc-dhcrelay.sh.sample @@ -0,0 +1,78 @@ +#! /bin/sh +# +# $FreeBSD$ +# +# Start or stop isc-dhcrelay. +# + +rc_file=${0##*/} +rc_arg=$1 + +# override these variables in ${PREFIX}/etc/rc.isc-dhcrelay.conf +dhcrelay_options= # command option(s) +dhcrelay_ifaces= # ethernet interface(s) +dhcrelay_servers= # dhcpd server(s) + +if ! PREFIX=$(expr $0 : "\(/.*\)/etc/rc\.d/${rc_file}\$"); then + echo "${rc_file}: Cannot determine PREFIX." >&2 + echo "Please use the complete pathname." >&2 + exit 64 +fi + +rcconf_dir=${PREFIX}/etc +rcconf_file=rc.${rc_file%.sh}.conf +rcconf_path=${rcconf_dir}/${rcconf_file} + +if [ -f ${rcconf_path} ]; then + . ${rcconf_path} +fi + +program_dir=${PREFIX}/sbin +program_file=dhcrelay +program_path=${program_dir}/${program_file} + +pid_dir=/var/run +pid_file=${program_file}.pid +pid_path=${pid_dir}/${pid_file} + +syslog_facility=daemon.err + +case "$rc_arg" in +start) + if [ ! -x ${program_path} ]; then + logger -sp ${syslog_facility} -t ${program_file} \ + "unable to start: ${program_path} is missing." + exit 72 + fi + if [ -z "${dhcrelay_servers}" ]; then + logger -sp ${syslog_facility} -t ${program_file} \ + "unable to start: no dhcpd server(s) configured." + exit 64 + fi + ifaces= + for iface in ${dhcrelay_ifaces}; do + ifaces="$ifaces -i $iface" + done + ${program_path} ${dhcrelay_options} ${ifaces} ${dhcrelay_servers} && + echo -n " ${program_file}" + ;; +stop) + if [ -r ${pid_path} ]; then + kill $(cat ${pid_path}) 2> /dev/null + else + killall ${program_file} 2> /dev/null + fi + ;; +restart) + $0 stop + $0 start + ;; +status) + ps -auxww | egrep ${program_file} | egrep -v "($0|egrep)" + ;; +*) + echo "usage: ${rc_file} {start|stop|restart|status}" >&2 + ;; +esac + +exit 0 |