diff options
Diffstat (limited to 'app-admin/google-compute-engine/files/sysvinit/google-ip-forwarding-daemon-20160803')
-rw-r--r-- | app-admin/google-compute-engine/files/sysvinit/google-ip-forwarding-daemon-20160803 | 107 |
1 files changed, 107 insertions, 0 deletions
diff --git a/app-admin/google-compute-engine/files/sysvinit/google-ip-forwarding-daemon-20160803 b/app-admin/google-compute-engine/files/sysvinit/google-ip-forwarding-daemon-20160803 new file mode 100644 index 0000000..6aefc0b --- /dev/null +++ b/app-admin/google-compute-engine/files/sysvinit/google-ip-forwarding-daemon-20160803 @@ -0,0 +1,107 @@ +#!/bin/sh +# Copyright 2016 Google Inc. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +### BEGIN INIT INFO +# Provides: google_ip_forwarding_daemon +# Required-Start: $network $syslog $google_instance_setup +# $google_network_setup +# Required-Stop: $network +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Google Compute Engine IP Forwarding Daemon +# Description: Manages IP forwarding. +### END INIT INFO + +# Do NOT "set -e". + +NAME=google-ip-forwarding-daemon +DAEMON=/usr/bin/google_ip_forwarding_daemon +PIDFILE=/var/run/$NAME.pid +SCRIPTNAME=/etc/init.d/$NAME + +# Exit if the package is not installed. +[ -x "$DAEMON" ] || exit 0 + +# Load the rcS variables. +. /lib/init/vars.sh + +# Depend on lsb-base (>= 3.2-14) to ensure that this file is present +# and status_of_proc is working. +. /lib/lsb/init-functions + +# +# Function that starts the daemon/service. +# +do_start() +{ + start-stop-daemon \ + --background \ + --exec $DAEMON \ + --make-pidfile \ + --pidfile $PIDFILE \ + --quiet \ + --start > /dev/null +} + +# +# Function that stops the daemon/service. +# +do_stop() +{ + start-stop-daemon \ + --exec $DAEMON \ + --pidfile $PIDFILE \ + --quiet \ + --retry=TERM/30/KILL/5 \ + --stop > /dev/null + + # Wait for children to finish too if this is a daemon that forks + # and if the daemon is only ever run from this initscript. + # If the above conditions are not satisfied then add some other code + # that waits for the process to drop all resources that could be + # needed by services started subsequently. A last resort is to + # sleep for some time. + start-stop-daemon \ + --exec $DAEMON \ + --oknodo \ + --quiet \ + --retry=0/30/KILL/5 \ + --stop > /dev/null + + # Delete the pidfile when the daemon exits. + rm -f $PIDFILE +} + +case "$1" in + start) + do_start + ;; + stop) + do_stop + ;; + status) + status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $? + ;; + restart|force-reload) + do_stop + do_start + ;; + *) + echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2 + exit 1 + ;; +esac + +: |