Penguin
Blame: RedHatMetaNetScripts
EditPageHistoryDiffInfoLikePages
Annotated edit history of RedHatMetaNetScripts version 7, including all changes. View license author blame.
Rev Author # Line
5 AristotlePagaltzis 1 AlastairPorter is trying to write some RedHat init.d scripts for the MetaNet.
7 JohnMcPherson 2
1 AlastairPorter 3
5 AristotlePagaltzis 4 <verbatim>
5 #!/bin/sh
6 #
7 # Etud startup script for the Ethernet over UDP daemon
8 #
9 # Written by Daniel Lawson <daniel@meta.net.nz>
10 # Modified for Red Hat by Alastair Porter <alastair@wlug.org.nz>
11 #
12 #
13 # Source function library.
14 . /etc/rc.d/init.d/functions
1 AlastairPorter 15
5 AristotlePagaltzis 16 ETUDCONF=/usr/local/etc/etud.conf
17 DAEMON=/usr/local/sbin/Etud
18 #ETUDCONF=/etc/wandclients/etud.conf
19 #DAEMON=/usr/sbin/Etud
20 PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
21 NAME=Etud
22 DESC="EtherneT over Udp Daemon"
23 IP=/bin/ip
1 AlastairPorter 24
5 AristotlePagaltzis 25 # Check for the Etud configuration file
6 AristotlePagaltzis 26 if [ ! -f ${ETUDCONF} ]; then
5 AristotlePagaltzis 27 echo Could not find etud configuration file
28 exit
29 fi
1 AlastairPorter 30
5 AristotlePagaltzis 31 # Parameter defaults
32 IFNAME=wan0
33 CTRLFILE=/var/run/Etud.ctrl
34 PIDFILE=/var/run/Etud.pid
35 # Retrieve the real values from the config file if they exist
36 while read parameter value
37 do
6 AristotlePagaltzis 38 if [ "$parameter" == "pidfile" ]; then
39 PIDFILE=`echo "$value" | tr -d '"'`
40 elif [ "$parameter" == "ctrlfile" ]; then
5 AristotlePagaltzis 41 CTRLFILE=`echo "$value" | tr -d '"'`
6 AristotlePagaltzis 42 elif [ "$parameter" == "ifname" ]; then
5 AristotlePagaltzis 43 IFNAME=`echo "$value" | tr -d '"'`
44 fi
45 done < $ETUDCONF
1 AlastairPorter 46
5 AristotlePagaltzis 47 test -x $DAEMON || exit 0
48 ARGS="-f $ETUDCONF -p $PIDFILE"
1 AlastairPorter 49
5 AristotlePagaltzis 50 set -e
1 AlastairPorter 51
5 AristotlePagaltzis 52 case "$1" in
53 start)
54 echo -n "Starting Etud"
6 AristotlePagaltzis 55 [ -e $CTRLFILE ] && {
5 AristotlePagaltzis 56 echo ""
57 echo -n "Control file exists, checking to see if Etud lives? "
1 AlastairPorter 58
6 AristotlePagaltzis 59 [ -e ${PIDFILE} ] || {
5 AristotlePagaltzis 60 echo ""
61 echo "No pidfile present, exiting"
62 exit 1;
63 }
64 # check that the pid in the pid file
6 AristotlePagaltzis 65 [ x`cat ${PIDFILE}` == x`pidof ${NAME}` ] && {
5 AristotlePagaltzis 66 echo "... yes, aborting"
67 exit 1;
68 } || {
69 echo "... no, removing"
70 \rm ${CTRLFILE}
71 }
1 AlastairPorter 72
5 AristotlePagaltzis 73 }
1 AlastairPorter 74
5 AristotlePagaltzis 75 daemon $DAEMON $ARGS
76 ifdown ${IFNAME}
77 ifup ${IFNAME}
78 echo
79 ;;
1 AlastairPorter 80
5 AristotlePagaltzis 81 stop)
82 echo -n "Stopping Etud "
83 ifdown ${IFNAME}
84 # killproc Etud
85 # that should work (I think), but it doesn't... so:
86 kill `cat /var/run/Etud.pid`
87 echo
88 ;;
1 AlastairPorter 89
5 AristotlePagaltzis 90 restart|force-reload)
91 echo -n "Restarting $NAME"
92 ifdown ${IFNAME}
93 # killproc Etud
94 # again...
95 kill `cat /var/run/Etud.pid`
96 sleep 1
97 daemon $DAEMON $ARGS
98 ifup ${IFNAME}
99 echo
100 ;;
101 *)
102 echo "Usage: $0 {start|stop|restart|force-reload}" >&2
103 ;;
1 AlastairPorter 104
5 AristotlePagaltzis 105 esac
106 </verbatim>
4 GerwinVanDeSteeg 107
108 Or here's one by [GerwinVanDeSteeg] which seems to work for Fedora Core 3.
109
5 AristotlePagaltzis 110 <tt>/etc/sysconfig/wand</tt>:
111 <verbatim>
112 # Configuration for the wandd daemon for the MetaNet
113 # http://www.wlug.org.nz/MetaNet
4 GerwinVanDeSteeg 114
5 AristotlePagaltzis 115 EPORT=22222
116 WPORT=44444
117 SERVER=<the name of the server specified in wand.conf goes here>
118 WANIF=wan0
119 </verbatim>
4 GerwinVanDeSteeg 120
5 AristotlePagaltzis 121 <tt>/etc/init.d/wand</tt>:
122 <verbatim>
123 #! /bin/sh
124 #
125 # wand
126 #
127 # chkconfig: - 21 79
128 # description: wand provides access to the MetaNet
129 #
4 GerwinVanDeSteeg 130
5 AristotlePagaltzis 131 # Source function library.
132 . /etc/init.d/functions
4 GerwinVanDeSteeg 133
6 AristotlePagaltzis 134 if [ ! -f /etc/sysconfig/network ]; then
5 AristotlePagaltzis 135 exit 0
136 fi
4 GerwinVanDeSteeg 137
6 AristotlePagaltzis 138 if [ ! -f /etc/sysconfig/wand ]; then
5 AristotlePagaltzis 139 exit 0
140 fi
4 GerwinVanDeSteeg 141
5 AristotlePagaltzis 142 . /etc/sysconfig/network
143 . /etc/sysconfig/wand
4 GerwinVanDeSteeg 144
5 AristotlePagaltzis 145 ETUD=/usr/local/sbin/Etud
146 ETUDCTL=/usr/local/sbin/Etudctl
147 WAND=/usr/local/sbin/wand
4 GerwinVanDeSteeg 148
5 AristotlePagaltzis 149 start()
150 {
151 echo -n $"Starting Etud: "
152 daemon $ETUD -l $EPORT -p /var/run/Etud.pid
6 AristotlePagaltzis 153 [ "$?" -eq 0 ] && echo_success || echo_failure
5 AristotlePagaltzis 154 echo
155 echo -n $"Bringing up interface $WANIF: "
156 ifup $WANIF
6 AristotlePagaltzis 157 [ "$?" -eq 0 ] && echo_success || echo_failure
5 AristotlePagaltzis 158 echo
159 echo -n $"Starting wand: "
160 daemon $WAND -i $SERVER -l $WPORT
6 AristotlePagaltzis 161 [ "$?" -eq 0 ] && echo_success || echo_failure
5 AristotlePagaltzis 162 echo
163 service zebra start
164 service bgpd start
165 }
4 GerwinVanDeSteeg 166
5 AristotlePagaltzis 167 stop()
168 {
169 service bgpd stop
170 service zebra stop
171 echo -n $"Shutting down wand: "
172 killall wand
6 AristotlePagaltzis 173 [ "$?" -eq 0 ] && echo_success || echo_failure
5 AristotlePagaltzis 174 echo
175 echo -n $"Shutting down Etud: "
176 killall Etud
6 AristotlePagaltzis 177 [ "$?" -eq 0 ] && echo_success || echo_failure
5 AristotlePagaltzis 178 echo
179 }
180 case $1 in
181 start)
182 start
183 ;;
184 stop)
185 stop
186 ;;
187 restart)
188 stop
189 start
190 ;;
191 status)
192 service bgpd status
193 service zebra status
194 status $ETUD
195 $ETUDCTL -l
196 status $WANDD
197 ip route | grep zebra
198 ;;
199 *)
200 echo $"Usage: $prog {start|stop|restart|status}"
201 exit 1
202 esac
203 </verbatim>