diff options
Diffstat (limited to 'meta-networking/recipes-protocols/quagga/files/quagga.init')
-rw-r--r-- | meta-networking/recipes-protocols/quagga/files/quagga.init | 200 |
1 files changed, 0 insertions, 200 deletions
diff --git a/meta-networking/recipes-protocols/quagga/files/quagga.init b/meta-networking/recipes-protocols/quagga/files/quagga.init deleted file mode 100644 index df1beb7123..0000000000 --- a/meta-networking/recipes-protocols/quagga/files/quagga.init +++ /dev/null @@ -1,200 +0,0 @@ -#!/bin/sh -# -# /etc/init.d/quagga -- start/stop the Quagga routing daemons -# -# Based on debian version by Endre Hirling <endre@mail.elte.hu> and -# Christian Hammers <ch@debian.org>. -# - -### BEGIN INIT INFO -# Provides: quagga -# Required-Start: $local_fs $network $remote_fs $syslog -# Required-Stop: $local_fs $network $remote_fs $syslog -# Default-Start: 2 3 4 5 -# Default-Stop: 0 1 6 -# Short-Description: start and stop the Quagga routing suite -# Description: Quagga is a routing suite for IP routing protocols like -# BGP, OSPF, RIP and others. This script contols the main -# daemon "quagga" as well as the individual protocol daemons. -### END INIT INFO - -# NOTE: sbin must be before bin so we get the iproute2 ip and not the -# busybox ip command. The busybox one flushes all routes instead of just -# the dynamic routes -PATH=/sbin:/usr/sbin:/bin:/usr/bin:/sbin -D_PATH=/usr/sbin -C_PATH=/etc/quagga - -# Keep zebra first and do not list watchquagga! -DAEMONS="zebra bgpd ripd ripngd ospfd ospf6d isisd" - -# Print the name of the pidfile. -pidfile() -{ - echo "/var/run/quagga/$1.pid" -} - -# Check if daemon is started by using the pidfile. -started() -{ - [ -e `pidfile $1` ] && kill -0 `cat \`pidfile $1\`` 2> /dev/null && return 0 - return 1 -} - -# Loads the config via vtysh -b if configured to do so. -vtysh_b () -{ - # Rember, that all variables have been incremented by 1 in convert_daemon_prios() - if [ "$vtysh_enable" = 2 -a -f $C_PATH/Quagga.conf ]; then - /usr/bin/vtysh -b - fi -} - -# Check if the daemon is activated and if its executable and config files -# are in place. -# params: daemon name -# returns: 0=ok, 1=error -check_daemon() -{ - # If the integrated config file is used the others are not checked. - if [ -r "$C_PATH/Quagga.conf" ]; then - return 0 - fi - - # check for config file - if [ ! -r "$C_PATH/$1.conf" ]; then - return 1 - fi - return 0 -} - -# Starts the server if it's not alrady running according to the pid file. -# The Quagga daemons creates the pidfile when starting. -start() -{ - if ! check_daemon $1; then echo -n " (!$1)"; return; fi - echo -n " $1" - start-stop-daemon \ - --start \ - --pidfile=`pidfile $1` \ - --exec "$D_PATH/$1" \ - -- \ - `eval echo "$""$1""_options"` - -} - -# Stop the daemon given in the parameter, printing its name to the terminal. -stop() -{ - if ! started "$1" ; then - echo -n " (!$1)" - return 0 - else - PIDFILE=`pidfile $1` - PID=`cat $PIDFILE 2>/dev/null` - start-stop-daemon --stop --quiet --exec "$D_PATH/$1" - # - # Now we have to wait until $DAEMON has _really_ stopped. - # - if test -n "$PID" && kill -0 $PID 2>/dev/null; then - echo -n " (waiting) ." - cnt=0 - while kill -0 $PID 2>/dev/null; do - cnt=`expr $cnt + 1` - if [ $cnt -gt 60 ]; then - # Waited 120 secs now, fail. - echo -n "Failed.. " - break - fi - sleep 2 - echo -n "." - done - fi - echo -n " $1" - rm -f `pidfile $1` - fi -} - -stop_all() -{ - local daemon_list - daemon_list=${1:-$DAEMONS} - - echo -n "Stopping Quagga daemons:" - for daemon_name in $daemon_list; do - stop "$daemon_name" - done - echo "." -} - -start_all() -{ - local daemon_list - daemon_list=${1:-$DAEMONS} - - echo -n "Starting Quagga daemons:" - for daemon_name in $daemon_list; do - start "$daemon_name" - done - echo "." -} - -status_all() -{ - local daemon_list - daemon_list=${1:-$DAEMONS} - res=1 - - echo -n "quagga: " - for daemon_name in $daemon_list; do - if started "$daemon_name" ; then - id=`cat \`pidfile $daemon_name\`` - echo -n "$daemon_name (pid $id) " - res=0 - fi - done - if [ $res -eq 0 ]; then - echo "is running..." - else - echo "is stopped..." - fi - exit $res -} - -######################################################### -# Main program # -######################################################### - -# Load configuration -test -f /etc/default/quagga && . /etc/default/quagga - -case "$1" in - start) - cd $C_PATH/ - start_all $2 - vtysh_b - ;; - - stop) - stop_all $2 - echo "Removing all routes made by zebra." - ip route flush proto zebra - ;; - - status) - status_all $2 - ;; - - restart|force-reload) - $0 stop $2 - sleep 1 - $0 start $2 - ;; - - *) - echo "Usage: /etc/init.d/quagga {start|stop|restart|status|force-reload} [daemon]" - exit 1 - ;; -esac - -exit 0 |