summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--debian/README.Debian50
-rw-r--r--debian/README.Maintainer16
-rw-r--r--debian/changelog4
-rw-r--r--debian/control30
-rw-r--r--debian/copyright6
-rw-r--r--debian/frr-doc.docs (renamed from debian/quagga-doc.docs)0
-rw-r--r--debian/frr-doc.info1
-rw-r--r--debian/frr-doc.install (renamed from debian/quagga-doc.install)0
-rw-r--r--debian/frr-doc.lintian-overrides1
-rw-r--r--debian/frr.conf2
-rw-r--r--debian/frr.config (renamed from debian/quagga.config)0
-rw-r--r--debian/frr.dirs7
-rw-r--r--debian/frr.docs (renamed from debian/quagga.docs)0
-rw-r--r--debian/frr.install (renamed from debian/quagga.install)14
-rw-r--r--debian/frr.lintian-overrides4
-rw-r--r--debian/frr.logrotate (renamed from debian/quagga.logrotate)8
-rw-r--r--debian/frr.manpages (renamed from debian/quagga.manpages)0
-rw-r--r--debian/frr.pam (renamed from debian/quagga.pam)2
-rw-r--r--debian/frr.postinst41
-rw-r--r--debian/frr.postrm (renamed from debian/quagga.postrm)4
-rw-r--r--debian/frr.preinst (renamed from debian/quagga.preinst)54
-rw-r--r--debian/frr.prerm (renamed from debian/quagga.prerm)2
-rw-r--r--debian/quagga-doc.info1
-rw-r--r--debian/quagga-doc.lintian-overrides1
-rw-r--r--debian/quagga.conf2
-rw-r--r--debian/quagga.dirs7
-rw-r--r--debian/quagga.lintian-overrides4
-rw-r--r--debian/quagga.postinst41
-rwxr-xr-xdebian/rules38
-rw-r--r--debian/tests/control2
-rw-r--r--debian/tests/daemons10
-rw-r--r--debian/watch2
-rw-r--r--debian/watchfrr.rc4
-rw-r--r--debian/watchquagga.rc4
-rw-r--r--redhat/quagga.spec.in14
-rw-r--r--tools/Makefile.am4
-rwxr-xr-xtools/frr (renamed from tools/quagga)72
-rwxr-xr-xtools/frr-reload.py (renamed from tools/quagga-reload.py)66
-rw-r--r--tools/frr.service (renamed from tools/quagga.service)10
39 files changed, 264 insertions, 264 deletions
diff --git a/debian/README.Debian b/debian/README.Debian
index 7bec53230f..fb481eb456 100644
--- a/debian/README.Debian
+++ b/debian/README.Debian
@@ -2,34 +2,34 @@
==================
Please consider setting this package "on hold" by typing
- echo "quagga hold" | dpkg --set-selections
+ echo "frr hold" | dpkg --set-selections
and verifying this using
dpkg --get-selections | grep 'hold$'
Setting a package "on hold" means that it will not automatically be upgraded.
Instead apt-get only displays a warning saying that a new version would be
-available forcing you to explicitly type "apt-get install quagga" to upgrade it.
+available forcing you to explicitly type "apt-get install frr" to upgrade it.
-* What is quagga?
+* What is frr?
=================
-http://www.quagga.net/
-> Quagga is a routing software suite, providing implementations of OSPFv2,
+http://www.freerangerouting.net/
+> Frr is a routing software suite, providing implementations of OSPFv2,
> OSPFv3, RIP v1 and v2, RIPv3 and BGPv4 for Unix platforms, particularly
-> FreeBSD and Linux and also NetBSD, to mention a few. Quagga is a fork of GNU
+> FreeBSD and Linux and also NetBSD, to mention a few. Frr is a fork of GNU
> Zebra which was developed by Kunihiro Ishiguro. Development of GNU Zebra
> slowed dramatically to the point where eventually GNU Zebra was forked into
-> Quagga.
+> Frr.
-> The Quagga tree is an attempt to provide a zebra tree with at least the
+> The Frr tree is an attempt to provide a zebra tree with at least the
> bug-fixes, which have accumulated, applied, while tracking any significant
> changes made to the zebra.org tree. Ultimately, this tree hopes to revitalise
> development of this code base.
-I packaged zebra-pj which was then renamed to quagga to get people used to it
+I packaged zebra-pj which was then renamed to frr to get people used to it
and offer Debian users the choice which versions they like to use. I hope this
-brings quagga some feedback and helps it evolving to a good successor of the
+brings frr some feedback and helps it evolving to a good successor of the
orphaned zebra.
-- Christian Hammers <ch@debian.org>, Jul/Aug 2003
@@ -37,16 +37,16 @@ orphaned zebra.
* Why has SNMP support been disabled?
=====================================
-Quagga used to link against the NetSNMP libraries to provide SNMP
+Frr used to link against the NetSNMP libraries to provide SNMP
support. Those libraries sadly link against the OpenSSL libraries
to provide crypto support for SNMPv3 among others.
OpenSSL now is not compatible with the GNU GENERAL PUBLIC LICENSE (GPL)
-licence that Quagga is distributed under. For more explanation read:
+licence that Frr is distributed under. For more explanation read:
http://www.gnome.org/~markmc/openssl-and-the-gpl.html
http://www.gnu.org/licenses/gpl-faq.html#GPLIncompatibleLibs
Updating the licence to explecitly allow linking against OpenSSL
would requite the affirmation of all people that ever contributed
-a significant part to Zebra or Quagga and thus are the collective
+a significant part to Zebra or Frr and thus are the collective
"copyright holder". That's too much work. Using a shrinked down
version of NetSNMP without OpenSSL or convincing the NetSNMP people
to change to GnuTLS are maybe good solutions but not reachable
@@ -55,17 +55,17 @@ during the last days before the Sarge release :-(
*BUT*
It is allowed by the used licence mix that you fetch the sources and
-build Quagga yourself with SNMP with
- <remove the "grep ^smux" block at the end of debian/quagga.preinst>
+build Frr yourself with SNMP with
+ <remove the "grep ^smux" block at the end of debian/frr.preinst>
# export WANT_SNMP=1
- # apt-get -b source quagga
+ # apt-get -b source frr
Just distributing it in binary form, linked against OpenSSL, is forbidden.
* Daemon selection:
===================
-The Debian package uses /etc/quagga/daemons to tell the
+The Debian package uses /etc/frr/daemons to tell the
initscript which daemons to start. It's in the format
<daemon>=<yes|no|priority>
with no spaces (it's simply source-d into the initscript).
@@ -73,13 +73,13 @@ Default is not to start anything, since it can hose your
system's routing table if not set up properly.
Priorities were suggested by Dancer <dancer@zeor.simegen.com>.
-They're used to start the Quagga daemons in more than one step
+They're used to start the Frr daemons in more than one step
(for example start one or two at network initialization and the
-rest later). The number of Quagga daemons being small, priorities
+rest later). The number of Frr daemons being small, priorities
must be between 1 and 9, inclusive (or the initscript has to be
-changed). /etc/init.d/quagga then can be started as
+changed). /etc/init.d/frr then can be started as
-/etc/init.d/quagga <start|stop|restart|<priority>>
+/etc/init.d/frr <start|stop|restart|<priority>>
where priority 0 is the same as 'stop', priority 10 or 'start'
means 'start all'
@@ -96,15 +96,15 @@ into the kernel.
=====================================================================
If this message occurs the receive buffer should be increased by adding the
-following to /etc/sysctl.conf and "--nl-bufsize" to /etc/quagga/debian.conf.
+following to /etc/sysctl.conf and "--nl-bufsize" to /etc/frr/debian.conf.
> net.core.rmem_default = 262144
> net.core.rmem_max = 262144
-See message #4525 from 2005-05-09 in the quagga-users mailing list.
+See message #4525 from 2005-05-09 in the frr-users mailing list.
* vtysh immediately exists:
===========================
-Check /etc/pam.d/quagga, it probably denies access to your user. The passwords
-configured in /etc/quagga/Quagga.conf are only for telnet access.
+Check /etc/pam.d/frr, it probably denies access to your user. The passwords
+configured in /etc/frr/Frr.conf are only for telnet access.
diff --git a/debian/README.Maintainer b/debian/README.Maintainer
index b0b1e62b34..aa8ac0cf35 100644
--- a/debian/README.Maintainer
+++ b/debian/README.Maintainer
@@ -4,19 +4,19 @@
for i in debian/patches/*.diff; do echo -e "#\n# $i\n#"; patch --fuzz=3 --dry-run -p1 < $i; done
#
-# Filename transition from zebra to quagga
+# Filename transition from zebra to frr
#
Files that keep their names
/usr/bin/vtysh
Files that got an -pj suffix
- /etc/default/zebra -> /etc/quagga/debian.conf
- /etc/init.d/zebra -> /etc/init.d/quagga
- /etc/zebra/ -> /etc/quagga/
- /usr/share/doc/zebra/ -> /usr/share/doc/quagga/
- /var/log/zebra/ -> /var/log/quagga/
- /var/run/ -> /var/run/quagga/
+ /etc/default/zebra -> /etc/frr/debian.conf
+ /etc/init.d/zebra -> /etc/init.d/frr
+ /etc/zebra/ -> /etc/frr/
+ /usr/share/doc/zebra/ -> /usr/share/doc/frr/
+ /var/log/zebra/ -> /var/log/frr/
+ /var/run/ -> /var/run/frr/
Files that were moved
- /usr/sbin/* -> /usr/lib/quagga/
+ /usr/sbin/* -> /usr/lib/frr/
diff --git a/debian/changelog b/debian/changelog
index f17f89eaff..ef019b4d23 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,7 @@
+frr (2.0) Released; urgency=medium
+
+ * Switchover to FRR
+
quagga (0.99.24+cl3u5) RELEASED; urgency=medium
* Closes: CM-12846 - Resolve Memory leaks in 'show ip bgp neighbor json'
diff --git a/debian/control b/debian/control
index dd0013e82f..578795d998 100644
--- a/debian/control
+++ b/debian/control
@@ -1,14 +1,14 @@
-Source: quagga
+Source: frr
Section: net
Priority: optional
Maintainer: Christian Hammers <ch@debian.org>
Uploaders: Florian Weimer <fw@debian.org>
Build-Depends: debhelper (>= 7.0.50~), libncurses5-dev, libreadline-dev, texlive-latex-base, texlive-generic-recommended, libpam0g-dev | libpam-dev, libcap-dev, texinfo (>= 4.7), imagemagick, ghostscript, groff, po-debconf, autotools-dev, hardening-wrapper, libpcre3-dev, gawk, chrpath, libsnmp-dev, git, dh-autoreconf, libjson0, libjson0-dev, dh-systemd, libsystemd-dev, python-ipaddr
Standards-Version: 3.9.6
-Homepage: http://www.quagga.net/
+Homepage: http://www.frr.net/
XS-Testsuite: autopkgtest
-Package: quagga
+Package: frr
Architecture: any
Depends: ${shlibs:Depends}, logrotate (>= 3.2-11), iproute, ${misc:Depends}
Pre-Depends: adduser
@@ -16,37 +16,33 @@ Conflicts: zebra, zebra-pj
Replaces: zebra, zebra-pj
Suggests: snmpd
Description: BGP/OSPF/RIP routing daemon
- GNU Quagga is free software which manages TCP/IP based routing protocols.
+ Frr is free software which manages TCP/IP based routing protocols.
It supports BGP4, BGP4+, OSPFv2, OSPFv3, IS-IS, RIPv1, RIPv2, and RIPng as
well as the IPv6 versions of these.
.
- As the precessor Zebra has been considered orphaned, the Quagga project
- has been formed by members of the zebra mailing list and the former
- zebra-pj project to continue developing.
- .
- Quagga uses threading if the kernel supports it, but can also run on
+ Frr uses threading if the kernel supports it, but can also run on
kernels that do not support threading. Each protocol has its own daemon.
.
It is more than a routed replacement, it can be used as a Route Server and
a Route Reflector.
-Package: quagga-dbg
+Package: frr-dbg
Architecture: any
-Depends: ${shlibs:Depends}, ${misc:Depends}, quagga (= ${binary:Version})
+Depends: ${shlibs:Depends}, ${misc:Depends}, frr (= ${binary:Version})
Priority: extra
Section: debug
Description: BGP/OSPF/RIP routing daemon (debug symbols)
This package provides debugging symbols for all binary packages built from
- quagga source package. It's highly recommended to have this package installed
- before reporting any Quagga crashes to either Quagga developers or Debian
+ frr source package. It's highly recommended to have this package installed
+ before reporting any Frr crashes to either Frr developers or Debian
package maintainers.
-Package: quagga-doc
+Package: frr-doc
Section: net
Architecture: all
Depends: ${misc:Depends}
-Suggests: quagga
-Description: documentation files for quagga
- This package includes info files for quagga, a free software which manages
+Suggests: frr
+Description: documentation files for frr
+ This package includes info files for frr, a free software which manages
TCP/IP based routing protocols. It supports BGP4, BGP4+, OSPFv2, OSPFv3,
IS-IS, RIPv1, RIPv2, and RIPng as well as the IPv6 versions of these.
diff --git a/debian/copyright b/debian/copyright
index 22434fb255..ab392027c8 100644
--- a/debian/copyright
+++ b/debian/copyright
@@ -1,7 +1,7 @@
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
-Upstream-Name: Quagga
-Upstream-Contact: maintainers@quagga.net, security@quagga.net
-Source: http://www.quagga.net/
+Upstream-Name: Frr
+Upstream-Contact: maintainers@freerangerouting.net, security@freerangerouting.net
+Source: http://www.freerangerouting.net/
Files: *
Copyright: 1996-2003 by the original Zebra authors:
diff --git a/debian/quagga-doc.docs b/debian/frr-doc.docs
index a0776fd68a..a0776fd68a 100644
--- a/debian/quagga-doc.docs
+++ b/debian/frr-doc.docs
diff --git a/debian/frr-doc.info b/debian/frr-doc.info
new file mode 100644
index 0000000000..c4f181cdb0
--- /dev/null
+++ b/debian/frr-doc.info
@@ -0,0 +1 @@
+doc/frr.info*
diff --git a/debian/quagga-doc.install b/debian/frr-doc.install
index d2d3f1bbd9..d2d3f1bbd9 100644
--- a/debian/quagga-doc.install
+++ b/debian/frr-doc.install
diff --git a/debian/frr-doc.lintian-overrides b/debian/frr-doc.lintian-overrides
new file mode 100644
index 0000000000..1fe64ffd53
--- /dev/null
+++ b/debian/frr-doc.lintian-overrides
@@ -0,0 +1 @@
+frr-doc: wrong-section-according-to-package-name frr-doc => doc
diff --git a/debian/frr.conf b/debian/frr.conf
new file mode 100644
index 0000000000..dee3cd849a
--- /dev/null
+++ b/debian/frr.conf
@@ -0,0 +1,2 @@
+# Create the /run/frr directory at boot or from systemd-tmpfiles on install
+d /run/frr 0755 frr frr
diff --git a/debian/quagga.config b/debian/frr.config
index f642bea1d5..f642bea1d5 100644
--- a/debian/quagga.config
+++ b/debian/frr.config
diff --git a/debian/frr.dirs b/debian/frr.dirs
new file mode 100644
index 0000000000..58290080d0
--- /dev/null
+++ b/debian/frr.dirs
@@ -0,0 +1,7 @@
+etc/logrotate.d/
+etc/frr/
+usr/share/doc/frr/
+usr/share/doc/frr/examples/
+usr/share/lintian/overrides/
+usr/share/snmp/mibs/
+var/log/frr/
diff --git a/debian/quagga.docs b/debian/frr.docs
index f72aae1967..f72aae1967 100644
--- a/debian/quagga.docs
+++ b/debian/frr.docs
diff --git a/debian/quagga.install b/debian/frr.install
index 022bd94ec7..45b3b973be 100644
--- a/debian/quagga.install
+++ b/debian/frr.install
@@ -1,12 +1,12 @@
-etc/quagga/
+etc/frr/
usr/bin/vtysh
-usr/include/quagga/
+usr/include/frr/
usr/lib/
-tools/quagga-reload.py usr/lib/quagga/
-tools/quagga usr/lib/quagga
-usr/share/doc/quagga/
+tools/frr-reload.py usr/lib/frr/
+tools/frr usr/lib/frr
+usr/share/doc/frr/
usr/share/man/man1/vtysh.1
-usr/share/man/man1/quagga.1
+usr/share/man/man1/frr.1
usr/share/man/man8
usr/share/man/man8/bgpd.8
usr/share/man/man8/ospf6d.8
@@ -19,4 +19,4 @@ usr/share/man/man8/watchfrr.8
usr/share/snmp/mibs/
cumulus/etc/* etc/
tools/*.service lib/systemd/system
-debian/quagga.conf usr/lib/tmpfiles.d
+debian/frr.conf usr/lib/tmpfiles.d
diff --git a/debian/frr.lintian-overrides b/debian/frr.lintian-overrides
new file mode 100644
index 0000000000..42a51b5e69
--- /dev/null
+++ b/debian/frr.lintian-overrides
@@ -0,0 +1,4 @@
+frr: non-dev-pkg-with-shlib-symlink usr/lib/libospfapiclient.so.0.0.0 usr/lib/libospfapiclient.so
+frr: non-dev-pkg-with-shlib-symlink usr/lib/libospf.so.0.0.0 usr/lib/libospf.so
+frr: non-dev-pkg-with-shlib-symlink usr/lib/libzebra.so.0.0.0 usr/lib/libzebra.so
+frr: package-name-doesnt-match-sonames libospf0 libospfapiclient0 libzebra0
diff --git a/debian/quagga.logrotate b/debian/frr.logrotate
index 77e015d725..0dd68fb257 100644
--- a/debian/quagga.logrotate
+++ b/debian/frr.logrotate
@@ -1,15 +1,15 @@
-/var/log/quagga/*.log {
+/var/log/frr/*.log {
size 500k
sharedscripts
missingok
compress
rotate 14
- create 640 quagga quaggavty
+ create 640 frr frrvty
postrotate
for i in zebra bgpd ripd ospfd ripngd ospf6d isisd pimd; do
- if [ -e /var/run/quagga/$i.pid ] ; then
- kill -USR1 `cat /var/run/quagga/$i.pid`
+ if [ -e /var/run/frr/$i.pid ] ; then
+ kill -USR1 `cat /var/run/frr/$i.pid`
fi
done
diff --git a/debian/quagga.manpages b/debian/frr.manpages
index 17a128b7e3..17a128b7e3 100644
--- a/debian/quagga.manpages
+++ b/debian/frr.manpages
diff --git a/debian/quagga.pam b/debian/frr.pam
index 093e172946..2b106d43bc 100644
--- a/debian/quagga.pam
+++ b/debian/frr.pam
@@ -1,3 +1,3 @@
-# Any user may call vtysh but only those belonging to the group quaggavty can
+# Any user may call vtysh but only those belonging to the group frrvty can
# actually connect to the socket and use the program.
auth sufficient pam_permit.so
diff --git a/debian/frr.postinst b/debian/frr.postinst
new file mode 100644
index 0000000000..43d3ffa9e0
--- /dev/null
+++ b/debian/frr.postinst
@@ -0,0 +1,41 @@
+#!/bin/bash -e
+
+######################
+PASSWDFILE=/etc/passwd
+GROUPFILE=/etc/group
+
+frruid=`egrep "^frr:" $PASSWDFILE | awk -F ":" '{ print $3 }'`
+frrgid=`egrep "^frr:" $GROUPFILE | awk -F ":" '{ print $3 }'`
+frrvtygid=`egrep "^frrvty:" $GROUPFILE | awk -F ":" '{ print $3 }'`
+
+[ -n ${frruid} ] || (echo "No uid for frr in ${PASSWDFILE}" && /bin/false)
+[ -n ${frrgid} ] || (echo "No gid for frr in ${GROUPFILE}" && /bin/false)
+[ -n ${frrVTYgid} ] || (echo "No gid for frrvty in ${GROUPFILE}" && /bin/false)
+
+chown -R ${frruid}:${frrgid} /etc/frr
+touch /etc/frr/vtysh.conf
+chgrp ${frrvtygid} /etc/frr/vtysh*
+chmod 440 /etc/sudoers.d/frr_sudoers
+chmod 644 /etc/frr/*
+
+ENVIRONMENTFILE=/etc/environment
+if ! grep --quiet VTYSH_PAGER=/bin/cat ${ENVIRONMENTFILE}; then
+ echo "VTYSH_PAGER=/bin/cat" >> ${ENVIRONMENTFILE}
+fi
+##################################################
+
+if [ -n "$DEBIAN_SCRIPT_DEBUG" ]; then set -v -x; DEBIAN_SCRIPT_TRACE=1; fi
+${DEBIAN_SCRIPT_TRACE:+ echo "#42#DEBUG# RUNNING $0 $*"}
+
+# This is most likely due to the answer "no" to the "really stop the server"
+# question in the prerm script.
+if [ "$1" = "abort-upgrade" ]; then
+ exit 0
+fi
+
+. /usr/share/debconf/confmodule
+
+db_stop
+
+#DEBHELPER#
+
diff --git a/debian/quagga.postrm b/debian/frr.postrm
index 1c69e4899d..26576fd136 100644
--- a/debian/quagga.postrm
+++ b/debian/frr.postrm
@@ -5,8 +5,8 @@ ${DEBIAN_SCRIPT_TRACE:+ echo "#42#DEBUG# RUNNING $0 $*"}
# set -u not because of debhelper
if [ "$1" = "purge" ]; then
- rm -rf /etc/quagga /var/run/quagga /var/log/quagga
- userdel quagga >/dev/null 2>&1 || true
+ rm -rf /etc/frr /var/run/frr /var/log/frr
+ userdel frr >/dev/null 2>&1 || true
fi
#DEBHELPER#
diff --git a/debian/quagga.preinst b/debian/frr.preinst
index 1af0b5ba63..abdaa7277b 100644
--- a/debian/quagga.preinst
+++ b/debian/frr.preinst
@@ -5,73 +5,73 @@ ${DEBIAN_SCRIPT_TRACE:+ echo "#42#DEBUG# RUNNING $0 $*"}
set -e
set -u
-# creating quaggavty group if it isn't already there
-if ! getent group quaggavty >/dev/null; then
- addgroup --system quaggavty >/dev/null
+# creating frrvty group if it isn't already there
+if ! getent group frrvty >/dev/null; then
+ addgroup --system frrvty >/dev/null
fi
-# creating quagga group if it isn't already there
-if ! getent group quagga >/dev/null; then
- addgroup --system quagga >/dev/null
+# creating frr group if it isn't already there
+if ! getent group frr >/dev/null; then
+ addgroup --system frr >/dev/null
fi
-# creating quagga user if he isn't already there
-if ! getent passwd quagga >/dev/null; then
+# creating frr user if he isn't already there
+if ! getent passwd frr >/dev/null; then
adduser \
--system \
- --ingroup quagga \
- --home /var/run/quagga/ \
- --gecos "Quagga routing suite" \
+ --ingroup frr \
+ --home /var/run/frr/ \
+ --gecos "Frr routing suite" \
--shell /bin/false \
- quagga >/dev/null
+ frr >/dev/null
fi
# We may be installing over an older version of
-# quagga and as such we need to intelligently
-# check to see if the quagga user is in the quaggavty
+# frr and as such we need to intelligently
+# check to see if the frr user is in the frrvty
# group.
-if ! /usr/bin/id quagga | grep &>/dev/null 'quaggavty'; then
- usermod -a -G quaggavty quagga >/dev/null
+if ! /usr/bin/id frr | grep &>/dev/null 'frrvty'; then
+ usermod -a -G frrvty frr >/dev/null
fi
# Do not change permissions when upgrading as it would violate policy.
if [ "$1" = "install" ]; then
- # Logfiles are group readable in case users were put into the quagga group.
- d=/var/log/quagga/
+ # Logfiles are group readable in case users were put into the frr group.
+ d=/var/log/frr/
mkdir -p $d
- chown -R quagga:quagga $d
+ chown -R frr:frr $d
chmod u=rwx,go=rx $d
find $d -type f -print0 | xargs -0 --no-run-if-empty chmod u=rw,g=r,o=
# Strict permissions for the sockets.
- d=/var/run/quagga/
+ d=/var/run/frr/
mkdir -p $d
- chown -R quagga:quagga $d
+ chown -R frr:frr $d
chmod u=rwx,go=rx $d
find $d -type f -print0 | xargs -0 --no-run-if-empty chmod u=rw,go=
# Config files. Vtysh does not have access to the individual daemons config file
- d=/etc/quagga/
+ d=/etc/frr/
mkdir -p $d
- chown quagga:quaggavty $d
+ chown frr:frrvty $d
chmod ug=rwx,o=rx $d
- find $d -type f -print0 | xargs -0 --no-run-if-empty chown quagga:quagga
+ find $d -type f -print0 | xargs -0 --no-run-if-empty chown frr:frr
find $d -type f -print0 | xargs -0 --no-run-if-empty chmod u=rw,g=r,o=
# Exceptions for vtysh.
f=$d/vtysh.conf
if [ -f $f ]; then
- chown quagga:quaggavty $f
+ chown frr:frrvty $f
chmod u=rw,g=r,o= $f
fi
# Exceptions for vtysh.
- f=$d/Quagga.conf
+ f=$d/Frr.conf
if [ -f $d/Zebra.conf ]; then
mv $d/Zebra.conf $f
fi
if [ -f $f ]; then
- chown quagga:quaggavty $f
+ chown frr:frrvty $f
chmod u=rw,g=r,o= $f
fi
fi
diff --git a/debian/quagga.prerm b/debian/frr.prerm
index 9775412253..e0df24e10f 100644
--- a/debian/quagga.prerm
+++ b/debian/frr.prerm
@@ -15,7 +15,7 @@ case $1 in
;;
failed-upgrade)
- # If quagga/really_stop was negated then this script exits with return
+ # If frr/really_stop was negated then this script exits with return
# code 1 and is called again with "failed-upgrade". Well, exit again.
exit 1
;;
diff --git a/debian/quagga-doc.info b/debian/quagga-doc.info
deleted file mode 100644
index c9ff0f55fc..0000000000
--- a/debian/quagga-doc.info
+++ /dev/null
@@ -1 +0,0 @@
-doc/quagga.info*
diff --git a/debian/quagga-doc.lintian-overrides b/debian/quagga-doc.lintian-overrides
deleted file mode 100644
index afa3c64ad3..0000000000
--- a/debian/quagga-doc.lintian-overrides
+++ /dev/null
@@ -1 +0,0 @@
-quagga-doc: wrong-section-according-to-package-name quagga-doc => doc
diff --git a/debian/quagga.conf b/debian/quagga.conf
deleted file mode 100644
index 04d8eea57f..0000000000
--- a/debian/quagga.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-# Create the /run/quagga directory at boot or from systemd-tmpfiles on install
-d /run/quagga 0755 quagga quagga
diff --git a/debian/quagga.dirs b/debian/quagga.dirs
deleted file mode 100644
index 581074f8fc..0000000000
--- a/debian/quagga.dirs
+++ /dev/null
@@ -1,7 +0,0 @@
-etc/logrotate.d/
-etc/quagga/
-usr/share/doc/quagga/
-usr/share/doc/quagga/examples/
-usr/share/lintian/overrides/
-usr/share/snmp/mibs/
-var/log/quagga/
diff --git a/debian/quagga.lintian-overrides b/debian/quagga.lintian-overrides
deleted file mode 100644
index aee52a1eba..0000000000
--- a/debian/quagga.lintian-overrides
+++ /dev/null
@@ -1,4 +0,0 @@
-quagga: non-dev-pkg-with-shlib-symlink usr/lib/libospfapiclient.so.0.0.0 usr/lib/libospfapiclient.so
-quagga: non-dev-pkg-with-shlib-symlink usr/lib/libospf.so.0.0.0 usr/lib/libospf.so
-quagga: non-dev-pkg-with-shlib-symlink usr/lib/libzebra.so.0.0.0 usr/lib/libzebra.so
-quagga: package-name-doesnt-match-sonames libospf0 libospfapiclient0 libzebra0
diff --git a/debian/quagga.postinst b/debian/quagga.postinst
deleted file mode 100644
index 4611313c1d..0000000000
--- a/debian/quagga.postinst
+++ /dev/null
@@ -1,41 +0,0 @@
-#!/bin/bash -e
-
-######################
-PASSWDFILE=/etc/passwd
-GROUPFILE=/etc/group
-
-quaggauid=`egrep "^quagga:" $PASSWDFILE | awk -F ":" '{ print $3 }'`
-quaggagid=`egrep "^quagga:" $GROUPFILE | awk -F ":" '{ print $3 }'`
-quaggavtygid=`egrep "^quaggavty:" $GROUPFILE | awk -F ":" '{ print $3 }'`
-
-[ -n ${quaggauid} ] || (echo "No uid for quagga in ${PASSWDFILE}" && /bin/false)
-[ -n ${quaggagid} ] || (echo "No gid for quagga in ${GROUPFILE}" && /bin/false)
-[ -n ${quaggaVTYgid} ] || (echo "No gid for quaggavty in ${GROUPFILE}" && /bin/false)
-
-chown -R ${quaggauid}:${quaggagid} /etc/quagga
-touch /etc/quagga/vtysh.conf
-chgrp ${quaggavtygid} /etc/quagga/vtysh*
-chmod 440 /etc/sudoers.d/quagga_sudoers
-chmod 644 /etc/quagga/*
-
-ENVIRONMENTFILE=/etc/environment
-if ! grep --quiet VTYSH_PAGER=/bin/cat ${ENVIRONMENTFILE}; then
- echo "VTYSH_PAGER=/bin/cat" >> ${ENVIRONMENTFILE}
-fi
-##################################################
-
-if [ -n "$DEBIAN_SCRIPT_DEBUG" ]; then set -v -x; DEBIAN_SCRIPT_TRACE=1; fi
-${DEBIAN_SCRIPT_TRACE:+ echo "#42#DEBUG# RUNNING $0 $*"}
-
-# This is most likely due to the answer "no" to the "really stop the server"
-# question in the prerm script.
-if [ "$1" = "abort-upgrade" ]; then
- exit 0
-fi
-
-. /usr/share/debconf/confmodule
-
-db_stop
-
-#DEBHELPER#
-
diff --git a/debian/rules b/debian/rules
index b100813182..42c0d5f63a 100755
--- a/debian/rules
+++ b/debian/rules
@@ -20,10 +20,10 @@ MAKEFLAGS += -j$(DEBIAN_JOBS)
endif
%:
- dh $@ --with=systemd,autoreconf --parallel --dbg-package=quagga-dbg --list-missing
+ dh $@ --with=systemd,autoreconf --parallel --dbg-package=frr-dbg --list-missing
override_dh_auto_configure:
- # Quagga needs /proc to check some BSD vs Linux specific stuff.
+ # Frr needs /proc to check some BSD vs Linux specific stuff.
# Else it fails with an obscure error message pointing out that
# IPCTL_FORWARDING is an undefined symbol which is not very helpful.
@if ! [ -d /proc/1 ]; then \
@@ -33,18 +33,18 @@ override_dh_auto_configure:
if ! [ -e config.status ]; then \
dh_auto_configure -- \
- --enable-exampledir=/usr/share/doc/quagga/examples/ \
- --localstatedir=/var/run/quagga \
- --sbindir=/usr/lib/quagga \
- --sysconfdir=/etc/quagga \
+ --enable-exampledir=/usr/share/doc/frr/examples/ \
+ --localstatedir=/var/run/frr \
+ --sbindir=/usr/lib/frr \
+ --sysconfdir=/etc/frr \
$(USE_SNMP) \
--enable-ospfapi=yes \
--enable-vtysh=yes \
--enable-isisd=yes \
--enable-multipath=256 \
- --enable-user=quagga \
- --enable-group=quagga \
- --enable-vty-group=quaggavty \
+ --enable-user=frr \
+ --enable-group=frr \
+ --enable-vty-group=frrvty \
--enable-configfile-mask=0640 \
--enable-logfile-mask=0640 \
--enable-werror \
@@ -53,7 +53,7 @@ override_dh_auto_configure:
--enable-systemd=yes \
--enable-poll=yes \
--enable-cumulus=yes \
- --enable-pimd=no \
+ --enable-pimd=yes \
--enable-dependency-tracking \
--enable-bgp-vnc=no; \
fi
@@ -66,11 +66,11 @@ override_dh_auto_build:
# doc/ is a bit crazy
ifeq ($(GENERATE_PDF), 1)
- dh_auto_build -- -C doc quagga.pdf || true # pdfetex fails with exit code 1 but still produces a good looking .pdf
+ dh_auto_build -- -C doc frr.pdf || true # pdfetex fails with exit code 1 but still produces a good looking .pdf
endif
- rm -vf doc/quagga.info
- dh_auto_build -- -C doc quagga.info
- rm -vf doc/quagga.info.html*
+ rm -vf doc/frr.info
+ dh_auto_build -- -C doc frr.info
+ rm -vf doc/frr.info.html*
override_dh_auto_test:
@@ -81,18 +81,18 @@ override_dh_auto_install:
rm -f debian/tmp/usr/share/info/dir*
# install config files
- mkdir -p debian/tmp/etc/quagga/
- perl -pi -e 's#^!log file #!log file /var/log/quagga/#' debian/tmp/usr/share/doc/quagga/examples/*sample*
+ mkdir -p debian/tmp/etc/frr/
+ perl -pi -e 's#^!log file #!log file /var/log/frr/#' debian/tmp/usr/share/doc/frr/examples/*sample*
- # installing the Quagga specific SNMP MIB
+ # installing the Frr specific SNMP MIB
install -D -m 644 ./zebra/GNOME-PRODUCT-ZEBRA-MIB debian/tmp/usr/share/snmp/mibs/GNOME-PRODUCT-ZEBRA-MIB
# cleaning .la files
sed -i "/dependency_libs/ s/'.*'/''/" debian/tmp/usr/lib/*.la
override_dh_systemd_start:
- dh_systemd_start quagga.service
+ dh_systemd_start frr.service
override_dh_systemd_enable:
- dh_systemd_enable quagga.service
+ dh_systemd_enable frr.service
diff --git a/debian/tests/control b/debian/tests/control
index 1993e371f0..53fd537e2e 100644
--- a/debian/tests/control
+++ b/debian/tests/control
@@ -1,3 +1,3 @@
Tests: daemons
-Depends: quagga
+Depends: frr
Restrictions: needs-root
diff --git a/debian/tests/daemons b/debian/tests/daemons
index 52c156a1d6..ac35ecd950 100644
--- a/debian/tests/daemons
+++ b/debian/tests/daemons
@@ -1,21 +1,21 @@
#!/bin/bash
#---------------
-# Testing quagga
+# Testing frr
#---------------
set -e
# modify config file to enable all daemons and copy config files
-CONFIG_FILE=/etc/quagga/daemons
+CONFIG_FILE=/etc/frr/daemons
DAEMONS=("zebra" "bgpd" "ospfd" "ospf6d" "ripd" "ripngd" "isisd" "pimd")
for daemon in "${DAEMONS[@]}"
do
sed -i -e "s/${daemon}=no/${daemon}=yes/g" $CONFIG_FILE
- cp /usr/share/doc/quagga/examples/${daemon}.conf.sample /etc/quagga/${daemon}.conf
+ cp /usr/share/doc/frr/examples/${daemon}.conf.sample /etc/frr/${daemon}.conf
done
-# reload quagga
-/etc/init.d/quagga restart > /dev/null 2>&1
+# reload frr
+/etc/init.d/frr restart > /dev/null 2>&1
# check daemons
for daemon in "${DAEMONS[@]}"
diff --git a/debian/watch b/debian/watch
index bc6d91dab5..46ff1c7dab 100644
--- a/debian/watch
+++ b/debian/watch
@@ -4,5 +4,5 @@
# Site Directory Pattern Version Script
version=3
opts=uversionmangle=s/(\d)[_\.\-\+]?((RC|rc|pre|dev|beta|alpha|b|a)[\-\.]?\d*)$/$1~$2/ \
- http://download.savannah.gnu.org/releases/quagga/quagga-(\d.*)\.(?:tgz|tar\.(?:gz|bz2|xz))
+ http://download.savannah.gnu.org/releases/frr/quagga-(\d.*)\.(?:tgz|tar\.(?:gz|bz2|xz))
# Bart Martens <bartm@debian.org> Fri, 25 Jan 2013 06:38:53 +0000
diff --git a/debian/watchfrr.rc b/debian/watchfrr.rc
new file mode 100644
index 0000000000..4110b86399
--- /dev/null
+++ b/debian/watchfrr.rc
@@ -0,0 +1,4 @@
+check process watchfrr with pidfile /var/run/frr/watchfrr.pid
+ start program = "/etc/init.d/frr start watchfrr" with timeout 120 seconds
+ stop program = "/etc/init.d/frr stop watchfrr"
+ if 3 restarts within 10 cycles then timeout
diff --git a/debian/watchquagga.rc b/debian/watchquagga.rc
deleted file mode 100644
index 81a00393d2..0000000000
--- a/debian/watchquagga.rc
+++ /dev/null
@@ -1,4 +0,0 @@
-check process watchfrr with pidfile /var/run/quagga/watchfrr.pid
- start program = "/etc/init.d/quagga start watchfrr" with timeout 120 seconds
- stop program = "/etc/init.d/quagga stop watchfrr"
- if 3 restarts within 10 cycles then timeout
diff --git a/redhat/quagga.spec.in b/redhat/quagga.spec.in
index 752b70fca5..5a5d4c4c7c 100644
--- a/redhat/quagga.spec.in
+++ b/redhat/quagga.spec.in
@@ -269,8 +269,8 @@ rm -rf %{buildroot}/usr/share/info/dir
# install /etc sources
%if "%{initsystem}" == "systemd"
mkdir -p %{buildroot}%{_unitdir}
-install %{quagga_tools}/quagga.service \
- %{buildroot}%{_unitdir}/quagga.service
+install %{quagga_tools}/frr.service \
+ %{buildroot}%{_unitdir}/frr.service
%else
mkdir -p %{buildroot}/etc/rc.d/init.d
for daemon in %{all_daemons} ; do
@@ -345,7 +345,7 @@ zebra_spec_add_service ldpd 2612/tcp "LDPd vty"
%if "%{initsystem}" == "systemd"
for daemon in %all_daemons ; do
- %systemd_post quagga.service
+ %systemd_post frr.service
done
%else
for daemon in %all_daemons ; do
@@ -510,9 +510,9 @@ rm -rf %{buildroot}
%{_sbindir}/bgpd
%{_sbindir}/ssd
%{_sbindir}/quagga
-%{_sbindir}/quagga-reload.py
-%{_sbindir}/quagga-reload.pyc
-%{_sbindir}/quagga-reload.pyo
+%{_sbindir}/frr-reload.py
+%{_sbindir}/frr-reload.pyc
+%{_sbindir}/frr-reload.pyo
%if %{with_watchfrr}
%{_sbindir}/watchfrr
%endif
@@ -530,7 +530,7 @@ rm -rf %{buildroot}
%{_bindir}/*
%config /etc/quagga/[!v]*
%if "%{initsystem}" == "systemd"
- %config %{_unitdir}/quagga.service
+ %config %{_unitdir}/frr.service
%else
%config /etc/rc.d/init.d/zebra
%if %{with_watchfrr}
diff --git a/tools/Makefile.am b/tools/Makefile.am
index 125bfee2c2..2f1bfc0604 100644
--- a/tools/Makefile.am
+++ b/tools/Makefile.am
@@ -1,4 +1,4 @@
-sbin_SCRIPTS = quagga-reload.py quagga
+sbin_SCRIPTS = frr-reload.py frr
-EXTRA_DIST = quagga.service quagga-reload.py quagga
+EXTRA_DIST = frr.service frr-reload.py frr
diff --git a/tools/quagga b/tools/frr
index 87f1ce5c5e..2ecaadbb53 100755
--- a/tools/quagga
+++ b/tools/frr
@@ -1,34 +1,34 @@
#!/bin/bash
#
### BEGIN INIT INFO
-# Provides: quagga
+# Provides: frr
# Required-Start: $local_fs $network $remote_fs $syslog
# Required-Stop: $local_fs $network $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
-# Short-Description: start and stop the Quagga routing suite
-# Description: Quagga is a routing suite for IP routing protocols like
+# Short-Description: start and stop the Frr routing suite
+# Description: Frr is a routing suite for IP routing protocols like
# BGP, OSPF, RIP and others. This script contols the main
-# daemon "quagga" as well as the individual protocol daemons.
+# daemon "frr" as well as the individual protocol daemons.
### END INIT INFO
#
PATH=/bin:/usr/bin:/sbin:/usr/sbin
-D_PATH=/usr/lib/quagga
-C_PATH=/etc/quagga
-V_PATH=/var/run/quagga
+D_PATH=/usr/lib/frr
+C_PATH=/etc/frr
+V_PATH=/var/run/frr
-# Local Daemon selection may be done by using /etc/quagga/daemons.
-# See /usr/share/doc/quagga/README.Debian.gz for further information.
+# Local Daemon selection may be done by using /etc/frr/daemons.
+# See /usr/share/doc/frr/README.Debian.gz for further information.
# Keep zebra first and do not list watchfrr!
DAEMONS="zebra bgpd ripd ripngd ospfd ospf6d isisd babeld pimd"
MAX_INSTANCES=5
-RELOAD_SCRIPT=/usr/lib/quagga/quagga-reload.py
+RELOAD_SCRIPT=/usr/lib/frr/frr-reload.py
. /lib/lsb/init-functions
-if [ -f /usr/lib/quagga/ssd ]; then
- SSD=/usr/lib/quagga/ssd
+if [ -f /usr/lib/frr/ssd ]; then
+ SSD=/usr/lib/frr/ssd
else
SSD=`which start-stop-daemon`
fi
@@ -61,7 +61,7 @@ started()
vtysh_b ()
{
# Rember, that all variables have been incremented by 1 in convert_daemon_prios()
- if [ "$vtysh_enable" = 2 -a -f $C_PATH/Quagga.conf ]; then
+ if [ "$vtysh_enable" = 2 -a -f $C_PATH/Frr.conf ]; then
/usr/bin/vtysh -b -n
fi
}
@@ -73,7 +73,7 @@ vtysh_b ()
check_daemon()
{
# If the integrated config file is used the others are not checked.
- if [ -r "$C_PATH/Quagga.conf" ]; then
+ if [ -r "$C_PATH/Frr.conf" ]; then
return 0
fi
@@ -87,18 +87,18 @@ check_daemon()
if [ -n "$2" ]; then
if [ ! -r "$C_PATH/$1-$2.conf" ]; then
touch "$C_PATH/$1-$2.conf"
- chown quagga:quagga "$C_PATH/$1-$2.conf"
+ chown frr:frr "$C_PATH/$1-$2.conf"
fi
elif [ ! -r "$C_PATH/$1.conf" ]; then
touch "$C_PATH/$1.conf"
- chown quagga:quagga "$C_PATH/$1.conf"
+ chown frr:frr "$C_PATH/$1.conf"
fi
fi
return 0
}
# Starts the server if it's not alrady running according to the pid file.
-# The Quagga daemons creates the pidfile when starting.
+# The Frr daemons creates the pidfile when starting.
start()
{
ulimit -n $MAX_FDS
@@ -113,8 +113,8 @@ start()
echo -n " $1"
fi
- if [ -e /var/run/quagga/watchfrr.started ] ; then
- rm /var/run/quagga/watchfrr.started
+ if [ -e /var/run/frr/watchfrr.started ] ; then
+ rm /var/run/frr/watchfrr.started
fi
${SSD} \
--start \
@@ -124,7 +124,7 @@ start()
"${watchfrr_options[@]}"
for i in `seq 1 10`;
do
- if [ -e /var/run/quagga/watchfrr.started ] ; then
+ if [ -e /var/run/frr/watchfrr.started ] ; then
break
else
sleep 1
@@ -200,7 +200,7 @@ stop()
fi
}
-# Converts values from /etc/quagga/daemons to all-numeric values.
+# Converts values from /etc/frr/daemons to all-numeric values.
convert_daemon_prios()
{
for name in $DAEMONS zebra vtysh_enable watchfrr_enable; do
@@ -240,7 +240,7 @@ start_watchfrr()
# Check variable type
if ! declare -p watchfrr_options | grep -q '^declare \-a'; then
echo
- echo "ERROR: The variable watchfrr_options from /etc/quagga/debian.cnf must be a BASH array!"
+ echo "ERROR: The variable watchfrr_options from /etc/frr/debian.cnf must be a BASH array!"
echo "ERROR: Please convert config file and restart!"
exit 1
fi
@@ -271,7 +271,7 @@ start_watchfrr()
# Start if at least one daemon is activated.
if [ $found_one -eq 1 ]; then
- echo -n "Starting Quagga monitor daemon:"
+ echo -n "Starting Frr monitor daemon:"
start watchfrr
echo "."
fi
@@ -280,7 +280,7 @@ start_watchfrr()
# Stopps watchfrr.
stop_watchfrr()
{
- echo -n "Stopping Quagga monitor daemon:"
+ echo -n "Stopping Frr monitor daemon:"
stop watchfrr
echo "."
}
@@ -305,7 +305,7 @@ stop_prio()
wanted_prio=$1
daemon_list=${daemon:-$DAEMONS}
- echo -n "Stopping Quagga daemons (prio:$wanted_prio):"
+ echo -n "Stopping Frr daemons (prio:$wanted_prio):"
for prio_i in `seq 10 -1 $wanted_prio`; do
for daemon_name in $daemon_list; do
@@ -331,7 +331,7 @@ stop_prio()
echo "."
if [ -z "$inst" ]; then
# Now stop other daemons that're prowling, coz the daemons file changed
- echo -n "Stopping other quagga daemons"
+ echo -n "Stopping other frr daemons"
if [ -n "$daemon" ]; then
eval "file_list_suffix="$V_PATH"/"$daemon*""
else
@@ -374,7 +374,7 @@ start_prio()
wanted_prio=$1
daemon_list=${daemon:-$DAEMONS}
- echo -n "Starting Quagga daemons (prio:$wanted_prio):"
+ echo -n "Starting Frr daemons (prio:$wanted_prio):"
for prio_i in `seq 1 $wanted_prio`; do
for daemon_name in $daemon_list; do
@@ -479,7 +479,7 @@ check_status()
. "$C_PATH/debian.conf"
# Read configuration variable file if it is present
-[ -r /etc/default/quagga ] && . /etc/default/quagga
+[ -r /etc/default/frr ] && . /etc/default/frr
MAX_INSTANCES=${MAX_INSTANCES:=5}
@@ -489,7 +489,7 @@ convert_daemon_prios
if [ ! -d $V_PATH ]; then
echo "Creating $V_PATH"
mkdir -p $V_PATH
- chown quagga:quagga $V_PATH
+ chown frr:frr $V_PATH
chmod 755 /$V_PATH
fi
@@ -542,11 +542,11 @@ case "$1" in
reload)
# Just apply the commands that have changed, no restart necessary
- [ ! -x "$RELOAD_SCRIPT" ] && echo "quagga-reload script not available" && exit 0
- NEW_CONFIG_FILE="${2:-$C_PATH/Quagga.conf}"
+ [ ! -x "$RELOAD_SCRIPT" ] && echo "frr-reload script not available" && exit 0
+ NEW_CONFIG_FILE="${2:-$C_PATH/Frr.conf}"
[ ! -r $NEW_CONFIG_FILE ] && echo "Unable to read new configuration file $NEW_CONFIG_FILE" && exit 1
- echo "Applying only incremental changes to running configuration from Quagga.conf"
- "$RELOAD_SCRIPT" --reload /etc/quagga/Quagga.conf
+ echo "Applying only incremental changes to running configuration from Frr.conf"
+ "$RELOAD_SCRIPT" --reload /etc/frr/Frr.conf
exit $?
;;
@@ -562,11 +562,11 @@ case "$1" in
;;
*)
- echo "Usage: /etc/init.d/quagga {start|stop|status|reload|restart|force-reload|<priority>} [daemon]"
- echo " E.g. '/etc/init.d/quagga 5' would start all daemons with a prio 1-5."
+ echo "Usage: /etc/init.d/frr {start|stop|status|reload|restart|force-reload|<priority>} [daemon]"
+ echo " E.g. '/etc/init.d/frr 5' would start all daemons with a prio 1-5."
echo " reload applies only modifications from the running config to all daemons."
echo " reload neither restarts starts any daemon nor starts any new ones."
- echo " Read /usr/share/doc/quagga/README.Debian for details."
+ echo " Read /usr/share/doc/frr/README.Debian for details."
exit 1
;;
esac
diff --git a/tools/quagga-reload.py b/tools/frr-reload.py
index 4d6e9259fd..463784de11 100755
--- a/tools/quagga-reload.py
+++ b/tools/frr-reload.py
@@ -1,30 +1,30 @@
#!/usr/bin/python
-# Quagga Reloader
+# Frr Reloader
# Copyright (C) 2014 Cumulus Networks, Inc.
#
-# This file is part of Quagga.
+# This file is part of Frr.
#
-# Quagga is free software; you can redistribute it and/or modify it
+# Frr is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the
# Free Software Foundation; either version 2, or (at your option) any
# later version.
#
-# Quagga is distributed in the hope that it will be useful, but
+# Frr is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
-# along with Quagga; see the file COPYING. If not, write to the Free
+# along with Frr; see the file COPYING. If not, write to the Free
# Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
#
"""
This program
-- reads a quagga configuration text file
-- reads quagga's current running configuration via "vtysh -c 'show running'"
+- reads a frr configuration text file
+- reads frr's current running configuration via "vtysh -c 'show running'"
- compares the two configs and determines what commands to execute to
- synchronize quagga's running configuration with the configuation in the
+ synchronize frr's running configuration with the configuation in the
text file
"""
@@ -52,7 +52,7 @@ class VtyshMarkException(Exception):
class Context(object):
"""
- A Context object represents a section of quagga configuration such as:
+ A Context object represents a section of frr configuration such as:
!
interface swp3
description swp3 -> r8's swp1
@@ -91,7 +91,7 @@ ip forwarding
class Config(object):
"""
- A quagga configuration is stored in a Config object. A Config object
+ A frr configuration is stored in a Config object. A Config object
contains a dictionary of Context objects where the Context keys
('router ospf' for example) are our dictionary key.
"""
@@ -394,7 +394,7 @@ def line_to_vtysh_conft(ctx_keys, line, delete):
def line_for_vtysh_file(ctx_keys, line, delete):
"""
- Return the command as it would appear in Quagga.conf
+ Return the command as it would appear in Frr.conf
"""
cmd = []
@@ -435,7 +435,7 @@ def line_for_vtysh_file(ctx_keys, line, delete):
def get_normalized_ipv6_line(line):
"""
- Return a normalized IPv6 line as produced by quagga,
+ Return a normalized IPv6 line as produced by frr,
with all letters in lower case and trailing and leading
zeros removed
"""
@@ -473,14 +473,14 @@ def ignore_delete_re_add_lines(lines_to_add, lines_to_del):
if ctx_keys[0].startswith('router bgp') and line and line.startswith('neighbor '):
"""
BGP changed how it displays swpX peers that are part of peer-group. Older
- versions of quagga would display these on separate lines:
+ versions of frr would display these on separate lines:
neighbor swp1 interface
neighbor swp1 peer-group FOO
but today we display via a single line
neighbor swp1 interface peer-group FOO
- This change confuses quagga-reload.py so check to see if we are deleting
+ This change confuses frr-reload.py so check to see if we are deleting
neighbor swp1 interface peer-group FOO
and adding
@@ -531,7 +531,7 @@ def ignore_delete_re_add_lines(lines_to_add, lines_to_del):
"""
In 3.0.1 we changed how we display neighbor interface command. Older
- versions of quagga would display the following:
+ versions of frr would display the following:
neighbor swp1 interface
neighbor swp1 remote-as external
neighbor swp1 capability extended-nexthop
@@ -542,7 +542,7 @@ def ignore_delete_re_add_lines(lines_to_add, lines_to_del):
and capability extended-nexthop is no longer needed because we
automatically enable it when the neighbor is of type interface.
- This change confuses quagga-reload.py so check to see if we are deleting
+ This change confuses frr-reload.py so check to see if we are deleting
neighbor swp1 interface remote-as (external|internal|ASNUM)
and adding
@@ -689,19 +689,19 @@ def compare_context_objects(newconf, running):
if __name__ == '__main__':
# Command line options
- parser = argparse.ArgumentParser(description='Dynamically apply diff in quagga configs')
+ parser = argparse.ArgumentParser(description='Dynamically apply diff in frr configs')
parser.add_argument('--input', help='Read running config from file instead of "show running"')
group = parser.add_mutually_exclusive_group(required=True)
group.add_argument('--reload', action='store_true', help='Apply the deltas', default=False)
group.add_argument('--test', action='store_true', help='Show the deltas', default=False)
parser.add_argument('--debug', action='store_true', help='Enable debugs', default=False)
parser.add_argument('--stdout', action='store_true', help='Log to STDOUT', default=False)
- parser.add_argument('filename', help='Location of new quagga config file')
+ parser.add_argument('filename', help='Location of new frr config file')
args = parser.parse_args()
# Logging
# For --test log to stdout
- # For --reload log to /var/log/quagga/quagga-reload.log
+ # For --reload log to /var/log/frr/frr-reload.log
if args.test or args.stdout:
logging.basicConfig(level=logging.INFO,
format='%(asctime)s %(levelname)5s: %(message)s')
@@ -711,10 +711,10 @@ if __name__ == '__main__':
logging.addLevelName(logging.WARNING, "\033[91m%s\033[0m" % logging.getLevelName(logging.WARNING))
elif args.reload:
- if not os.path.isdir('/var/log/quagga/'):
- os.makedirs('/var/log/quagga/')
+ if not os.path.isdir('/var/log/frr/'):
+ os.makedirs('/var/log/frr/')
- logging.basicConfig(filename='/var/log/quagga/quagga-reload.log',
+ logging.basicConfig(filename='/var/log/frr/frr-reload.log',
level=logging.INFO,
format='%(asctime)s %(levelname)5s: %(message)s')
@@ -733,7 +733,7 @@ if __name__ == '__main__':
sys.exit(1)
# Verify that 'service integrated-vtysh-config' is configured
- vtysh_filename = '/etc/quagga/vtysh.conf'
+ vtysh_filename = '/etc/frr/vtysh.conf'
service_integrated_vtysh_config = True
if os.path.isfile(vtysh_filename):
@@ -746,7 +746,7 @@ if __name__ == '__main__':
break
if not service_integrated_vtysh_config:
- print "'service integrated-vtysh-config' is not configured, this is required for 'service quagga reload'"
+ print "'service integrated-vtysh-config' is not configured, this is required for 'service frr reload'"
sys.exit(1)
if args.debug:
@@ -799,7 +799,7 @@ if __name__ == '__main__':
elif args.reload:
- log.debug('New Quagga Config\n%s', newconf.get_lines())
+ log.debug('New Frr Config\n%s', newconf.get_lines())
# This looks a little odd but we have to do this twice...here is why
# If the user had this running bgp config:
@@ -826,7 +826,7 @@ if __name__ == '__main__':
for x in range(2):
running = Config()
running.load_from_show_running()
- log.debug('Running Quagga Config (Pass #%d)\n%s', x, running.get_lines())
+ log.debug('Running Frr Config (Pass #%d)\n%s', x, running.get_lines())
(lines_to_add, lines_to_del) = compare_context_objects(newconf, running)
@@ -842,19 +842,19 @@ if __name__ == '__main__':
cmd = line_to_vtysh_conft(ctx_keys, line, True)
original_cmd = cmd
- # Some commands in quagga are picky about taking a "no" of the entire line.
+ # Some commands in frr are picky about taking a "no" of the entire line.
# OSPF is bad about this, you can't "no" the entire line, you have to "no"
# only the beginning. If we hit one of these command an exception will be
# thrown. Catch it and remove the last '-c', 'FOO' from cmd and try again.
#
# Example:
- # quagga(config-if)# ip ospf authentication message-digest 1.1.1.1
- # quagga(config-if)# no ip ospf authentication message-digest 1.1.1.1
+ # frr(config-if)# ip ospf authentication message-digest 1.1.1.1
+ # frr(config-if)# no ip ospf authentication message-digest 1.1.1.1
# % Unknown command.
- # quagga(config-if)# no ip ospf authentication message-digest
+ # frr(config-if)# no ip ospf authentication message-digest
# % Unknown command.
- # quagga(config-if)# no ip ospf authentication
- # quagga(config-if)#
+ # frr(config-if)# no ip ospf authentication
+ # frr(config-if)#
while True:
try:
@@ -895,7 +895,7 @@ if __name__ == '__main__':
string.ascii_uppercase +
string.digits) for _ in range(6))
- filename = "/var/run/quagga/reload-%s.txt" % random_string
+ filename = "/var/run/frr/reload-%s.txt" % random_string
log.info("%s content\n%s" % (filename, pformat(lines_to_configure)))
with open(filename, 'w') as fh:
diff --git a/tools/quagga.service b/tools/frr.service
index a2c1df38d7..efc23ece88 100644
--- a/tools/quagga.service
+++ b/tools/frr.service
@@ -1,11 +1,11 @@
[Unit]
-Description=Cumulus Linux Quagga
+Description=Cumulus Linux FRR
After=syslog.target networking.service
OnFailure=heartbeat-failed@%n.service
[Service]
Nice=-5
-EnvironmentFile=/etc/default/quagga
+EnvironmentFile=/etc/default/frr
Type=forking
NotifyAccess=all
StartLimitInterval=3m
@@ -15,8 +15,8 @@ WatchdogSec=60s
RestartSec=5
Restart=on-abnormal
LimitNOFILE=1024
-ExecStart=/usr/lib/quagga/quagga start
-ExecStop=/usr/lib/quagga/quagga stop
-ExecReload=/usr/lib/quagga/quagga-reload.py --reload /etc/quagga/Quagga.conf
+ExecStart=/usr/lib/frr/frr start
+ExecStop=/usr/lib/frr/frr stop
+ExecReload=/usr/lib/frr/frr-reload.py --reload /etc/frr/Frr.conf
[Install]
WantedBy=network-online.target