meta-sysmocom-bsp/recipes-extra/conntrack-tools/files/init

88 lines
2.0 KiB
Bash

#!/bin/sh
#
# /etc/init.d/conntrackd
#
# Maximilian Wilhelm <max@rfc2324.org>
# -- Mon, 06 Nov 2006 18:39:07 +0100
#
# Roman I Khimov <khimov@altell.ru>
# -- Tue, 27 Oct 2009 14:34:00 +0300
### BEGIN INIT INFO
# Provides: conntrackd
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Description: Starts conntrackd
# short-description: Starts conntrackd
### END INIT INFO
export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
NAME="conntrackd"
DAEMON="/usr/sbin/conntrackd"
CONFIG="/etc/conntrackd/conntrackd.conf"
PIDFILE="/var/run/${NAME}.pid"
# Gracefully exit if there is no daemon (debian way of life)
if [ ! -x "${DAEMON}" ]; then
exit 0
fi
# Check for config file
if [ ! -f /etc/conntrackd/conntrackd.conf ]; then
echo "Error: There is no config file for $NAME" >&2
exit 1;
fi
case "$1" in
start)
echo -n "Starting $NAME: "
for i in nf_conntrack_netlink nf_conntrack_netbios_ns nf_conntrack_proto_dccp nf_conntrack_tftp \
nf_conntrack_sane nf_conntrack_pptp nf_conntrack_irc nf_conntrack_amanda nf_conntrack_h323 \
nf_conntrack_proto_udplite nf_conntrack_proto_gre nf_conntrack_proto_sctp nf_conntrack_ftp \
nf_conntrack_sip; do
modprobe $i >/dev/null 2>/dev/null &
done
start-stop-daemon --start --quiet --make-pidfile --pidfile "/var/run/${NAME}.pid" --background --exec "${DAEMON}"
RET=$?
if [ "$?" = "0" ]; then
sleep 2
# Sync with other server
conntrackd -n
echo "done."
else
echo "FAILED!"
fi
exit $RET
;;
stop)
echo -n "Stopping $NAME:"
start-stop-daemon --stop --quiet --oknodo --pidfile "/var/run/${NAME}.pid" && echo "done." || echo "FAILED!"
;;
status)
echo -n "conntrackd "
start-stop-daemon -q -K -t -x $DAEMON
RET=$?
if [ "$RET" = "0" ]; then
PID=`cat $PIDFILE`
echo "($PID) is running"
else
echo "is not running"
exit $RET
fi
;;
restart)
$0 stop
$0 start
;;
*)
echo "Usage: /etc/init.d/conntrackd {start|stop|restart}"
exit 1
esac
exit 0