diff options
| -rw-r--r-- | debian/README.Debian | 50 | ||||
| -rw-r--r-- | debian/README.Maintainer | 16 | ||||
| -rw-r--r-- | debian/changelog | 4 | ||||
| -rw-r--r-- | debian/control | 30 | ||||
| -rw-r--r-- | debian/copyright | 6 | ||||
| -rw-r--r-- | debian/frr-doc.docs (renamed from debian/quagga-doc.docs) | 0 | ||||
| -rw-r--r-- | debian/frr-doc.info | 1 | ||||
| -rw-r--r-- | debian/frr-doc.install (renamed from debian/quagga-doc.install) | 0 | ||||
| -rw-r--r-- | debian/frr-doc.lintian-overrides | 1 | ||||
| -rw-r--r-- | debian/frr.conf | 2 | ||||
| -rw-r--r-- | debian/frr.config (renamed from debian/quagga.config) | 0 | ||||
| -rw-r--r-- | debian/frr.dirs | 7 | ||||
| -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-overrides | 4 | ||||
| -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.postinst | 41 | ||||
| -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.info | 1 | ||||
| -rw-r--r-- | debian/quagga-doc.lintian-overrides | 1 | ||||
| -rw-r--r-- | debian/quagga.conf | 2 | ||||
| -rw-r--r-- | debian/quagga.dirs | 7 | ||||
| -rw-r--r-- | debian/quagga.lintian-overrides | 4 | ||||
| -rw-r--r-- | debian/quagga.postinst | 41 | ||||
| -rwxr-xr-x | debian/rules | 38 | ||||
| -rw-r--r-- | debian/tests/control | 2 | ||||
| -rw-r--r-- | debian/tests/daemons | 10 | ||||
| -rw-r--r-- | debian/watch | 2 | ||||
| -rw-r--r-- | debian/watchfrr.rc | 4 | ||||
| -rw-r--r-- | debian/watchquagga.rc | 4 | ||||
| -rw-r--r-- | redhat/quagga.spec.in | 14 | ||||
| -rw-r--r-- | tools/Makefile.am | 4 | ||||
| -rwxr-xr-x | tools/frr (renamed from tools/quagga) | 72 | ||||
| -rwxr-xr-x | tools/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 |
