summaryrefslogtreecommitdiffstats
path: root/network/quagga/rc.watchquagga
blob: 4901da99a88158658e2666b654192e65baab7713 (plain)
#!/bin/sh

start() {
	if [ -x /usr/sbin/watchquagga ]; then

	for i in zebra bgpd isisd ospfd ospf6d pimd ripd ripngd nhrpd; do
	if [ -e /var/run/quagga/$i.pid ] ; then
	    WATCHSERVICES="${WATCHSERVICES} ${i}"
	fi
	done

	echo -n "Starting watchquagga:  "
	/usr/sbin/watchquagga -dz -R '/etc/rc.d/rc.quagga restart' $WATCHSERVICES || exit 1
	echo "done"
	fi
}

stop() {
	echo -n "Stopping watchquagga: "
	    killall watchquagga 2>/dev/null && echo -n "done" || echo -n "not started"
	echo
}

restart() {
	stop && sleep 2s && start
}

case "$1" in
	'start')
		start
		;;
	'stop')
		stop
		;;
	'restart')
		restart
		;;
	*)
		echo "usage $0 start|stop|restart"
esac