* SAFETY MEASURES: ================== The quagga package used to have a debconf option to abort during the upgrade process to avoid inadvertently dropping routes and/or causing BGP flaps. This has been removed as it was a violation of Debian Policy. Instead, please consider setting this package "on hold" after installation by typing: # apt-mark hold quagga And verifying this using: $ apt-mark showhold 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. * Daemon Selection and Control: =============================== SystemD ~~~~~~~ Each routing daemon can be brought up or down independently. E.g. # systemctl start bgpd This will also automatically start the `zebra` service, which is a dependency of all the quagga routing daemons. Restart an individual daemon in the usual way: # systemctl restart bgpd And restart or stop all daemons by targeting the `zebra` dependency: # systemctl restart zebra # systemctl stop zebra IMPORTANT NOTE: Before starting (and so, by extension, on restart), the `zebra` service will flush all existing zebra/quagga routes from the kernel routing table. To override this behaviour, copy /lib/systemd/system/zebra.service to /etc/systemd/system/zebra.service, and remove the "flush" line. SysV Init ~~~~~~~~~ The packaged initscripts will not start the daemons unless the relevant .conf file exists, e.g. for bgpd /etc/quagga/bgpd.conf. This matches how the systemd unit files work. Also, on package install/upgrade the daemons are not automatically started or restarted. This means that you can upgrade the software without it restarting and dropping all your routes, leaving it so that you can restart the daemons when you're ready. The watchquagga init script relies on the WATCH_DAEMONS setting in /etc/default/quagga, if you want to use watchquagga then set that to the list of daemons to watch. * What is quagga? ================= http://www.quagga.net/ > Quagga 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 > Zebra which was developed by Kunihiro Ishiguro. Development of GNU Zebra > slowed dramatically to the point where eventually GNU Zebra was forked into > Quagga. > The Quagga 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 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 orphaned zebra. -- Christian Hammers , Jul/Aug 2003 * Why has SNMP support been disabled? ===================================== Quagga 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: 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 "copyright holder". That's too much work. *BUT* It is allowed by the used licence mix that you fetch the sources and build Quagga yourself with SNMP with # export WANT_SNMP=1 # apt-get -b source quagga Just distributing it in binary form, linked against OpenSSL, is forbidden. * Error message "privs_init: initial cap_set_proc failed": ========================================================== This error message means that "capability support" has to be built into the kernel. * Error message "netlink-listen: overrun: No buffer space available": ===================================================================== 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. > net.core.rmem_default = 262144 > net.core.rmem_max = 262144 See message #4525 from 2005-05-09 in the quagga-users mailing list. * vtysh immediately exists: =========================== Check /etc/pam.d/quagga, it probably denies access to your user. The passwords configured in /etc/quagga/*.conf are only for telnet access. * /etc/quagga/Quagga.conf has no effect: ======================================== Quagga in Debian ignores the integrated configuration file by default (upstream recommends against using it at all). If you want to use it anyway, please copy the relevant .service files from /lib/systemd/system/ into /etc/systemd/system/ and patch out "-f *.conf".