summaryrefslogtreecommitdiff
path: root/redhat
diff options
context:
space:
mode:
authorDavid Ward <david.ward@ll.mit.edu>2012-04-29 16:47:08 -0400
committerDavid Lamparter <equinox@diac24.net>2012-05-01 17:51:26 +0200
commit4b5a2103b7d03b9209cfa3668d9cebead697bc82 (patch)
tree7b7114210e3eedb9987f837c77d8a4121d495973 /redhat
parenta41242bed823db77186ed7d11953cffaa0c3b733 (diff)
redhat: add systemd service files
* redhat/*.service: add systemd service file for each routing daemon * redhat/quagga.sysconfig: add comment about watchquagga and systemd * redhat/Makefile.am: add systemd service files to distribution Signed-off-by: David Ward <david.ward@ll.mit.edu> Signed-off-by: David Lamparter <equinox@diac24.net>
Diffstat (limited to 'redhat')
-rw-r--r--redhat/Makefile.am8
-rw-r--r--redhat/babeld.service14
-rw-r--r--redhat/bgpd.service14
-rw-r--r--redhat/isisd.service14
-rw-r--r--redhat/ospf6d.service14
-rw-r--r--redhat/ospfd.service14
-rw-r--r--redhat/quagga.sysconfig7
-rw-r--r--redhat/ripd.service14
-rw-r--r--redhat/ripngd.service14
-rw-r--r--redhat/zebra.service14
10 files changed, 123 insertions, 4 deletions
diff --git a/redhat/Makefile.am b/redhat/Makefile.am
index e037ec57..c83e9591 100644
--- a/redhat/Makefile.am
+++ b/redhat/Makefile.am
@@ -1,4 +1,6 @@
-EXTRA_DIST = quagga.pam quagga.sysconfig quagga.spec quagga.logrotate \
- zebra.init ripd.init ospfd.init ripngd.init ospf6d.init bgpd.init \
- isisd.init babeld.init watchquagga.init quagga.pam.stack
+EXTRA_DIST = babeld.init babeld.service 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
diff --git a/redhat/babeld.service b/redhat/babeld.service
new file mode 100644
index 00000000..b1ea9432
--- /dev/null
+++ b/redhat/babeld.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=Babel routing daemon
+BindTo=zebra.service
+After=syslog.target network.target zebra.service
+ConditionPathExists=/etc/quagga/babeld.conf
+
+[Service]
+Type=forking
+EnvironmentFile=/etc/sysconfig/quagga
+ExecStart=/usr/sbin/babeld -d $BABELD_OPTS -f /etc/quagga/babeld.conf
+Restart=on-abort
+
+[Install]
+WantedBy=network.target
diff --git a/redhat/bgpd.service b/redhat/bgpd.service
new file mode 100644
index 00000000..5040284d
--- /dev/null
+++ b/redhat/bgpd.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=BGP routing daemon
+BindTo=zebra.service
+After=syslog.target network.target zebra.service
+ConditionPathExists=/etc/quagga/bgpd.conf
+
+[Service]
+Type=forking
+EnvironmentFile=/etc/sysconfig/quagga
+ExecStart=/usr/sbin/bgpd -d $BGPD_OPTS -f /etc/quagga/bgpd.conf
+Restart=on-abort
+
+[Install]
+WantedBy=network.target
diff --git a/redhat/isisd.service b/redhat/isisd.service
new file mode 100644
index 00000000..4cdf67d6
--- /dev/null
+++ b/redhat/isisd.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=IS-IS routing daemon
+BindTo=zebra.service
+After=syslog.target network.target zebra.service
+ConditionPathExists=/etc/quagga/isisd.conf
+
+[Service]
+Type=forking
+EnvironmentFile=/etc/sysconfig/quagga
+ExecStart=/usr/sbin/isisd -d $ISISD_OPTS -f /etc/quagga/isisd.conf
+Restart=on-abort
+
+[Install]
+WantedBy=network.target
diff --git a/redhat/ospf6d.service b/redhat/ospf6d.service
new file mode 100644
index 00000000..3c9c4668
--- /dev/null
+++ b/redhat/ospf6d.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=OSPF routing daemon for IPv6
+BindTo=zebra.service
+After=syslog.target network.target zebra.service
+ConditionPathExists=/etc/quagga/ospf6d.conf
+
+[Service]
+Type=forking
+EnvironmentFile=/etc/sysconfig/quagga
+ExecStart=/usr/sbin/ospf6d -d $OSPF6D_OPTS -f /etc/quagga/ospf6d.conf
+Restart=on-abort
+
+[Install]
+WantedBy=network.target
diff --git a/redhat/ospfd.service b/redhat/ospfd.service
new file mode 100644
index 00000000..5e3de239
--- /dev/null
+++ b/redhat/ospfd.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=OSPF routing daemon
+BindTo=zebra.service
+After=syslog.target network.target zebra.service
+ConditionPathExists=/etc/quagga/ospfd.conf
+
+[Service]
+Type=forking
+EnvironmentFile=/etc/sysconfig/quagga
+ExecStart=/usr/sbin/ospfd -d $OSPFD_OPTS -f /etc/quagga/ospfd.conf
+Restart=on-abort
+
+[Install]
+WantedBy=network.target
diff --git a/redhat/quagga.sysconfig b/redhat/quagga.sysconfig
index 2befc0fd..4d6ec5ad 100644
--- a/redhat/quagga.sysconfig
+++ b/redhat/quagga.sysconfig
@@ -10,7 +10,12 @@ RIPD_OPTS="-A 127.0.0.1"
RIPNGD_OPTS="-A ::1"
ZEBRA_OPTS="-A 127.0.0.1"
-# Watchquagga configuration
+# Watchquagga configuration for LSB initscripts
+#
+# (Not needed with systemd: the service files are configured to automatically
+# restart any daemon on failure. If zebra fails, all running daemons will be
+# stopped; zebra will be started again; and then the previously running daemons
+# will be started again.)
#
# Uncomment and edit this line to reflect the daemons you are actually using:
#WATCH_DAEMONS="zebra bgpd ospfd ospf6d ripd ripngd"
diff --git a/redhat/ripd.service b/redhat/ripd.service
new file mode 100644
index 00000000..d35dc47a
--- /dev/null
+++ b/redhat/ripd.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=RIP routing daemon
+BindTo=zebra.service
+After=syslog.target network.target zebra.service
+ConditionPathExists=/etc/quagga/ripd.conf
+
+[Service]
+Type=forking
+EnvironmentFile=/etc/sysconfig/quagga
+ExecStart=/usr/sbin/ripd -d $RIPD_OPTS -f /etc/quagga/ripd.conf
+Restart=on-abort
+
+[Install]
+WantedBy=network.target
diff --git a/redhat/ripngd.service b/redhat/ripngd.service
new file mode 100644
index 00000000..567e8880
--- /dev/null
+++ b/redhat/ripngd.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=RIP routing daemon for IPv6
+BindTo=zebra.service
+After=syslog.target network.target zebra.service
+ConditionPathExists=/etc/quagga/ripngd.conf
+
+[Service]
+Type=forking
+EnvironmentFile=/etc/sysconfig/quagga
+ExecStart=/usr/sbin/ripngd -d $RIPNGD_OPTS -f /etc/quagga/ripngd.conf
+Restart=on-abort
+
+[Install]
+WantedBy=network.target
diff --git a/redhat/zebra.service b/redhat/zebra.service
new file mode 100644
index 00000000..27c3a522
--- /dev/null
+++ b/redhat/zebra.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=GNU Zebra routing manager
+After=syslog.target network.target
+ConditionPathExists=/etc/quagga/zebra.conf
+
+[Service]
+Type=forking
+EnvironmentFile=-/etc/sysconfig/quagga
+ExecStartPre=/sbin/ip route flush proto zebra
+ExecStart=/usr/sbin/zebra -d $ZEBRA_OPTS -f /etc/quagga/zebra.conf
+Restart=on-abort
+
+[Install]
+WantedBy=network.target