From dba5a062858f4989bcb7c4bd0bb3ca1f27b93f14 Mon Sep 17 00:00:00 2001 From: Martin Winter Date: Wed, 12 Aug 2015 17:31:07 -0700 Subject: [PATCH] Adding redhat init/service files to start pimd Added missing pimd.init (for RedHat/CentOS <= 6) and pimd.service (for RedHat/CentOS >= 7) Signed-off-by: Martin Winter (cherry picked from commit fca2c24ff21a9d837229bc40e462c6615e368123) --- redhat/Makefile.am | 2 +- redhat/pimd.init | 72 +++++++++++++++++++++++++++++++++++++++++++++ redhat/pimd.service | 14 +++++++++ 3 files changed, 87 insertions(+), 1 deletion(-) create mode 100644 redhat/pimd.init create mode 100644 redhat/pimd.service diff --git a/redhat/Makefile.am b/redhat/Makefile.am index 9612e91484..94c8db03a6 100644 --- a/redhat/Makefile.am +++ b/redhat/Makefile.am @@ -3,4 +3,4 @@ EXTRA_DIST = bgpd.init bgpd.service isisd.init \ isisd.service ospf6d.init ospf6d.service ospfd.init ospfd.service \ quagga.logrotate quagga.pam quagga.pam.stack quagga.spec \ quagga.sysconfig ripd.init ripd.service ripngd.init ripngd.service \ - watchquagga.init zebra.init zebra.service + watchquagga.init pimd.init pimd.service zebra.init zebra.service diff --git a/redhat/pimd.init b/redhat/pimd.init new file mode 100644 index 0000000000..49f90755d2 --- /dev/null +++ b/redhat/pimd.init @@ -0,0 +1,72 @@ +#!/bin/bash +# chkconfig: - 16 84 +# config: /etc/quagga/pimd.conf + +### BEGIN INIT INFO +# Provides: pimd +# Short-Description: PIM multicast routing engine +# Description: PIM routing engine for use with Zebra +### END INIT INFO + +# source function library +. /etc/rc.d/init.d/functions + +# Get network config +. /etc/sysconfig/network + +# quagga command line options +. /etc/sysconfig/quagga + +RETVAL=0 +PROG="pimd" +cmd=pimd +LOCK_FILE=/var/lock/subsys/pimd +CONF_FILE=/etc/quagga/pimd.conf + +case "$1" in + start) + # Check that networking is up. + [ "${NETWORKING}" = "no" ] && exit 1 + + # The process must be configured first. + [ -f $CONF_FILE ] || exit 6 + if [ `id -u` -ne 0 ]; then + echo $"Insufficient privilege" 1>&2 + exit 4 + fi + + echo -n $"Starting $PROG: " + daemon $cmd -d $PIMD_OPTS -f $CONF_FILE + RETVAL=$? + [ $RETVAL -eq 0 ] && touch $LOCK_FILE + echo + ;; + stop) + echo -n $"Shutting down $PROG: " + killproc $cmd + RETVAL=$? + [ $RETVAL -eq 0 ] && rm -f $LOCK_FILE + echo + ;; + restart|reload|force-reload) + $0 stop + $0 start + RETVAL=$? + ;; + condrestart|try-restart) + if [ -f $LOCK_FILE ]; then + $0 stop + $0 start + fi + RETVAL=$? + ;; + status) + status $cmd + RETVAL=$? + ;; + *) + echo $"Usage: $0 {start|stop|restart|reload|force-reload|condrestart|try-restart|status}" + exit 2 +esac + +exit $RETVAL diff --git a/redhat/pimd.service b/redhat/pimd.service new file mode 100644 index 0000000000..d62fe64880 --- /dev/null +++ b/redhat/pimd.service @@ -0,0 +1,14 @@ +[Unit] +Description=PIM multicast routing engine +BindTo=zebra.service +After=syslog.target network.target zebra.service +ConditionPathExists=/etc/quagga/pimd.conf + +[Service] +Type=forking +EnvironmentFile=/etc/sysconfig/quagga +ExecStart=/usr/sbin/pimd -d $PIMD_OPTS -f /etc/quagga/pimd.conf +Restart=on-abort + +[Install] +WantedBy=network.target -- 2.39.5