#!/bin/sh DAEMON=quagga DAEMON_CHECK=zebra . /etc/init.d/modlibrc case $1 in ""|load|start|restart) mkdir -p /tmp/flash/quagga mkdir -p /var/log/quagga RUN_MODSAVE=0 for daemon in zebra bgpd ripd ripngd ospfd ospf6d isisd; do CFGFILE="/tmp/flash/quagga/$daemon.conf" [ -e /tmp/flash/$daemon.conf ] && mv /tmp/flash/$daemon.conf $CFGFILE [ -x /usr/sbin/$daemon ] || continue daemonlist="$daemonlist $daemon" if [ ! -e $CFGFILE ]; then echo "Creating empty $CFGFILE" : > $CFGFILE RUN_MODSAVE=1 fi done [ $RUN_MODSAVE = 1 ] && /usr/bin/modsave flash ;; esac start() { echo -n 'Starting quagga:' BE_QUIET='yes' /etc/init.d/quagga start exitval=$? if [ "$exitval" -eq 0 ]; then echo ', done.' else echo ', failed.' return $exitval fi } stop() { BE_QUIET='yes' /etc/init.d/quagga stop exitval=$? echo -n ', ' return $exitval } case $1 in ""|load) modreg cgi 'quagga' 'Quagga' modreg daemon $DAEMON for daemon in $daemonlist; do modreg file quagga "${daemon}_conf" "Quagga - $daemon.conf" 0 "${daemon}_conf" done modlib_start $QUAGGA_ENABLED ;; unload) modunreg file quagga modunreg daemon $DAEMON modunreg cgi quagga modlib_stop ;; start) modlib_start ;; stop) modlib_stop ;; restart) modlib_restart ;; status) modlib_status ;; *) echo "Usage: $0 [load|unload|start|stop|restart|status]" 1>&2 exit 1 ;; esac exit 0