]> git.proxmox.com Git - mirror_frr.git/blame_incremental - debian/README.Debian
Merge pull request #5793 from ton31337/fix/formatting_show_bgp_summary_failed
[mirror_frr.git] / debian / README.Debian
... / ...
CommitLineData
1* SAFETY MEASURES:
2==================
3
4Please consider setting this package "on hold" by typing
5 echo "frr hold" | dpkg --set-selections
6and verifying this using
7 dpkg --get-selections | grep 'hold$'
8
9Setting a package "on hold" means that it will not automatically be upgraded.
10Instead apt-get only displays a warning saying that a new version would be
11available forcing you to explicitly type "apt-get install frr" to upgrade it.
12
13
14* What is frr?
15=================
16
17http://www.frrouting.org/
18FRR is a routing software suite, providing implementations of OSPFv2,
19OSPFv3, RIP v1 and v2, RIPng, ISIS, PIM, BGP and LDP for Unix platforms, particularly
20FreeBSD and Linux and also NetBSD, to mention a few. FRR is a fork of Quagga
21which itself is a fork of Zebra.
22Zebra was developed by Kunihiro Ishiguro.
23
24
25* Build Profiles used in the upstream debian/
26=============================================
27
28The following Build Profiles have been added:
29
30- pkg.frr.nortrlib (pkg.frr.rtrlib)
31 controls whether the RPKI module is built.
32 Will be enabled by default at some point, adds some extra dependencies.
33
34- pkg.frr.nosnmp (pkg.frr.snmp)
35 controls whether the SNMP module is built, see below for license issues.
36 Will remain default-off as long as the license issue persists.
37
38- pkg.frr.nosystemd
39 Disables both systemd unit file installation as well as watchfrr sd_notify
40 support at startup. Removes libsystemd dependency.
41
42Note that all options have a "no" form; if you want to have your decision
43be sticky regardless of changes to what it defaults to, then always use one
44of the two. For example, all occurrences of <pkg.frr.rtrlib> will at some
45point be replaced with <!pkg.frr.nortrlib>.
46
47The main frr package has the exact same contents regardless of rtrlib or snmp
48choices. The options only control frr-snmp and frr-rpki-rtrlib packages.
49
50The main frr package does NOT have the same contents if pkg.frr.nosystemd is
51used. This option should only be used for systems that do not have systemd,
52e.g. Ubuntu 14.04.
53
54
55* Why has SNMP support been disabled?
56=====================================
57FRR used to link against the NetSNMP libraries to provide SNMP
58support. Those libraries sadly link against the OpenSSL libraries
59to provide crypto support for SNMPv3 among others.
60OpenSSL now is not compatible with the GNU GENERAL PUBLIC LICENSE (GPL)
61licence that FRR is distributed under. For more explanation read:
62 http://www.gnome.org/~markmc/openssl-and-the-gpl.html
63 http://www.gnu.org/licenses/gpl-faq.html#GPLIncompatibleLibs
64Updating the licence to explicitly allow linking against OpenSSL
65would requite the affirmation of all people that ever contributed
66a significant part to Zebra / Quagga or FRR and thus are the collective
67"copyright holder". That's too much work. Using a shrinked down
68version of NetSNMP without OpenSSL or convincing the NetSNMP people
69to change to GnuTLS are maybe good solutions but not reachable
70during the last days before the Sarge release :-(
71
72 *BUT*
73
74It is allowed by the used licence mix that you fetch the sources and
75build FRR yourself with SNMP with
76 # apt-get -b source -Ppkg.frr.snmp frr
77Just distributing it in binary form, linked against OpenSSL, is forbidden.
78
79
80* Debian Policy compliance notes
81================================
82
83- 4.15 Reproducibility
84 FRR build is reproducible as outlined in version 4.2.1 of the Policy, but
85 won't be reproducible when the build directory is varied. This is because
86 configure parameters are burned into the executables which includes CFLAGS
87 like -fdebug-prefix-map=/build/directory/...
88
89
90* Daemon selection:
91===================
92
93The Debian package uses /etc/frr/daemons to tell the
94initscript which daemons to start. It's in the format
95<daemon>=<yes|no|priority>
96with no spaces (it's simply source-d into the initscript).
97Default is not to start anything, since it can hose your
98system's routing table if not set up properly.
99
100Priorities were suggested by Dancer <dancer@zeor.simegen.com>.
101They're used to start the FRR daemons in more than one step
102(for example start one or two at network initialization and the
103rest later). The number of FRR daemons being small, priorities
104must be between 1 and 9, inclusive (or the initscript has to be
105changed). /etc/init.d/frr then can be started as
106
107/etc/init.d/frr <start|stop|restart|<priority>>
108
109where priority 0 is the same as 'stop', priority 10 or 'start'
110means 'start all'
111
112
113* Error message "privs_init: initial cap_set_proc failed":
114==========================================================
115
116This error message means that "capability support" has to be built
117into the kernel.
118
119
120* Error message "netlink-listen: overrun: No buffer space available":
121=====================================================================
122
123If this message occurs the receive buffer should be increased by adding the
124following to /etc/sysctl.conf and "--nl-bufsize" to /etc/frr/daemons.
125> net.core.rmem_default = 262144
126> net.core.rmem_max = 262144
127See message #4525 from 2005-05-09 in the quagga-users mailing list.
128
129
130* vtysh immediately exists:
131===========================
132
133Check /etc/pam.d/frr, it probably denies access to your user. The passwords
134configured in /etc/frr/frr.conf are only for telnet access.
135