#! /bin/sh
#
# $FreeBSD: ports/net/zebra-pj/files/zebractl.sh,v 1.9 2003/06/13 23:05:15 sumikawa Exp $
#
# zebra start/stop script by "Andreas Klemm <andreas@FreeBSD.ORG>"
#

usage()
{
	echo "$0: usage: $0 [zebra_dir] [ start | stop | restart ]"
	exit 1
}

if [ $# -lt 2 ]; then
	echo "$0: error: two arguments needed"; usage
elif [ $# -gt 2 ]; then
	echo "$0: error: only two arguments needed"; usage
fi

CONFIG_DIR=$1

OS=`uname -s`
RIPD="ripd"
RIPNGD="ripngd"
ZEBRA="zebra"

RIPDCONF="$CONFIG_DIR/ripd.conf"
RIPNGDCONF="$CONFIG_DIR/ripngd.conf"
ZEBRACONF="$CONFIG_DIR/zebra.conf"

case $2 in
	start)
		if [ ! -f $ZEBRACONF ]; then
			echo "error: zebra.conf config file is mandatory"
			exit 1
		fi
		[ -f  $ZEBRACONF ] && $ZEBRA -d -f $ZEBRACONF
		[ -f  $RIPDCONF ] && $RIPD -d -f $RIPDCONF
		[ -f  $RIPNGDCONF ] && $RIPNGD -d -f $RIPNGDCONF
		;;

	stop)
		[ -f $RIPDCONF ] && killall $RIPD
		[ -f $RIPNGDCONF ] && killall $RIPNGD
		[ -f $ZEBRACONF ] &&  killall $ZEBRA
		;;
	restart)
		$0 $CONFIG_DIR stop
		$0 $CONFIG_DIR start
		;;

	*)	echo "$0: error: unknown option $2"
		usage
		;;
esac
exit 0
