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

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

	for i in zebra bgpd ripd ospfd ripngd ospf6d isisd; 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