#!/bin/sh # # ggsn This shell script takes care of starting and stopping # ggsn. # # chkconfig: - 65 35 # description: ggsn is a Gateway GPRS Support Node. # Source function library. . /etc/rc.d/init.d/functions # Source networking configuration. . /etc/sysconfig/network if [ -f /etc/sysconfig/ggsn ]; then . /etc/sysconfig/ggsn fi # Check that networking is up. [ ${NETWORKING} = "no" ] && exit 0 [ -f /usr/bin/ggsn ] || exit 0 [ -f /etc/ggsn.conf ] || exit 0 RETVAL=0 prog="ggsn" start() { # Start daemons. echo -n $"Starting $prog: " # Load tun module /sbin/modprobe tun >/dev/null 2>&1 # Enable routing of packets: WARNING!!! # Users should enable this explicitly # echo 1 > /proc/sys/net/ipv4/ip_forward # Check for runtime directory of nonvolatile data if [ ! -d /var/lib/ggsn ]; then mkdir /var/lib/ggsn fi # Check for GTP restart counter if [ ! -d /var/lib/ggsn/gsn_restart ]; then echo 0 > /var/lib/ggsn/gsn_restart fi daemon /usr/bin/ggsn RETVAL=$? echo [ $RETVAL -eq 0 ] && touch /var/lock/subsys/ggsn return $RETVAL } stop() { # Stop daemons. echo -n $"Shutting down $prog: " killproc ggsn RETVAL=$? echo [ $RETVAL = 0 ] && rm -f /var/lock/subsys/ggsn /var/run/ggsn.pid return $RETVAL } # See how we were called. case "$1" in start) start ;; stop) stop ;; restart|reload) stop start RETVAL=$? ;; condrestart) if [ -f /var/lock/subsys/ggsn ] ; then stop start RETVAL=$? fi ;; status) status ggsn RETVAL=$? ;; *) echo $"Usage: $0 {start|stop|restart|condrestart|status}" exit 1 esac exit $RETVAL