| #!/bin/sh |
| # |
| # osmo-ggsn This shell script takes care of starting and stopping |
| # osmo-ggsn. |
| # |
| # chkconfig: - 65 35 |
| # description: osmo-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/osmo-ggsn ]; then |
| . /etc/sysconfig/osmo-ggsn |
| fi |
| |
| # Check that networking is up. |
| [ ${NETWORKING} = "no" ] && exit 0 |
| |
| [ -f /usr/bin/osmo-ggsn ] || exit 0 |
| [ -f /etc/osmo-ggsn.cfg ] || exit 0 |
| |
| RETVAL=0 |
| prog="osmo-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/osmo-ggsn ]; then |
| mkdir /var/lib/osmo-ggsn |
| fi |
| |
| # Check for GTP restart counter |
| if [ ! -d /var/lib/osmo-ggsn/gsn_restart ]; then |
| echo 0 > /var/lib/osmo-ggsn/gsn_restart |
| fi |
| |
| |
| daemon /usr/bin/osmo-ggsn |
| RETVAL=$? |
| echo |
| [ $RETVAL -eq 0 ] && touch /var/lock/subsys/osmo-ggsn |
| return $RETVAL |
| } |
| |
| stop() { |
| # Stop daemons. |
| echo -n $"Shutting down $prog: " |
| killproc osmo-ggsn |
| RETVAL=$? |
| echo |
| [ $RETVAL = 0 ] && rm -f /var/lock/subsys/osmo-ggsn /var/run/osmo-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/osmo-ggsn ] ; then |
| stop |
| start |
| RETVAL=$? |
| fi |
| ;; |
| status) |
| status osmo-ggsn |
| RETVAL=$? |
| ;; |
| *) |
| echo $"Usage: $0 {start|stop|restart|condrestart|status}" |
| exit 1 |
| esac |
| |
| exit $RETVAL |
| |