Penguin
Note: You are viewing an old revision of this page. View the current version.

AlastairPorter is trying to write some RedHat init.d scripts for the MetaNet.

  1. /bin/sh

#

  1. Etud startup script for the Ethernet over UDP daemon

#

  1. Written by Daniel Lawson <daniel@meta.net.nz>
  2. Modified for Red Hat by Alastair Porter <alastair@wlug.org.nz>

# #

  1. Source function library.

. /etc/rc.d/init.d/functions

ETUDCONF=/usr/local/etc/etud.conf DAEMON=/usr/local/sbin/Etud

  1. ETUDCONF=/etc/wandclients/etud.conf
  2. DAEMON=/usr/sbin/Etud

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin NAME=Etud DESC="EtherneT over Udp Daemon" IP=/bin/ip

  1. Check for the Etud configuration file

if [ ! -f ${ETUDCONF}?; then

echo Could not find etud configuration file exit

fi

  1. Parameter defaults

IFNAME=wan0 CTRLFILE=/var/run/Etud.ctrl PIDFILE=/var/run/Etud.pid

  1. Retrieve the real values from the config file if they exist

while read parameter value do

if [ "$parameter" == "pidfile"?; then

PIDFILE=`echo "$value" | tr -d '"'`

elif [ "$parameter" == "ctrlfile"?; then

CTRLFILE=`echo "$value" | tr -d '"'`

elif [ "$parameter" == "ifname"?; then

IFNAME=`echo "$value" | tr -d '"'`

fi

done < $ETUDCONF

test -x $DAEMON || exit 0 ARGS="-f $ETUDCONF -p $PIDFILE"

set -e

case "$1" in start) echo -n "Starting Etud"

[ -e $CTRLFILE? && {

echo "" echo -n "Control file exists, checking to see if Etud lives? "

[ -e ${PIDFILE}? || {

echo "" echo "No pidfile present, exiting" exit 1;

}

  1. check that the pid in the pid file

[ x`cat ${PIDFILE}` == x`pidof ${NAME}`? && {

echo "... yes, aborting" exit 1;

} || {

echo "... no, removing" \rm ${CTRLFILE}

}

}

daemon $DAEMON $ARGS ifdown ${IFNAME} ifup ${IFNAME} echo ;;

stop)

echo -n "Stopping Etud " ifdown ${IFNAME}

  1. killproc Etud
  2. that should work (I think), but it doesn't... so: kill `cat /var/run/Etud.pid` echo ;;

restart|force-reload)

echo -n "Restarting $NAME" ifdown ${IFNAME}

  1. killproc Etud
  2. again... kill `cat /var/run/Etud.pid` sleep 1 daemon $DAEMON $ARGS ifup ${IFNAME} echo ;;
  • )

    echo "Usage: $0 {start|stop|restart|force-reload}" >&2 ;;

esac

Or here's one by GerwinVanDeSteeg which seems to work for Fedora Core 3.

/etc/sysconfig/wand

  1. Configuration for the wandd daemon for the MetaNet
  2. http://www.wlug.org.nz/MetaNet

EPORT=22222 WPORT=44444 SERVER=<the name of the server specified in wand.conf goes here> WANIF=wan0

/etc/init.d/wand

  1. /bin/sh

#

  1. wand

#

  1. chkconfig: - 21 79
  2. description: wand provides access to the MetaNet

#

  1. Source function library.

. /etc/init.d/functions

if [ ! -f /etc/sysconfig/network?; then

exit 0

fi

if [ ! -f /etc/sysconfig/wand?; then

exit 0

fi

. /etc/sysconfig/network . /etc/sysconfig/wand

ETUD=/usr/local/sbin/Etud ETUDCTL=/usr/local/sbin/Etudctl WAND=/usr/local/sbin/wand

start() {

echo -n $"Starting Etud: " daemon $ETUD -l $EPORT -p /var/run/Etud.pid [ "$?" -eq 0? && echo_success || echo_failure echo echo -n $"Bringing up interface $WANIF: " ifup $WANIF [ "$?" -eq 0? && echo_success || echo_failure echo echo -n $"Starting wand: " daemon $WAND -i $SERVER -l $WPORT [ "$?" -eq 0? && echo_success || echo_failure echo service zebra start service bgpd start

}

stop() {

service bgpd stop service zebra stop echo -n $"Shutting down wand: " killall wand [ "$?" -eq 0? && echo_success || echo_failure echo echo -n $"Shutting down Etud: " killall Etud [ "$?" -eq 0? && echo_success || echo_failure echo

} case $1 in

start)

start ;;

stop)

stop ;;

restart)

stop start ;;

status)

service bgpd status service zebra status status $ETUD

$ETUDCTL -l

status $WANDD ip route | grep zebra ;;

  • )

    echo $"Usage: $prog {start|stop|restart|status}" exit 1

esac

lib/BlockParser.php:505: Notice: Undefined property: _tight_top (...repeated 2 times)