#!/bin/bash

# You can use this script to run iperf as tcp and udp.
# Copy and rename this script to /etc/rc.d/iperf-udp and copy config file to
# /etc/conf.d/iperf-udp and add -u to daemon options

. /etc/rc.conf
. /etc/rc.d/functions
[[ -r /etc/conf.d/${0##*/} ]] && . /etc/conf.d/${0##*/}

DAEMON=${DAEMON:-/usr/bin/iperf}
PIDFILE=${PIDFILE:-/run/${0##*/}.pid}
DAEMON_OPTS="--server $DAEMON_OPTS"

# check pid
[[ -r "$PIDFILE" ]] &&
	read PID < "$PIDFILE" && [[ -n $PID ]] && kill -0 $PID &>/dev/null || unset PID

case "$1" in
	start)
		stat_busy "Starting ${0##*/} daemon"
		[[ -z $PID ]] &&
			{ $DAEMON $DAEMON_OPTS </dev/null &>/dev/null & } &&
			echo "$!" > "$PIDFILE" &&
			disown %% &&
			add_daemon ${0##*/} &&
			stat_done &&
			exit 0
		stat_fail
	;;
  stop)
		stat_busy "Stopping ${0##*/} daemon"
		[[ -n $PID ]] && kill $PID &> /dev/null &&
			rm_daemon ${0##*/} &&
			rm -f "$PIDFILE" &&
			stat_done &&
			exit 0
		stat_fail
	;;
  restart)
		$0 stop
		$0 start
		exit 0
	;;
  *)
		echo "usage: ${0##*/} {start|stop|restart}" >&2
	;;
esac

exit 1

# vim:set ts=2 sw=2 ft=sh noet:
