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

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

# Get network config
. /etc/sysconfig/network

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

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

RETVAL=0
prog="ospf6d"

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

exit $RETVAL
