#!/bin/bash
#
# chkconfig: - 16 84
# description: An OSPF v2 routing engine for use with Zebra
#
# processname: ospfd
# config: /etc/quagga/ospfd.conf

# source function library
. /etc/rc.d/init.d/functions

# Get network config
. /etc/sysconfig/network

# Check that networking is up.
[ "${NETWORKING}" = "no" ] && exit 0

# The process must be configured first.
[ -f /etc/quagga/ospfd.conf ] || exit 0

RETVAL=0

prog="ospfd"

case "$1" in
  start)
	echo -n $"Starting $prog: "
        daemon /usr/sbin/ospfd -d
	RETVAL=$?
	[ $RETVAL -eq 0 ] && touch /var/lock/subsys/ospfd
	echo
	;;
  stop)
	echo -n $"Shutting down $prog: "
	killproc ospfd
	RETVAL=$?
	[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/ospfd
	echo
	;;
  restart|reload)
        $0 stop
        $0 start
	RETVAL=$?
        ;;
  condrestart)
        if [ -f /var/lock/subsys/ospfd ]; then
                $0 stop
		$0 start
        fi
	RETVAL=$?
        ;;
  status)
        status ospfd
	RETVAL=$?
        ;;
  *)
	echo $"Usage: $0 {start|stop|restart|reload|condrestart|status}"
	exit 1
esac

exit $RETVAL
