Penguin
Diff: RedHatMetaNetScripts
EditPageHistoryDiffInfoLikePages

Differences between current version and predecessor to the previous major change of RedHatMetaNetScripts.

Other diffs: Previous Revision, Previous Author, or view the Annotated Edit History

Newer page: version 7 Last edited on Friday, March 4, 2005 11:20:52 am by JohnMcPherson
Older page: version 3 Last edited on Sunday, August 31, 2003 3:07:42 pm by CraigBox Revert
@@ -1,103 +1,203 @@
- AlastairPorter is trying to write some RedHat init.d scripts for the MetaNet. 
+AlastairPorter is trying to write some RedHat init.d scripts for the MetaNet. 
  
- #!/bin/sh  
- #  
- # Etud startup script for the Ethernet over UDP daemon  
- #  
- # Written by Daniel Lawson <daniel@meta.net.nz>  
- # Modified for Red Hat by Alastair Porter <alastair@wlug.org.nz>  
- #  
- #  
- # Source function library.  
- . /etc/rc.d/init.d/functions  
  
- ETUDCONF= /usr /local/etc/etud.conf  
- DAEMON=/usr/local/sbin/ Etud  
- #ETUDCONF=/etc/wandclients/etud .conf  
- #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  
+<verbatim>  
+#! /bin /sh  
+#  
+# Etud startup script for the Ethernet over UDP daemon  
+#  
+# Written by Daniel Lawson <daniel@meta.net .nz>  
+# Modified for Red Hat by Alastair Porter <alastair@wlug.org.nz>  
+#  
+#  
+# Source function library.  
+. /etc/rc.d/init.d /functions  
  
- # Check for the Etud configuration file  
- if [[ ! -f ${ ETUDCONF} ]; then  
- echo Could not find etud configuration file  
- exit  
- fi  
+ETUDCONF=/usr/local/etc/etud.conf  
+DAEMON=/usr/local/sbin/ Etud  
+# ETUDCONF=/etc/wandclients/ etud.conf  
+#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  
  
- # Parameter defaults  
- IFNAME=wan0  
- CTRLFILE=/var/run/ Etud.ctrl  
- PIDFILE=/var/run/Etud.pid  
- # 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  
+# Check for the Etud configuration file  
+if [ ! -f ${ETUDCONF} ]; then  
+ echo Could not find etud configuration file  
+ exit  
+fi 
  
- test -x $DAEMON || exit  
- ARGS ="-f $ETUDCONF -p $PIDFILE
+# Parameter defaults  
+IFNAME=wan0  
+CTRLFILE=/var/run/Etud.ctrl  
+PIDFILE=/var/run/Etud.pid  
+# 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  
  
- set -e  
+test -x $DAEMON || exit  
+ARGS="-f $ETUDCONF -p $PIDFILE"  
  
- case "$1" in  
- start)  
- echo -n "Starting Etud"  
- [[ -e $CTRLFILE ] && {  
- echo ""  
- echo -n "Control file exists, checking to see if Etud lives? "  
+set -e 
  
- [[ -e ${PIDFILE} ] || {  
- echo " "  
- echo "No pidfile present, exiting "  
- exit 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}  
- }  
+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;  
+ }  
+ # 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}  
- # killproc Etud  
- # that should work (I think), but it doesn't... so:  
- kill `cat /var/run/Etud.pid`  
- echo  
- ;; 
+ daemon $DAEMON $ARGS  
+ ifdown ${IFNAME}  
+ ifup ${IFNAME}  
+ echo  
+ ;; 
  
- restart|force-reload )  
- echo -n "Restarting $NAME "  
- ifdown ${IFNAME}  
- # killproc Etud  
- # again ...  
- kill `cat /var/run/Etud.pid`  
- sleep 1  
- daemon $DAEMON $ARGS  
- ifup ${IFNAME}  
- echo  
- ;;  
- *)  
- echo "Usage: $0 {start|stop|restart|force-reload}" >&2  
- ;; 
+stop )  
+ echo -n "Stopping Etud "  
+ ifdown ${IFNAME}  
+# killproc Etud  
+# that should work (I think), but it doesn't ... so:  
+ kill `cat /var/run/Etud.pid`  
+ echo  
+ ;; 
  
- esac 
+restart|force-reload)  
+ echo -n "Restarting $NAME"  
+ ifdown ${IFNAME}  
+# killproc Etud  
+# 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  
+</verbatim>  
+  
+Or here's one by [GerwinVanDeSteeg] which seems to work for Fedora Core 3.  
+  
+<tt>/etc/sysconfig/wand</tt>:  
+ <verbatim>  
+ # Configuration for the wandd daemon for the MetaNet  
+ # http://www.wlug.org.nz/MetaNet  
+  
+ EPORT=22222  
+ WPORT=44444  
+ SERVER=<the name of the server specified in wand.conf goes here>  
+ WANIF=wan0  
+ </verbatim>  
+  
+<tt>/etc/init.d/wand</tt>:  
+ <verbatim>  
+ #! /bin/sh  
+ #  
+ # wand  
+ #  
+ # chkconfig: - 21 79  
+ # description: wand provides access to the MetaNet  
+ #  
+  
+ # Source function library.  
+ . /etc/init.d/functions  
+  
+ if [ ! -f /etc/sysconfig/network ]; then  
+ exit  
+ fi  
+  
+ if [ ! -f /etc/sysconfig/wand ]; then  
+ exit  
+ 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  
+ </verbatim>