#!/bin/bash
#
# chkconfig: 2345 16 84
# description: A RIP routing engine for use with Zebra and IPv6
#
# processname: ripngd
# config: /etc/quagga/ripngd.conf

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

# Get network config
. /etc/sysconfig/network

# quagga command line options
. /etc/sysconfig/quagga

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

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

RETVAL=0
prog="ripngd"

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

exit $RETVAL
