File: quagga-core.README.Debian

package info (click to toggle)
quagga 1.2.4-4
  • links: PTS, VCS
  • area: main
  • in suites: bullseye, sid
  • size: 16,788 kB
  • sloc: ansic: 262,230; sh: 5,570; makefile: 717; perl: 329; lisp: 62; awk: 30
file content (140 lines) | stat: -rw-r--r-- 5,401 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
* 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 <ch@debian.org>, 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
	<remove the "grep ^smux" block at the end of debian/quagga.preinst>
        # 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".