]> git.proxmox.com Git - mirror_frr.git/blob - redhat/frr.spec.in
afe75e1f261370bfc511ad5173ff607592ab95a9
[mirror_frr.git] / redhat / frr.spec.in
1 # configure options
2 #
3 # Some can be overridden on rpmbuild commandline with:
4 # rpmbuild --define 'variable value'
5 # (use any value, ie 1 for flag "with_XXXX" definitions)
6 #
7 # E.g. rpmbuild --define 'release_rev 02' may be useful if building
8 # rpms again and again on the same day, so the newer rpms can be installed.
9 # bumping the number each time.
10
11 #################### FRRouting (FRR) configure options #####################
12 # with-feature options
13 %{!?with_babeld: %global with_babeld 1 }
14 %{!?with_bfdd: %global with_bfdd 1 }
15 %{!?with_bgp_vnc: %global with_bgp_vnc 0 }
16 %{!?with_cumulus: %global with_cumulus 0 }
17 %{!?with_eigrpd: %global with_eigrpd 1 }
18 %{!?with_fpm: %global with_fpm 1 }
19 %{!?with_ldpd: %global with_ldpd 1 }
20 %{!?with_multipath: %global with_multipath 256 }
21 %{!?with_nhrpd: %global with_nhrpd 1 }
22 %{!?with_ospfapi: %global with_ospfapi 1 }
23 %{!?with_ospfclient: %global with_ospfclient 1 }
24 %{!?with_pam: %global with_pam 0 }
25 %{!?with_pbrd: %global with_pbrd 1 }
26 %{!?with_pimd: %global with_pimd 1 }
27 %{!?with_pim6d: %global with_pim6d 0 }
28 %{!?with_vrrpd: %global with_vrrpd 1 }
29 %{!?with_rtadv: %global with_rtadv 1 }
30 %{!?with_watchfrr: %global with_watchfrr 1 }
31 %{!?with_pathd: %global with_pathd 1 }
32
33 # user and group
34 %{!?frr_user: %global frr_user frr }
35 %{!?vty_group: %global vty_group frrvty }
36
37 # path defines
38 %define configdir %{_sysconfdir}/%{name}
39 %define _sbindir /usr/lib/frr
40 %define zeb_src %{_builddir}/%{name}-%{frrversion}
41 %define zeb_rh_src %{zeb_src}/redhat
42 %define zeb_docs %{zeb_src}/doc
43 %define frr_tools %{zeb_src}/tools
44
45 # defines for configure
46 %define rundir %{_localstatedir}/run/%{name}
47
48 ############################################################################
49
50 #### Version String tweak
51 # Remove invalid characters form version string and replace with _
52 %{expand: %%global rpmversion %(echo '@VERSION@' | tr [:blank:]- _ )}
53 %define frrversion @VERSION@
54
55 #### Check for systemd or init.d (upstart)
56 # Check for init.d (upstart) as used in CentOS 6 or systemd (ie CentOS 7)
57 %if 0%{?fedora} || 0%{?rhel} >= 7 || 0%{?suse_version} >= 1210
58 %global initsystem systemd
59 %else
60 %if 0%{?rhel} && 0%{?rhel} < 7
61 %global initsystem upstart
62 %else
63 %{expand: %%global initsystem %(if [[ `/sbin/init --version 2> /dev/null` =~ upstart ]]; then echo upstart; elif [[ `readlink -f /sbin/init` = /usr/lib/systemd/systemd ]]; then echo systemd; elif [[ `systemctl` =~ -\.mount ]]; then echo systemd; fi)}
64 %endif
65 %endif
66
67 # Check for python version - use python2.7 on CentOS 6, otherwise python3
68 %if 0%{?rhel} && 0%{?rhel} < 7
69 %global use_python2 1
70 %else
71 %global use_python2 0
72 %endif
73
74 # If init system is systemd, then always enable watchfrr
75 %if "%{initsystem}" == "systemd"
76 %global with_watchfrr 1
77 %endif
78
79 #### Check for RedHat 6.x or CentOS 6.x - they are too old to support PIM.
80 #### Always disable it on these old systems unconditionally
81 #
82 # if CentOS / RedHat and version < 7, then disable PIMd (too old, won't work)
83 %if 0%{?rhel} && 0%{?rhel} < 7
84 %global with_pimd 0
85 %global with_pim6d 0
86 %endif
87
88 # misc internal defines
89 %{!?frr_uid: %global frr_uid 92 }
90 %{!?frr_gid: %global frr_gid 92 }
91 %{!?vty_gid: %global vty_gid 85 }
92
93 %define daemon_list zebra ripd ospfd bgpd isisd ripngd ospf6d pbrd staticd bfdd fabricd pathd
94
95 %if %{with_ldpd}
96 %define daemon_ldpd ldpd
97 %else
98 %define daemon_ldpd ""
99 %endif
100
101 %if %{with_pimd}
102 %define daemon_pimd pimd
103 %else
104 %define daemon_pimd ""
105 %endif
106
107 %if %{with_pim6d}
108 %define daemon_pim6d pim6d
109 %else
110 %define daemon_pim6d ""
111 %endif
112
113 %if %{with_pbrd}
114 %define daemon_pbrd pbrd
115 %else
116 %define daemon_pbrd ""
117 %endif
118
119 %if %{with_nhrpd}
120 %define daemon_nhrpd nhrpd
121 %else
122 %define daemon_nhrpd ""
123 %endif
124
125 %if %{with_eigrpd}
126 %define daemon_eigrpd eigrpd
127 %else
128 %define daemon_eigrpd ""
129 %endif
130
131 %if %{with_babeld}
132 %define daemon_babeld babeld
133 %else
134 %define daemon_babeld ""
135 %endif
136
137 %if %{with_vrrpd}
138 %define daemon_vrrpd vrrpd
139 %else
140 %define daemon_vrrpd ""
141 %endif
142
143 %if %{with_watchfrr}
144 %define daemon_watchfrr watchfrr
145 %else
146 %define daemon_watchfrr ""
147 %endif
148
149 %if %{with_bfdd}
150 %define daemon_bfdd bfdd
151 %else
152 %define daemon_bfdd ""
153 %endif
154
155 %if %{with_pathd}
156 %define daemon_pathd pathd
157 %else
158 %define daemon_pathd ""
159 %endif
160
161 %define all_daemons %{daemon_list} %{daemon_ldpd} %{daemon_pimd} %{daemon_pim6d} %{daemon_nhrpd} %{daemon_eigrpd} %{daemon_babeld} %{daemon_watchfrr} %{daemon_pbrd} %{daemon_bfdd} %{daemon_vrrpd} %{daemon_pathd}
162
163 #release sub-revision (the two digits after the CONFDATE)
164 %{!?release_rev: %global release_rev 01 }
165
166 Summary: Routing daemon
167 Name: frr
168 Version: %{rpmversion}
169 Release: %{release_rev}%{?dist}
170 License: GPLv2+
171 Group: System Environment/Daemons
172 Source0: https://github.com/FRRouting/frr/archive/%{name}-%{frrversion}.tar.gz
173 URL: https://www.frrouting.org
174 Requires(pre): shadow-utils
175 Requires(preun): info
176 Requires(post): info
177 BuildRequires: bison >= 2.7
178 BuildRequires: c-ares-devel
179 BuildRequires: flex
180 BuildRequires: gcc
181 BuildRequires: json-c-devel
182 BuildRequires: libcap-devel
183 BuildRequires: make
184 BuildRequires: ncurses-devel
185 BuildRequires: readline-devel
186 BuildRequires: texinfo
187 BuildRequires: libyang2-devel
188 %if 0%{?rhel} && 0%{?rhel} < 7
189 #python27-devel is available from ius community repo for RedHat/CentOS 6
190 BuildRequires: python27-devel
191 BuildRequires: python27-sphinx
192 %else
193 %if %{use_python2}
194 BuildRequires: python-devel >= 2.7
195 BuildRequires: python-sphinx
196 %else
197 BuildRequires: python3-devel
198 BuildRequires: python3-sphinx
199 %endif
200 %endif
201 %if 0%{?rhel} > 7
202 #platform-python-devel is needed for /usr/bin/pathfix.py
203 BuildRequires: platform-python-devel
204 %endif
205 Requires: initscripts
206 %if %{with_pam}
207 BuildRequires: pam-devel
208 %endif
209 %if "%{initsystem}" == "systemd"
210 BuildRequires: systemd
211 BuildRequires: systemd-devel
212 Requires(post): systemd
213 Requires(preun): systemd
214 Requires(postun): systemd
215 %else
216 Requires(post): chkconfig
217 Requires(preun): chkconfig
218 # Initscripts > 5.60 is required for IPv6 support
219 Requires(pre): initscripts >= 5.60
220 %endif
221 Provides: routingdaemon = %{version}-%{release}
222 Obsoletes: gated mrt zebra frr-sysvinit
223 Conflicts: bird
224
225
226 %description
227 FRRouting is a free software that manages TCP/IP based routing
228 protocol. It takes multi-server and multi-thread approach to resolve
229 the current complexity of the Internet.
230
231 FRRouting supports BGP4, OSPFv2, OSPFv3, ISIS, RIP, RIPng, PIM, LDP
232 NHRP, Babel, PBR, EIGRP and BFD.
233
234 FRRouting is a fork of Quagga.
235
236
237 %package contrib
238 Summary: contrib tools for frr
239 Group: System Environment/Daemons
240
241 %description contrib
242 Contributed/3rd party tools which may be of use with frr.
243
244
245 %package pythontools
246 Summary: python tools for frr
247 %if 0%{?rhel} && 0%{?rhel} < 7
248 #python27 is available from ius community repo for RedHat/CentOS 6
249 BuildRequires: python27
250 Requires: python27-ipaddress
251 %else
252 %if %{use_python2}
253 BuildRequires: python2
254 Requires: python2-ipaddress
255 %else
256 BuildRequires: python3
257 %endif
258 %endif
259 Group: System Environment/Daemons
260
261 %description pythontools
262 Contributed python 2.7 tools which may be of use with frr.
263
264
265 %package devel
266 Summary: Header and object files for frr development
267 Group: System Environment/Daemons
268 Requires: %{name} = %{version}-%{release}
269
270 %description devel
271 The frr-devel package contains the header and object files necessary for
272 developing OSPF-API and frr applications.
273
274
275 %package rpki-rtrlib
276 Summary: BGP RPKI support (rtrlib)
277 Group: System Environment/Daemons
278 BuildRequires: librtr-devel >= 0.8
279 Requires: %{name} = %{version}-%{release}
280
281 %description rpki-rtrlib
282 Adds RPKI support to FRR's bgpd, allowing validation of BGP routes
283 against cryptographic information stored in WHOIS databases. This is
284 used to prevent hijacking of networks on the wider internet. It is only
285 relevant to internet service providers using their own autonomous system
286 number.
287
288
289 %package snmp
290 Summary: SNMP support
291 Group: System Environment/Daemons
292 BuildRequires: net-snmp-devel
293 Requires: %{name} = %{version}-%{release}
294
295 %description snmp
296 Adds SNMP support to FRR's daemons by attaching to net-snmp's snmpd
297 through the AgentX protocol. Provides read-only access to current
298 routing state through standard SNMP MIBs.
299
300
301 %prep
302 %setup -q -n frr-%{frrversion}
303
304
305 %build
306
307 # For standard gcc verbosity, uncomment these lines:
308 #CFLAGS="%{optflags} -Wall -Wsign-compare -Wpointer-arith"
309 #CFLAGS="${CFLAGS} -Wbad-function-cast -Wwrite-strings"
310
311 # For ultra gcc verbosity, uncomment these lines also:
312 #CFLAGS="${CFLAGS} -W -Wcast-qual -Wstrict-prototypes"
313 #CFLAGS="${CFLAGS} -Wmissing-declarations -Wmissing-noreturn"
314 #CFLAGS="${CFLAGS} -Wmissing-format-attribute -Wunreachable-code"
315 #CFLAGS="${CFLAGS} -Wpacked -Wpadded"
316
317 %configure \
318 --sbindir=%{_sbindir} \
319 --sysconfdir=%{configdir} \
320 --localstatedir=%{rundir} \
321 --disable-static \
322 --disable-werror \
323 --enable-irdp \
324 %if %{with_multipath}
325 --enable-multipath=%{with_multipath} \
326 %endif
327 --enable-vtysh \
328 %if %{with_ospfclient}
329 --enable-ospfclient \
330 %else
331 --disable-ospfclient\
332 %endif
333 %if %{with_ospfapi}
334 --enable-ospfapi \
335 %else
336 --disable-ospfapi \
337 %endif
338 %if %{with_rtadv}
339 --enable-rtadv \
340 %else
341 --disable-rtadv \
342 %endif
343 %if %{with_ldpd}
344 --enable-ldpd \
345 %else
346 --disable-ldpd \
347 %endif
348 %if %{with_pimd}
349 --enable-pimd \
350 %else
351 --disable-pimd \
352 %endif
353 %if %{with_pim6d}
354 --enable-pim6d \
355 %else
356 --disable-pim6d \
357 %endif
358 %if %{with_pbrd}
359 --enable-pbrd \
360 %else
361 --disable-pbrd \
362 %endif
363 %if %{with_nhrpd}
364 --enable-nhrpd \
365 %else
366 --disable-nhrpd \
367 %endif
368 %if %{with_eigrpd}
369 --enable-eigrpd \
370 %else
371 --disable-eigrpd \
372 %endif
373 %if %{with_babeld}
374 --enable-babeld \
375 %else
376 --disable-babeld \
377 %endif
378 %if %{with_vrrpd}
379 --enable-vrrpd \
380 %else
381 --disable-vrrpd \
382 %endif
383 %if %{with_pam}
384 --with-libpam \
385 %endif
386 %if 0%{?frr_user:1}
387 --enable-user=%{frr_user} \
388 --enable-group=%{frr_user} \
389 %endif
390 %if 0%{?vty_group:1}
391 --enable-vty-group=%{vty_group} \
392 %endif
393 %if %{with_fpm}
394 --enable-fpm \
395 %else
396 --disable-fpm \
397 %endif
398 %if %{with_watchfrr}
399 --enable-watchfrr \
400 %else
401 --disable-watchfrr \
402 %endif
403 %if %{with_cumulus}
404 --enable-cumulus \
405 %endif
406 %if %{with_bgp_vnc}
407 --enable-bgp-vnc \
408 %else
409 --disable-bgp-vnc \
410 %endif
411 --enable-isisd \
412 --enable-rpki \
413 %if %{with_bfdd}
414 --enable-bfdd \
415 %else
416 --disable-bfdd \
417 %endif
418 %if %{with_pathd}
419 --enable-pathd \
420 %else
421 --disable-pathd \
422 %endif
423 --enable-snmp
424 # end
425
426 make %{?_smp_mflags} MAKEINFO="makeinfo --no-split"
427
428 %if %{use_python2}
429 # Change frr-reload.py to use python2.7
430 sed -e '1c #!/usr/bin/python2.7' -i %{zeb_src}/tools/frr-reload.py
431 sed -e '1c #!/usr/bin/python2.7' -i %{zeb_src}/tools/generate_support_bundle.py
432 %else
433 # Change frr-reload.py to use python3
434 sed -e '1c #!/usr/bin/python3' -i %{zeb_src}/tools/frr-reload.py
435 sed -e '1c #!/usr/bin/python3' -i %{zeb_src}/tools/generate_support_bundle.py
436 %endif
437
438 pushd doc
439 make info
440 popd
441
442
443 %install
444 mkdir -p %{buildroot}%{_sysconfdir}/{frr,sysconfig,logrotate.d,pam.d,default} \
445 %{buildroot}%{_infodir}
446 mkdir -m 0755 -p %{buildroot}%{_localstatedir}/log/frr
447 make DESTDIR=%{buildroot} INSTALL="install -p" CP="cp -p" install
448
449 # Remove this file, as it is uninstalled and causes errors when building on RH9
450 rm -rf %{buildroot}/usr/share/info/dir
451
452 # Remove debian init script if it was installed
453 rm -f %{buildroot}%{_sbindir}/frr
454
455 # kill bogus libtool files
456 rm -vf %{buildroot}%{_libdir}/frr/modules/*.la
457 rm -vf %{buildroot}%{_libdir}/*.la
458 rm -vf %{buildroot}%{_libdir}/frr/libyang_plugins/*.la
459
460 # install /etc sources
461 %if "%{initsystem}" == "systemd"
462 mkdir -p %{buildroot}%{_unitdir}
463 install -m644 %{zeb_src}/tools/frr.service %{buildroot}%{_unitdir}/frr.service
464 %else
465 mkdir -p %{buildroot}%{_initddir}
466 ln -s %{_sbindir}/frrinit.sh %{buildroot}%{_initddir}/frr
467 %endif
468
469 install %{zeb_src}/tools/etc/frr/daemons %{buildroot}%{_sysconfdir}/frr
470 install %{zeb_src}/tools/etc/frr/frr.conf %{buildroot}%{_sysconfdir}/frr/frr.conf.template
471 install -m644 %{zeb_rh_src}/frr.pam %{buildroot}%{_sysconfdir}/pam.d/frr
472 install -m644 %{zeb_src}/tools/etc/logrotate.d/frr %{buildroot}%{_sysconfdir}/logrotate.d/frr
473 install -d -m750 %{buildroot}%{rundir}
474
475 %if 0%{?rhel} > 7 || 0%{?fedora} > 29
476 # avoid `ERROR: ambiguous python shebang in` errors
477 pathfix.py -pni "%{__python3} %{py3_shbang_opts}" %{buildroot}/usr/lib/frr/*.py
478 %py_byte_compile %{__python3} %{buildroot}/usr/lib/frr/*.py
479 %else
480 # remove ospfclient.py (if present) as it requires > python36
481 rm -f %{buildroot}%{_sbindir}/ospfclient.py
482 %endif
483
484 %pre
485 # add vty_group
486 %if 0%{?vty_group:1}
487 getent group %{vty_group} >/dev/null || groupadd -r -g %{vty_gid} %{vty_group}
488 %endif
489
490 # add frr user and group
491 %if 0%{?frr_user:1}
492 # Ensure that frr_gid gets correctly allocated
493 getent group %{frr_user} >/dev/null || groupadd -g %{frr_gid} %{frr_user}
494 getent passwd %{frr_user} >/dev/null || \
495 useradd -r -u %{frr_uid} -g %{frr_user} \
496 -s /sbin/nologin -c "FRRouting suite" \
497 -d %{rundir} %{frr_user}
498
499 %if 0%{?vty_group:1}
500 usermod -a -G %{vty_group} %{frr_user}
501 %endif
502 %endif
503 exit 0
504
505
506 %post
507 # zebra_spec_add_service <service name> <port/proto> <comment>
508 # e.g. zebra_spec_add_service zebrasrv 2600/tcp "zebra service"
509
510 zebra_spec_add_service ()
511 {
512 # Add port /etc/services entry if it isn't already there
513 if [ -f %{_sysconfdir}/services ] && \
514 ! %__sed -e 's/#.*$//' %{_sysconfdir}/services 2>/dev/null | %__grep -wq $1 ; then
515 echo "$1 $2 # $3" >> %{_sysconfdir}/services
516 fi
517 }
518
519 zebra_spec_add_service zebrasrv 2600/tcp "zebra service"
520 zebra_spec_add_service zebra 2601/tcp "zebra vty"
521 zebra_spec_add_service staticd 2616/tcp "staticd vty"
522 zebra_spec_add_service ripd 2602/tcp "RIPd vty"
523 zebra_spec_add_service ripngd 2603/tcp "RIPngd vty"
524 zebra_spec_add_service ospfd 2604/tcp "OSPFd vty"
525 zebra_spec_add_service bgpd 2605/tcp "BGPd vty"
526 zebra_spec_add_service ospf6d 2606/tcp "OSPF6d vty"
527 zebra_spec_add_service isisd 2608/tcp "ISISd vty"
528 %if %{with_ospfapi}
529 zebra_spec_add_service ospfapi 2607/tcp "OSPF-API"
530 %endif
531 %if %{with_babeld}
532 zebra_spec_add_service babeld 2609/tcp "BABELd vty"
533 %endif
534 %if %{with_nhrpd}
535 zebra_spec_add_service nhrpd 2610/tcp "NHRPd vty"
536 %endif
537 %if %{with_pimd}
538 zebra_spec_add_service pimd 2611/tcp "PIMd vty"
539 %endif
540 %if %{with_pbrd}
541 zebra_spec_add_service pbrd 2615/tcp "PBRd vty"
542 %endif
543 %if %{with_ldpd}
544 zebra_spec_add_service ldpd 2612/tcp "LDPd vty"
545 %endif
546 %if %{with_eigrpd}
547 zebra_spec_add_service eigrpd 2613/tcp "EIGRPd vty"
548 %endif
549 %if %{with_bfdd}
550 zebra_spec_add_service bfdd 2617/tcp "BFDd vty"
551 %endif
552 zebra_spec_add_service fabricd 2618/tcp "Fabricd vty"
553 %if %{with_vrrpd}
554 zebra_spec_add_service vrrpd 2619/tcp "VRRPd vty"
555 %endif
556 %if %{with_pathd}
557 zebra_spec_add_service pathd 2620/tcp "Pathd vty"
558 %endif
559
560 %if "%{initsystem}" == "systemd"
561 for daemon in %all_daemons ; do
562 %systemd_post frr.service
563 done
564 %else
565 /sbin/chkconfig --add frr
566 %endif
567
568 # Fix bad path in previous config files
569 # Config files won't get replaced by default, so we do this ugly hack to fix it
570 %__sed -i 's|watchfrr_options=|#watchfrr_options=|g' %{configdir}/daemons 2> /dev/null || true
571
572 # With systemd, watchfrr is mandatory. Fix config to make sure it's enabled if
573 # we install or upgrade to a frr built with systemd
574 %if "%{initsystem}" == "systemd"
575 %__sed -i 's|watchfrr_enable=no|watchfrr_enable=yes|g' %{configdir}/daemons 2> /dev/null || true
576 %endif
577
578 /sbin/install-info %{_infodir}/frr.info.gz %{_infodir}/dir
579
580 # Create dummy config file if they don't exist so basic functions can be used.
581 if [ ! -e %{configdir}/frr.conf ] && [ ! -e %{configdir}/zebra.conf ]; then
582 # No frr.conf and per daemon configs exist
583 mv %{configdir}/frr.conf.template %{configdir}/frr.conf
584 %if 0%{?frr_user:1}
585 chown %{frr_user}:%{frr_user} %{configdir}/frr.conf
586 %endif
587 chmod 640 %{configdir}/frr.conf
588 fi
589 %if 0%{?frr_user:1}
590 chown %{frr_user}:%{frr_user} %{configdir}/daemons
591 %endif
592
593 %if %{with_watchfrr}
594 # No config for watchfrr - this is part of /etc/sysconfig/frr
595 rm -f %{configdir}/watchfrr.*
596 %endif
597
598 if [ ! -e %{configdir}/vtysh.conf ]; then
599 touch %{configdir}/vtysh.conf
600 chmod 640 %{configdir}/vtysh.conf
601 %if 0%{?frr_user:1}
602 %if 0%{?vty_group:1}
603 chown %{frr_user}:%{vty_group} %{configdir}/vtysh.conf*
604 %endif
605 %endif
606 fi
607
608
609 %postun
610 if [ "$1" -ge 1 ]; then
611 #
612 # Upgrade from older version
613 #
614 %if "%{initsystem}" == "systemd"
615 ##
616 ## Systemd Version
617 ##
618 %systemd_postun_with_restart frr.service
619 %else
620 ##
621 ## init.d Version
622 ##
623 service frr restart >/dev/null 2>&1
624 %endif
625 :
626 fi
627
628
629 %preun
630 %if "%{initsystem}" == "systemd"
631 ##
632 ## Systemd Version
633 ##
634 if [ $1 -eq 0 ] ; then
635 %systemd_preun frr.service
636 fi
637 %else
638 ##
639 ## init.d Version
640 ##
641 if [ $1 -eq 0 ] ; then
642 service frr stop >/dev/null 2>&1
643 /sbin/chkconfig --del frr
644 fi
645 %endif
646 /sbin/install-info --delete %{_infodir}/frr.info.gz %{_infodir}/dir
647
648
649 %files
650 %doc COPYING
651 %doc doc/mpls
652 %doc README.md
653 /usr/share/yang/*.yang
654 %if 0%{?frr_user:1}
655 %dir %attr(751,%{frr_user},%{frr_user}) %{configdir}
656 %dir %attr(755,%{frr_user},%{frr_user}) %{_localstatedir}/log/frr
657 %dir %attr(751,%{frr_user},%{frr_user}) %{rundir}
658 %else
659 %dir %attr(750,root,root) %{configdir}
660 %dir %attr(755,root,root) %{_localstatedir}/log/frr
661 %dir %attr(750,root,root) %{rundir}
662 %endif
663 %{_infodir}/frr.info.gz
664 %{_mandir}/man*/*
665 %{_sbindir}/zebra
666 %{_sbindir}/staticd
667 %{_sbindir}/ospfd
668 %{_sbindir}/ripd
669 %{_sbindir}/bgpd
670 %exclude %{_sbindir}/ssd
671 %if %{with_watchfrr}
672 %{_sbindir}/watchfrr
673 %endif
674 %{_sbindir}/ripngd
675 %{_sbindir}/ospf6d
676 %if %{with_pimd}
677 %{_sbindir}/pimd
678 %endif
679 %if %{with_pim6d}
680 %{_sbindir}/pim6d
681 %endif
682 %if %{with_pbrd}
683 %{_sbindir}/pbrd
684 %endif
685 %if %{with_vrrpd}
686 %{_sbindir}/vrrpd
687 %endif
688 %{_sbindir}/isisd
689 %{_sbindir}/fabricd
690 %if %{with_ldpd}
691 %{_sbindir}/ldpd
692 %endif
693 %if %{with_eigrpd}
694 %{_sbindir}/eigrpd
695 %endif
696 %if %{with_nhrpd}
697 %{_sbindir}/nhrpd
698 %endif
699 %if %{with_babeld}
700 %{_sbindir}/babeld
701 %endif
702 %if %{with_bfdd}
703 %{_sbindir}/bfdd
704 %endif
705 %if %{with_pathd}
706 %{_sbindir}/pathd
707 %{_libdir}/frr/modules/pathd_pcep.so
708 %endif
709 %{_libdir}/libfrr.so*
710 %{_libdir}/libfrrcares*
711 %{_libdir}/libfrrospf*
712 %if %{with_fpm}
713 %{_libdir}/frr/modules/zebra_fpm.so
714 %endif
715 %{_libdir}/frr/modules/zebra_cumulus_mlag.so
716 %{_libdir}/frr/modules/dplane_fpm_nl.so
717 %{_libdir}/frr/modules/zebra_irdp.so
718 %{_libdir}/frr/modules/bgpd_bmp.so
719 %{_bindir}/*
720 %config(noreplace) %{configdir}/[!v]*.conf*
721 %config(noreplace) %attr(750,%{frr_user},%{frr_user}) %{configdir}/daemons
722 %if "%{initsystem}" == "systemd"
723 %{_unitdir}/frr.service
724 %else
725 %{_initddir}/frr
726 %endif
727 %config(noreplace) %{_sysconfdir}/pam.d/frr
728 %config(noreplace) %{_sysconfdir}/logrotate.d/frr
729 %{_sbindir}/frr-reload
730 %{_sbindir}/frrcommon.sh
731 %{_sbindir}/frrinit.sh
732 %{_sbindir}/watchfrr.sh
733
734
735 %files contrib
736 %doc tools
737
738 %files pythontools
739 %{_sbindir}/generate_support_bundle.py
740 %{_sbindir}/frr-reload.py
741 %{_sbindir}/frr_babeltrace.py
742 %if %{with_ospfclient} && (0%{?rhel} > 7 || 0%{?fedora} > 29)
743 %{_sbindir}/ospfclient.py
744 %endif
745 %if 0%{?rhel} > 7 || 0%{?fedora} > 29
746 %{_sbindir}/__pycache__/*
747 %else
748 %{_sbindir}/generate_support_bundle.pyc
749 %{_sbindir}/generate_support_bundle.pyo
750 %{_sbindir}/frr-reload.pyc
751 %{_sbindir}/frr-reload.pyo
752 %{_sbindir}/frr_babeltrace.pyc
753 %{_sbindir}/frr_babeltrace.pyo
754 %endif
755
756
757 %post rpki-rtrlib
758 # add rpki module to daemons
759 sed -i -e 's/^\(bgpd_options=\)\(.*\)\(".*\)/\1\2 -M rpki\3/' %{_sysconfdir}/frr/daemons
760
761 %postun rpki-rtrlib
762 # remove rpki module from daemons
763 sed -i 's/ -M rpki//' %{_sysconfdir}/frr/daemons
764
765 %files rpki-rtrlib
766 %{_libdir}/frr/modules/bgpd_rpki.so
767
768
769 %files snmp
770 %{_libdir}/libfrrsnmp.so*
771 %{_libdir}/frr/modules/*snmp.so
772
773
774 %files devel
775 %{_libdir}/lib*.so
776 %dir %{_includedir}/%{name}
777 %{_includedir}/%{name}/*.h
778 %dir %{_includedir}/%{name}/ospfd
779 %{_includedir}/%{name}/ospfd/*.h
780 %if %{with_bfdd}
781 %dir %{_includedir}/%{name}/bfdd
782 %{_includedir}/%{name}/bfdd/bfddp_packet.h
783 %endif
784 %if %{with_ospfapi}
785 %dir %{_includedir}/%{name}/ospfapi
786 %{_includedir}/%{name}/ospfapi/*.h
787 %endif
788 %if %{with_eigrpd}
789 %dir %{_includedir}/%{name}/eigrpd
790 %{_includedir}/%{name}/eigrpd/*.h
791 %endif
792
793
794 %changelog
795
796 * Wed Jul 20 2022 Martin Winter <mwinter@opensourcerouting.org> - %{version}
797
798 * Tue Oct 04 2022 Donatas Abraitis <donatas@opensourcerouting.org> - 8.4
799
800 * Wed Jul 13 2022 Jafar Al-Gharaibeh <jafar@atcorp.com> - 8.3
801 - General:
802 - Add camelcase json keys in addition to pascalcase (Wrong JSON keys will be depracated)
803 - Fix corruption when route-map delete/add sequence happens (fast re-add)
804 - Reworked gRPC
805 - RFC5424 & journald extended syslog target
806 - bfdd:
807 - Fix broken FSM in active/passive modes
808 - bgpd:
809 - Notification Message Support for BGP Graceful Restart (rfc8538)
810 - BGP Cease Notification Subcode For BFD
811 - Send Hold Timer for BGP (own implementation without an additional knob)
812 - New `set as-path replace` command for BGP route-map
813 - New `match peer` command for BGP route-map
814 - New `ead-es-frag evi-limit` command for EVPN
815 - New `match evpn route-type` command for EVPN route-map to match Type-1/Type-4
816 - JSON outputs for all RPKI show commands
817 - Set attributes via route-map for BGP conditional advertisements
818 - Pass non-transitive extended communities between RS and RS-clients
819 - Send MED attribute when aggregate prefix is created
820 - Fix aspath memory leak in aggr_suppress_map_test
821 - Fix crash for `show ip bgp vrf all all neighbors 192.168.0.1 ...`
822 - Fix crash for `show ip bgp vrf all all`
823 - Fix memory leak for BGP Community Alias in CLI
824 - Fix memory leak when setting BGP community at egress
825 - Fix memory leak when setting BGP large-community at egress
826 - Fix SR color nexthop processing in BGP
827 - Fix setting local-preference in route-map using +/-
828 - Fix crash using Lua and route-map to set attributes via scripts
829 - Fix crash when issuing various forms of `bgp no-rib`
830 - isisd:
831 - JSON output for show summary command
832 - Fix crash when MTU mismatch occurs
833 - Fix crash with xfrm interface type
834 - Fix infinite loop when parsing LSPs
835 - Fix router capability TLV parsing issues
836 - vtysh:
837 - New `show thread timers` command
838 - ospfd6:
839 - Add LSA statistics to LSA database
840 - Add LSA stats to `show area json` output
841 - Show time left in hello timer for `show ipv6 ospf6 int`
842 - Restart SPF when distance is updated
843 - Support keychain for ospf6 authentication
844 - ospfd:
845 - New `show ip ospf reachable-routers` command
846 - Restart SPF when distance is updated
847 - Use consistent JSON keys for `show ip ospf neighbor` and detail version
848 - pimd:
849 - Add additional IGMP stats
850 - Add IGMP join sent/failed statistics
851 - Add IGMP total groups and total source groups to statistics
852 - New `debug igmp trace detail` command
853 - New `ip pim passive` command
854 - JSON support added for command `show ip igmp sources`
855 - Allow the LPM match work properly with prefix lists and normal RPs
856 - Do not allow 224.0.0.0/24 range in IGMP join
857 - Fix IGMP packet/query check
858 - Handle PIM join/prune receive flow for IPv6
859 - Handle receive of (*,G) register stop with source address as 0
860 - Handle of exclude mode IGMPv3 report messages for SSM-aware group
861 - Handle of IGMPv2 report message for SSM-aware group range
862 - Send immediate join with possible sg rpt prune bit set
863 - Show group-type under `show ip pim rp-info`
864 - Show total received messages IGMP stats
865 - staticd:
866 - Capture zebra advertised ECMP limit
867 - Do not register existing nexthop to Zebra
868 - Reject route config with too many nexthops
869 - Track nexthops per-safi
870 - watchfrr:
871 - Add some more information to `show watchfrr`
872 - Send operational state to systemd
873 - zebra:
874 - Add ability to know when FRR is not ASIC offloaded
875 - Add command for setting protodown bit
876 - Add dplane type for netconf data
877 - Add ECMP supported to `show zebra`
878 - Add EVPN status to `show zebra`
879 - Add if v4/v6 forwarding is turned on/off to `show zebra`
880 - Add initial zebra tracepoint support
881 - Add kernel nexthop group support to `show zebra`
882 - Add knowledge about ra and rfc 5549 to `show zebra`
883 - Add mpls status to `show zebra`
884 - Add netlink debug dump for netconf messages
885 - Add netlink debugs for ip rules
886 - Add OS and version to `show zebra`
887 - Add support for end.dt4
888 - Add to `show zebra` the type of vrf devices being used
889 - Allow *BSD to specify a receive buffer size
890 - Allow multiple connected routes to be choosen for kernel routes
891 - Allow system routes to recurse through themselves
892 - Do not send RAs w/o link-local v6 or on bridge-ports
893 - Evpn disable remove l2vni from l3vni list
894 - Evpn-mh bonds protodown check for set
895 - Evpn-mh use protodown update reason api
896 - Fix cleanup of meta queues on vrf disable
897 - Fix crash in evpn neigh cleanup all
898 - Fix missing delete vtep during vni transition
899 - Fix missing vrf change of l2vni on vxlan interface
900 - Fix rtadv startup when config read in is before interface up
901 - Fix use after deletion event in FreeBSD
902 - Fix v6 route replace failure turned into success
903 - Get zebra graceful restart working when restarting on *BSD
904 - Handle FreeBSD routing socket enobufs
905 - Handle protodown netlink for vxlan device
906 - Include mpls enabled status in interface output
907 - Include old reason in evpn-mh bond update
908 - Keep the interface flags safe on multiple ioctl calls
909 - Let /32 host route with same ip cross vrf
910 - Make router advertisement warnings show up once every 6 hours
911 - Prevent crash if zebra_route_all is used for a route type
912 - Prevent installation of connected multiple times
913 - Protodown-up event trigger interface up
914 - Register nht nexthops with proper safi
915 - Update advertise-svi-ip macips w/ new mac
916 - When handling unprocessed messages from kernel print usable string
917 - New `show ip nht mrib` command
918 - Handle ENOBUFS errors for FreeBSD
919
920 * Tue Mar 1 2022 Jafar Al-Gharaibeh <jafar@atcorp.com> - 8.2
921 - The FRRouting community would like to announce FRR Release 8.2.
922 - This release consists of just over 800 commits from 62 authors.
923 - Selected features and bug fixes are listed below.
924 - babeld:
925 - Fix the checks for truncated packets
926 - bfdd:
927 - Correct one spelling error of comment
928 - Fix detection timeout update
929 - Fix possibly wrong counter of control packets
930 - bgpd:
931 - Add "json" option to a few more show commands
932 - Add 'show bgp <afi> <safi> json detail' header data
933 - Add a 6 hour warning to missing policy
934 - Add an ability to match ipv6 next-hop by prefix-list
935 - Add autocomplete for access-list under bmp node
936 - Add autocomplete for as-path filters
937 - Add autocomplete for set/match community/large/ext lists
938 - Add long-lived graceful restart capability
939 - Add peer-groups to neighbor autocomplete
940 - Adjust symbolic names for cease notifications according to rfc4486
941 - Deprecate dpa, advertiser and rcid_path path attributes
942 - Extended bgp administrative shutdown communication
943 - Fix crash when using "show bgp vrf all"
944 - Fix inconsistency of match ip/ipv6 next-hop commands
945 - Fix missing name of default vrf
946 - Handle TCP connection errors with connection callbacks for RPKI
947 - Implement llgr helper mode
948 - Implement rfc9072
949 - Support redirect import more than one route-target ipv6
950 - docker:
951 - Update alpine build enable set own version
952 - isisd:
953 - Add link state traffic engineering support
954 - Fix router capability tlv parsing issues
955 - Fix running-config for fast-reroute
956 - Make isis work with default vrf name different than 'default'
957 - ospf6d
958 - Add missing vrf parameter to "clear ipv6 ospf6 interface"
959 - Add prompt for commands with non-exist vrf
960 - Add support for nssa type-7 address ranges
961 - Add the ability of specifying router-id/area-id in no debug ospf6
962 - Do not originate type-4 lsa when nssa
963 - Do not send type-5 into stub area
964 - Fix ecmp inter-area route nexthop update
965 - Fix memory leak for `show ipv6 ospf6 zebra json`
966 - ospfd
967 - Fix wrong comparison of routemap name
968 - Fix crash on "ospf send-extra-data zebra"
969 - Fix incorrect detection of topology changes in helper mode
970 - Fix loss of mixed form in "range" command
971 - Fix no-form of "graceful-restart" command
972 - Fix summary-address deletion
973 - Fix wrong parsing of te subtlv
974 - pbrd
975 - Add vlan actions to vty
976 - Pbr route maps get addr family of nhgs
977 - Protect from a possible null dereference
978 - pimd
979 - Do not allow 224.0.0.0/24 range in igmp join
980 - Fix igmp user config
981 - Fix msdp mesh grp with wildcard member addr
982 - Fix stale forwarding entries left around after join goes away
983 - Fix FRR drops IGMP packets for TOS value other than 0XC0
984 - redhat
985 - Check if frr.conf already exists
986 - Logrotate file has typo for staticd
987 - ripd
988 - Fix packet send for non primary addresses
989 - vtysh
990 - Add missing rpki node when showing config
991 - Improve startup time by ca. Ă—6
992 - remove `address-family evpn`
993 - watchfrr
994 - Allow an integrated config to work within a namespace
995 - zebra
996 - Add optional nhg id output to `show ip ro`
997 - Add resolver flag for nexthop in json
998 - Add support for json output in srv6 locator detail command
999 - Don't lose next hop weights while exporting via fpm
1000 - Fix buffer overflow
1001 - Fix netns deletion
1002 - Fix route-map application when when using vrfs
1003
1004 * Tue Nov 2 2021 Jafar Al-Gharaibeh <jafar@atcorp.com> - 8.1
1005 - FRR 8.1 brings a long list of enhancements and fixes with 1200 commits from
1006 - 75 developers. Thanks to all contributers.
1007 - New Features:
1008 - Lua hooks are now feature complete, with one hook available for use (http://docs.frrouting.org/en/latest/scripting.html)
1009 - Improvements to SRv6 (Segment Routing over IPv6) (http://docs.frrouting.org/en/latest/zebra.html#segment-routing-ipv6)
1010 - Improvements to Prefix-SID (Type 5)
1011 - EVPN route type-5 gateway IP overlay Index (http://docs.frrouting.org/en/latest/bgp.html#evpn-overlay-index-gateway-ip)
1012 - OSPFv3 NSSA and NSSA totally stub areas (http://docs.frrouting.org/en/latest/ospf6d.html#ospf6-area)
1013 - OSPFv3 ASBR summarization (http://docs.frrouting.org/en/latest/ospf6d.html#asbr-summarisation-support-in-ospfv3)
1014 - OSPFv3 Graceful Restart (http://docs.frrouting.org/en/latest/ospf6d.html#graceful-restart)
1015 - OSPFv2 Graceful Restart (restarting mode added, helper was already implemented) (http://docs.frrouting.org/en/latest/ospfd.html#graceful-restart)
1016 - Behavior Changes
1017 - Every node in running config now has an explicit "exit" tag
1018 - Link bandwidth in BGP is now correctly encoded according to IEEE 754. To stay with old incorrect encoding use:
1019 - `neighbor PEER disable-link-bw-encoding-ieee`
1020 - Changelog
1021 - alpine:
1022 Fix path for daemons file install
1023 - BGP:
1024 - Add "json" option to "show bgp as-path-access-list"
1025 - Add `disable-addpath-rx` knob
1026 - Add an ability to set extcommunity to none in route-maps
1027 - Add counter of displayed show bgp summary when filtering
1028 - Add knob to config cond-adv scanner period
1029 - Add route-map `match alias` command
1030 - Add rpki source address configuration
1031 - Add show bgp summary filter by neighbor or as
1032 - Add terse display option on show bgp summary
1033 - Allow for auto-completion of community alias's created
1034 - Bgp knob to teardown session immediately when peer is unreachable
1035 - Expand 'bgp default <afi>-<safi>' cmds
1036 - Extend evpn next hop tracking to type-1 and type-4 routes
1037 - Fix "no router bgp x vrf default"
1038 - Flowspec redirect vrf uses vrf table instead of allocated table id
1039 - Handle quick flaps of an evpn prefix properly
1040 - Initial batch of evpn lttng tracepoints
1041 - Limit processing to what is needed in rpki validation
1042 - Modify vrf/view display in show bgp summary
1043 - Set 4096 instead of 65535 as new max packet size for a new peer
1044 - Set extended msg size only if we advertised and received capability
1045 - Show bgp community alias in json community list output
1046 - Show bgp prefixes by community alias
1047 - Show max packet size per update-group
1048 - Split soft reconfigure table task into several jobs to not block vtysh
1049 - Store distance received from a redistribute statement
1050 - Update route-type-1 legend to match output
1051 - ISIS:
1052 - Fix sending of lsp with null seqno
1053 - lib:
1054 - Add "json" option to "show ip[v6] access-list"
1055 - Add "json" option to "show ip[v6] prefix-list"
1056 - Add "json" option to "show route-map"
1057 - Prevent grpc assert on missing yang node
1058 - NHRP:
1059 - Clear cache when shortcuts are cleared
1060 - Fix corrupt address being shown for shortcuts with no cache entry
1061 - Set prefix correctly in resolution request
1062 - OSPF6:
1063 - Add debug commands for lsa all and route all
1064 - Add warning log for late hello packets
1065 - Add write-multiplier configuration
1066 - Don't update router-id if at least one adjacency is full
1067 - Extend the "redistribute" command with more options
1068 - Fix issue when displaying the redistribute command
1069 - Fix logging of border router routes
1070 - Json output for database dump show command
1071 - Link state id in lsa database json output
1072 - Send lsa update immediately when ospf instance is deleted
1073 - OSPF:
1074 - Fix crash when creating vlink in unknown vrf
1075 - Gr conformance fix for hello packet dr election
1076 - Print extra lsa information in some log messages
1077 - Rfc conformance test case 25.23 issue fix
1078 - Show ip ospf route json does not shown metric and tag
1079 - Summary lsa is not originated when process is reset
1080 - pathd:
1081 - Handle pcinitiated configuration, main thread
1082 - Handle pcinitiated messages, thread controller
1083 - Handle srp_id correctly
1084 - If pce ret no-path to pcreq don't retry pcreq nor delegate
1085 - PBR:
1086 - Add `match ip-protocol [tcp|udp]`
1087 - Add ability to set/unset src and dest ports
1088 - Nhg "add" edge case for last in table range
1089 - Start inclusion of src and dst ports for pbrd
1090 - PIM:
1091 - Add tos/ttl check for igmp conformance
1092 - Allow join prune intervals to be as small as 5 seconds
1093 - Allow msdp group name 'default'
1094 - Fix register suppress timer code
1095 - Fix uaf/heap corruption in bsm code
1096 - Fix command "no ip msdp mesh-group member"
1097 - Igmp groups are not getting timeout
1098 - Igmp memberships are not querier specific
1099 - Igmp sockets need to be iface-bound too
1100 - Prevent uninited usage of nexthop
1101 - Support msdp global timers configuration
1102 - vtysh
1103 - Add cli timestamp '-t' flag
1104 - Add error code if daemon is not running
1105 - Fix searching commands in parent nodes
1106 - yang:
1107 - Add msdp timer configuration
1108 - Fix bgp multicast prefix type
1109 - Mark a couple of prefix-list/access-list leafs as mandatory
1110 - Move multicast prefix type definition
1111 - Replace an empty pattern with a zero-length restriction
1112 - Rework pim msdp mesh group
1113 - Simplify msdp peer handling
1114 - zebra :
1115 - Add "json" option to "show interface"
1116 - Various improvment to dataplane interface
1117 - Add message counts for `show zebra client`
1118 - Add nhg id to show ip route json
1119 - Add show command for ra interface lists
1120 - Fix ipv4 routes with ipv6 link local next hops install in fpm
1121 - Handle bridge mac address update in evpn contexts
1122 - Move individual lines to table in `show zebra client` command
1123 - Refresh vxlan evpn contexts, when bridge interface goes up
1124 - Update zl3vni when bridge link refreshed in other namespaces
1125
1126 * Wed Jul 21 2021 Martin Winter <mwinter@opensourcerouting.org> - 8.0
1127 - Major changes
1128 - New daemon pathd for segment routing
1129 - EVPN Multihoming is now fully supported
1130 - OSPFv3 now supports VRFs
1131 - TI-LFA has been implemented in IS-IS and OSPF
1132 - Ability for Zebra to dump netlink messages in a human-friendly format
1133 - LDP gained SNMP support
1134 - libyang minimun version is now 2.0
1135 - BABEL:
1136 - Add `distribute-list` commands
1137 - Fix memory leak in connected route handling
1138 - BGP:
1139 - Add support for use of aliases with communities
1140 - Add support of tcp-mss for neighbors
1141 - Add support for EVPN Multihoming
1142 - Add ability to show BGP routes from a particular table version
1143 - Add support for for RFC 8050 (MRT add-path)
1144 - Add SNMP support for MPLS VPN
1145 - Add `show bgp summary wide` command to show more detailed output
1146 on wide terminals
1147 - Add ability for peer-groups to have `ttl-security hops` configured
1148 - Add support for conditional Advertisement
1149 - Add support for RFC 4271 Delay Open Timer
1150 - Add a knob to not advertise until route is installed in fib
1151 - Add BGP-wide configuration for graceful shutdown
1152 - Add support for RFC 8654 extended messages
1153 - Improve RPKI reporting as well as new show commands
1154 - Improve handling of VRF route leaking
1155 - Improve scaling behavior for dynamic neighbors
1156 - Improve LL nexthop tracking to be interface based
1157 - Improve route reachability handling with respect to blackhole routes
1158 - Improve SNMP traps to RFC 4273 notifications
1159 - Improve EVPN routes to use L3 NHG's where applicable
1160 - Improvements to EVPN
1161 - Improvements to update behavior
1162 - Fix various issues with connection resolution
1163 - Fix statistics commands in some situations
1164 - Fix non-determistic locally-originated paths in bestpath selection
1165 - Continue working on transitioning to YANG/Northbound configuration
1166 - Various bug fixes and performance improvements
1167 - EIGRP:
1168 - Add `distribute-list` commands
1169 - Ensure received AS number is the same as ours in all situations
1170 - Properly validate TLV lengths in some situations
1171 - IS-IS:
1172 - Add ldb-sync functionality
1173 - Add TI-LFA functionality
1174 - Add support for Anycast-SID's
1175 - Add support for classic LFA RFC 5286
1176 - Add `show isis fast-reroute summary` command
1177 - Add support for Remote LFA RFC 7490
1178 - Fix Attach-bit processing in some scenarios
1179 - Cleanup BFD integration
1180 - Various bug fixes and performance improvements
1181 - LDP:
1182 - Add SNMP support
1183 - Support for LDP IGP Synchronization
1184 - Support for RLFA clients
1185 - Various bug fixes and performance improvements
1186 - LIBFRR:
1187 - Various bugfixes and performance improvements
1188 - NHRP:
1189 - Add `nhrp multicast-nflog-group (1-65535)` command
1190 - Add configuration options for vici socket path
1191 - Add support for forwarding multicast packets
1192 - Fix handling of MTU
1193 - Fix handling of NAT extension
1194 - Retry IPsec under some conditions
1195 - OSPFv2:
1196 - Add OSPF GR helper support
1197 - Add JSON support for various commands
1198 - Add `summary-address A.B.C.D/M ...` commands
1199 - Add `area X nssa suppress-fa` command
1200 - Add support for TI-LFA
1201 - Add support for BFD profiles
1202 - Add support for Traffic Engineering database
1203 - Add support for usage of DMPVPN with OSPF
1204 - Add `clear ip ospf neighbor` commands
1205 - Add YANG support for route-maps
1206 - Improvements to SNMP
1207 - Fixes for type 5 and type 7 LSA handling
1208 - Various bug fixes and performance improvements
1209 - OSPFv3:
1210 - Add support for VRFs
1211 - Add JSON support to a bunch of commands
1212 - Add ability to control maximum paths for routes
1213 - Add `show ipv6 ospf6 vrfs` command
1214 - Add support for BFD profiles
1215 - Fix to not send hellos on loopbacks
1216 - Cleanup area handling around interfaces
1217 - YANG support for route-maps
1218 - Various bug fixes and performance improvements
1219 - OSPFCLIENT:
1220 - Cleanup trust of user input
1221 - PATHd:
1222 - Add support of SR-TE policy management daemon
1223 - Add optional support for PCEP to pathd
1224 - Integrate PCEP-LIB into FRR
1225 - PBR:
1226 - Add `set installable` nhg command
1227 - Improve interface up/down event handling
1228 - PIM:
1229 - Add YANG integration
1230 - Add JSON support to various commands
1231 - Add BFD profile support
1232 - Fixes to IGMP conformance
1233 - Fixes to behavior surrounding Prune and Prune-pending
1234 - Various bug fixes and performance improvements
1235 - RIPNG:
1236 - Fix interface wakeup after shutdown
1237 - SHARP:
1238 - Add ability to use Nexthop Groups
1239 - Add v4 redistribute watching
1240 - Add TED support
1241 - Various bug fixes
1242 - STATIC:
1243 - Fix nexthop handling in some situations
1244 - Forbid blackhole and non-blackhole nexthops in a single route
1245 - VRRP:
1246 - printf formatting cleanups
1247 - VTYSH:
1248 - Add a `show history` command
1249 - Add `show memory <daemon>` support
1250 - Start deprecation cycle for `address-family evpn`
1251 - Display version with --help
1252 - Various bug fixes
1253 - WATCHFRR:
1254 - Fix some crashes
1255 - ZEBRA:
1256 - Add JSON support to various commands
1257 - Add Human readable netlink dumps
1258 - Add L2 NHG support
1259 - Add support for LSPs to FPM dataplane
1260 - Add ability for other protocol daemons to install nexthop groups into the kernel
1261 - Add YANG support for route-maps
1262 - Improve scale performance when handling a large number of VRF's
1263 - Improve network namespace handling
1264 - Improve asic-offload handling
1265 - Improve FreeBSD interface and route handling
1266 - Improve handling of neighbors in kernel dataplane plugin
1267 - Improve label manager
1268 - Improve route-map processing
1269 - Improve debug-ability of routes and VRFs
1270 - Improve FPM dataplane plugin
1271 - Improve handling of reachability / nexthop tracking on shutdown interfaces
1272 - Improve EVPN support
1273 - Fix startup handling of `set src X`
1274 - Various bug fixes and performance improvements
1275
1276 * Wed Mar 3 2021 Martin Winter <mwinter@opensourcerouting.org> - 7.5.1
1277 - BABEL:
1278 - Fix connected route leak on change
1279 - BFD:
1280 - Session lookup was sometimes wrong
1281 - Memory leak and handling cleanups
1282 - In some situations handle vrf appropriately when receiving packets
1283 - BGP:
1284 - Peer Group Inheritance Fixes
1285 - Dissallow attempt to peer peers reachable via blackholes
1286 - Send BMP down message when reachability fails
1287 - Cleanup handling of aggregator data when the AGG AS is 0
1288 - Handle `neighbor <peer-group allowas-in` config changes properly
1289 - Properly parse community and lcommunity values in some circumstances
1290 - Allow peer-groups to configure `ttl-security hops`
1291 - Prevent v6 routes with v4 nexthops from being installed
1292 - Allow `default-originate` to be cleared from a peer group
1293 - Fix evpn route-map vni filter at origin
1294 - local routes were using non-default distance
1295 - Properly track if the nexthop was updated in some circumstances
1296 - Cleanup `show running` when running bgp with `-e X` values
1297 - Various Memory leaks in show commands
1298 - Properly withdraw exported routes when deleting a VRF
1299 - Avoid resetting ebgp-multihop if peer setting is the same as peer-group
1300 - Properly encode flowspec rules to zebra in some rare circumstances
1301 - Generate statistics for routes in bgp when we have exactly 1 route
1302 - Properly apply route-map for the default-originate command
1303 - EIGRP:
1304 - Properly set MTU for eigrp packets sent
1305 - Various memory leaks and using uninited data fixes
1306 - ISIS:
1307 - When last area address is removed, resign if we were the DR
1308 - Various memory leaks and using uninited data fixes
1309 - LDP:
1310 - Various memory leaks and using uninited data fixes
1311 - NHRP:
1312 - Use onlink routes when prefix == nh
1313 - Shortcut routes are installed with proper nexthop
1314 - OSPF:
1315 - Prevent duplicate packet read in multiple vrf situation
1316 - Fix area removal at interface level
1317 - Restore Point to MultiPoint interface types
1318 - Correctly handle MTU change on startup
1319 - Multi Instance initialization sometimes was not successful
1320 - NSSA translate-always was not working properly
1321 - OSPFv3:
1322 - Don't send hellos on loopback interfaces
1323 - Handle ECMP better when a sub-path is removed
1324 - Memory leak and handling fixes
1325 - Fix Link LSA not updating when router priority is modified
1326 - Some output from show commands was wrong
1327 - Intra area remote connected prefixes sometimes not installed
1328 - PBR:
1329 - Various memory leaks and using uninited data fixes
1330 - PIM:
1331 - SGRpt prune received during prune didn't override holdtime
1332 - Various memory leaks and using uninited data fixes
1333 - STATIC:
1334 - Fix VRF and usage on startup in some instances
1335 - Tableid was being mishandled in some cases
1336 - VTYSH:
1337 - Disable bracketed paste in readline.
1338 - WATCHFRR:
1339 - Various memory leaks and using uninited data fixes
1340 - ZEBRA:
1341 - Always install blackhole routes using kernel routes instead of nexthops
1342 - Various memory leaks and using uninited data fixes
1343 - Dissallow resolution to duplicate nexthops that created infinite nexthops
1344 - Apply the route-map delay-timer globally
1345 - Some routes were stuck in Queued state when using the FPM
1346 - Better handle vrf creation when using namespaces
1347 - Set NUD_NOARP on sticky mac entries in addtion to NTF_STICKY
1348 - Allow `set src X` to work on startup
1349 - FRR Library:
1350 - Fix a variety of memory leaks
1351 - Fix VRF Creation in some instances
1352 - RPKI context editing was not properly handled in reload situations
1353 - routemap code was not properly handling modification of CLI in some instances
1354 - SNAPCRAFT:
1355 - Update to using rtrlib 0.7.0
1356 - Fix passthrough path for Libyang 1.x
1357 - ALPINE:
1358 - Remove old docker deps
1359
1360 * Mon Nov 2 2020 Donald Sharp <sharpd@nvidia.com> - 7.5
1361 - BFD
1362 - Profile support
1363 - Minimum ttl support
1364 - BGP
1365 - rpki VRF support
1366 - GR fixes
1367 - Add wide option to display of routes
1368 - Add `maximum-prefix <num> force`
1369 - Add `bestpath-routes` to neighbor command
1370 - Add `bgp shutdown message MSG...` command
1371 - Add v6 Flowspec support
1372 - Add `neighbor <neigh> shutdown rtt` command
1373 - Allow update-delay to be applied globaly
1374 - EVPN
1375 - Beginning of MultiHoming Support
1376 - ISIS
1377 - Segment Routing Support
1378 - VRF Support
1379 - Guard against adj timer display overflow
1380 - Add support for Anycast-SIDs
1381 - Add support for Topology Independent LFA (TI-LFA)
1382 - Add `lsp-gen-interval 2` to isis configuration
1383 - OSPF
1384 - Segment Routing support for ECMP
1385 - Various LSA fixes
1386 - Prevent crash if transferring config amongst instances
1387 - PBR
1388 - Adding json support to commands
1389 - DSCP/ECN based PBR Matching
1390 - PIM
1391 - Add more json support to commands
1392 - Fix missing mesh-group commands
1393 - MSDP SA forwarding
1394 - Clear (s,g,rpt) ifchannel on (*, G) prune received
1395 - Fix igmp querier election and IP address mapping
1396 - Crash fix when RP is removed
1397 - STATIC
1398 - Northbound Support
1399 - YANG
1400 - Filter and route-map Support
1401 - OSPF model definition
1402 - BGP model definition
1403 - VTYSH
1404 - Speed up output across daemons
1405 - Fix build-time errors for some --enable flags
1406 - Speed up output of configuration across daemons
1407 - ZEBRA
1408 - nexthop group support for FPM
1409 - northbound support for rib model
1410 - Backup nexthop support
1411 - netlink batching support
1412 - Allow upper level protocols to request ARP
1413 - Add json output for zebra ES, ES-EVI and access vlan dumps
1414 -
1415 - Upgrade to using libyang1.0.184
1416 -
1417 - RPM
1418 - Moved RPKI to subpackage
1419 - Added SNMP subpackage
1420 -
1421 - As always there are too many bugfixes to list individually. This release
1422 - compromises just over 1k of commits by the community, with contributors from
1423 - 70 people.
1424
1425 * Tue Jun 30 2020 Martin Winter <mwinter@opensourcerouting.org> - 7.4
1426 - BGPd
1427 - Use sequence numbers for community lists
1428 - Fixes to nexthop groups
1429 - Add feature to limit outgoing number of routes
1430 - Per Neighbor Graceful Restart
1431 - Multiple Graceful Restart fixes
1432 - Support sub-Type-4 and sub-Type-5 for the VPNv4 SRv6 backend
1433 - rfc7606 support: treat certain malformed routes as withdraw
1434 - allow origin override for route aggregates
1435 - rfc6608 support: Subcodes for BGP Finite State Machine Error
1436 - rfc7607 support: Codification of AS 0 Processing
1437 - rfc6286 support: Autonomous-System-Wide Unique BGP Identifier for BGP-4
1438 - Unequal cost multipath (a.ka. weighted ECMP) with BGP link-bandwidth
1439 - Enable rfc8212 by default except datacenter profile
1440 - staticd
1441 - Add debug support
1442 - vtysh
1443 - Add copy command to copy config from file into running config
1444 - LDPd
1445 - adding support for LDP ordered label distribution control
1446 - ISISd
1447 - IS-IS Segment Routing support
1448 - SHARPd
1449 - add initial support to add/remove lsps
1450 - Zebra
1451 - fix broadcast address in IPv4 networks with /31 mask
1452 - Add Graceful Restart support for Protocol Daemon restarts
1453 - lib
1454 - migrate route-maps to use northbound interface
1455 - plus countless bug fixes and other improvements
1456
1457 * Mon Jun 15 2020 Sascha Kattelmann <sascha@netdef.org>
1458 - Add Pathd support
1459
1460 * Wed May 06 2020 David Lamparter <equinox@opensourcerouting.org> - 7.3.1
1461 - upstream 7.3.1
1462
1463 * Fri Feb 14 2020 Martin Winter <mwinter@opensourcerouting.org> - 7.3
1464 - BGPd
1465 - EVPN PIP Support
1466 - Route Aggregation code speed ups
1467 - BGP Vector I/O speed ups
1468 - New CLI: `set distance XXX`
1469 - New CLI: `aggregate-address A.B.C.D/M route-map WORD`
1470 - New CLI: `bgp reject-as-sets`
1471 - New CLI: `advertise pip ...`
1472 - New CLI: `match evpn rd ASN:NN_OR_IP-ADDRESS:NN`
1473 - New CLI: `show bgp l2vpn evpn community|large-community X`
1474 - New CLI: `show bgp l2vpn evpn A.B.C.D`
1475 - Auto-completion for clear bgp command
1476 - Add ability to set tcp socket buffer size
1477 - OSPFd
1478 - Partial MPLS TE support
1479 - PBRd
1480 - New CLI: `set vrf unchanged|NAME`
1481 - BFDd
1482 - VRF Support
1483 - New CLI: 'show bfd peers brief'
1484 - New CLI: 'clear bfd peer ...'
1485 - PIMd
1486 - Significant Speedups in accessing Internal Data for higher scale
1487 - Support for joining any-source Multicast
1488 - Updated CLI: 'show ip pim upstream-join-desired'
1489 - New CLI: 'show ip pim channel'
1490 - Debug Cleanup
1491 - MLAG experimental support
1492 - VRRPd
1493 - VRF Support
1494 - Northbound Conversion- NHRPd
1495 - LDPd
1496 - vtysh
1497 - New CLI: `banner motd line LINE...`
1498 - yang
1499 - New CLI: `show yang operational-data XPATH`
1500 - New CLI: `debug northbound`
1501 - Zebra
1502 - Nexthop Group support
1503 - New CLI: 'debug zebra nexthop [detail]'
1504 - New CLI: 'show router-id'
1505 - MLAG experimental support
1506 - watchfrr
1507 - Additional status messages of system state to systemd
1508 - New CLI: `watchfrr ignore DAEMON`
1509 - Others
1510 - As always all daemons have received too many bug fixes to fully list
1511 - There has been a significant focus on increasing test coverage
1512 - Change in Behavior:
1513 - ISISd
1514 - All areas created default automatically to level-1-2
1515 - Zebra
1516 - Nexthop Group Installation in Kernel is turned on by default
1517 if the kernel supports- New CLI: 'show nexthop-group rib [singleton]'
1518 - Man Pages
1519 - Renamed to frr-* to remove collision with other packages
1520
1521 * Fri Jan 17 2020 Martin Winter <mwinter@opensourcerouting.org> - 7.2.1
1522 - BGPd
1523 - Fix Addpath issue
1524 - Do not apply eBGP policy for iBGP peers
1525 - Show `ip` and `fqdn` in json output for `show [ip] bgp <route> json`
1526 - Fix large route-distinguisher's format
1527 - Fix `no bgp listen range ...` configuration command
1528 - Autocomplete neighbor for clear bgp
1529 - Reflect the distance in RIB when it is changed for an arbitrary afi/safi
1530 - Notify "Peer De-configured" after entering 'no neighbor <neighbor> cmd
1531 - Fix per afi/safi addpath peer counting
1532 - Rework BGP dampening to be per AFI/SAFI
1533 - Do not send next-hop as :: in MP_REACH_NLRI if no link-local exists
1534 - Override peer's TTL only if peer-group is configured with TTL
1535 - Remove error message for unkown afi/safi combination
1536 - Keep the session down if maximum-prefix is reached
1537 - OSPFd
1538 - Fix BFD down not tearing down OSPF adjacency for point-to-point net
1539 - BFDd
1540 - Fix multiple VRF handling
1541 - VRF security improvement
1542 - PIMd
1543 - Fix rp crash
1544 - NHRPd
1545 - Make sure `no ip nhrp map <something>` works as expected
1546 - LDPd
1547 - Add missing sanity check in the parsing of label messages
1548 - Zebra
1549 - Use correct state when installing evpn macs
1550 - Capture dplane plugin flags
1551 - lib
1552 - Fix interface config when vrf changes
1553 - Fix Interface Infinite Loop Walk (for special interfaces such as bond)
1554 - snapcraft
1555 - fix missing vrrpd daemon
1556 - Others
1557 - Rename man pages (to avoid conflicts with other packages)
1558 - Various other fixes for code cleanup and memory leaks
1559
1560 * Fri Dec 27 2019 Donatas Abraitis <donatas.abraitis@gmail.com>
1561 - Add CentOS 8 support
1562
1563 * Tue Oct 15 2019 Martin Winter <mwinter@opensourcerouting.org> - 7.2
1564 - ALL Daemons
1565 - -N <namespace> to allow for config file locating when running FRR inside
1566 of a namespace
1567 - Impoved Testing across all daemons
1568 - BFD
1569 - VRF Support
1570 - Conversion to Northbound interface
1571 - BGP
1572 - Aggregate-address add route-map support
1573 - BMP Support
1574 - Improved JSON output for many commands
1575 - `show bgp afi safi summary failed` command
1576 - `clear bop *` clears all peers
1577 - Show FQDN for `show bgp ipv4 uni` commands
1578 - Display BestPath selection reason as part of show commands
1579 - EIGRP
1580 - Infrastructure changes to allow VRF's
1581 - SIGHUP signals the config reload
1582 - Conversion to Northbound interface
1583 - ISIS
1584 - BFD Support
1585 - Support for circuits with MTU > 8192
1586 - PBRD
1587 - fwmark support as part of match criteria
1588 - autocompletion of PBRMAPS
1589 - Improved Nexthop Support
1590 - PIMD
1591 - PIM-BSM receive support
1592 - Improved debugging support
1593 - Store ECMP paths that are not currently legal for use
1594 - Disallow igmp query from a non-connected source
1595 - Many new cli improvements and changes
1596 - VRRPD
1597 - Add Support for RFC 3768 and RFC 5798
1598 - Route-Maps
1599 - Add sequence numbers to access-lists
1600 - Add `match ip next-hop type blackhole`
1601 - Improved ability to notice dependency changes
1602 - SHARPD
1603 - `sharp watch [import|nexthop]` you can now specify a prefix instead
1604 of assuming a /32
1605 - STATICD
1606 - Significantly Improved NHT
1607 - ZEBRA
1608 - Many dataplane improvements for routes, neighbor table and EVPN
1609 - NHT cli can now be specified per VRF and improved ability to control
1610 NHT data being shown
1611 - Removed duplicate processing of routes
1612 - Improved debugablility
1613 - RMAC and VxLan support for the FPM
1614 - LIB
1615 - RCU support
1616 - Nexthop Group Improvements
1617 - `log-filter WORD` added
1618 - Building
1619 - openssl support
1620 - libcap should be used as part of build or significant slowdowns
1621 will be experienced
1622 - Lua builds have been fixed
1623 - Improved Cross building
1624
1625 * Mon Jun 17 2019 David Lamparter <equinox@opensourcerouting.org> - 7.1
1626 - gRPC northbound plugin
1627 - "table NNN" removed from zebra
1628 - more dataplane MT work
1629 - EVPN in non-default VRFs
1630 - RFC 8212 (default deny policy for eBGP)
1631 - RFC 8106 (IPv6 RA DNS options)
1632
1633 * Wed May 8 2019 Martin Winter <mwinter@opensourcerouting.org> - 7.0.1
1634 - bgp:
1635 - Don't send Updates with BGP Max-Prefix Overflow
1636 - Make sure `next-hop-self all` backward compatible with force
1637 - Fix as-path validation in "show bgp regexp"
1638 - Fix interface-based peers to override peergroups
1639 - Fix removing private AS numbers if local-as is used
1640 - Fix show bgp labeled_unicast
1641 - Add command to lookup prefixes in rpki table
1642 - Fix peer count in "show bgp ipv6 summary"
1643 - Add missing ipv6 only peer flag action
1644 - Fix address family output in "show bgp [ipv4|ipv6] neighbors"
1645 - Add missing checks for vpnv6 nexthops
1646 - Fix nexthop for ipv6 vpn case
1647 - rip: Fix removal of passive interfaces
1648 - ospf:
1649 - Fix json timer output
1650 - Fix milliseconds in json output
1651 - bfd:
1652 - Fix source port according RFC 5881, Sec 4
1653 - Fix IPv6 link-local peer removal
1654 - Fix interface clean up when deleting interface
1655 - pim: Fix interface clean up when deleting interface
1656 - nhrp: Fix interface clean up when deleting interface
1657 - lib:
1658 - Workaround to get FRR building with libyang 0.x and 1.x
1659 - Fix in priv handling
1660 - Make priv elevation thread-safe
1661 - zebra:
1662 - Pseudowire event recovery
1663 - Fix race condition in label manager
1664 - Fix system routes selection and next-hop tracking
1665 - Set connected route metric based on devaddr metric
1666 - Display metric for connected routes
1667 - Add selected fib details to json output
1668 - Always use replace if installing new route
1669 - watchfrr: Silently ignore declare failures (for backward compatibility)
1670 - RPM packages: Switch to new init script
1671
1672 * Thu Feb 28 2019 Martin Winter <mwinter@opensourcerouting.org> - 7.0
1673 - Added libyang dependency: New work for northbound interface based on libyang
1674 - Fabricd: New Daemon based on https://datatracker.ietf.org/doc/draft-white-openfabric/
1675 - various bug fixes and other enhancements
1676
1677 * Sun Oct 7 2018 Martin Winter <mwinter@opensourcerouting.org> - 6.0
1678 - Staticd: New daemon responsible for management of static routes
1679 - ISISd: Implement dst-src routing as per draft-ietf-isis-ipv6-dst-src-routing
1680 - BFDd: new daemon for BFD (Bidrectional Forwarding Detection). Responsible
1681 for notifying link changes to make routing protocols converge faster.
1682 - various bug fixes
1683
1684 * Thu Jul 5 2018 Martin Winter <mwinter@opensourcerouting.org> - 5.0.1
1685 - Support Automake 1.16.1
1686 - BGPd: Support for flowspec ICMP, DSCP, packet length, fragment and tcp flags
1687 - BGPd: fix rpki validation for ipv6
1688 - VRF: Workaround for kernel bug on Linux 4.14 and newer
1689 - Zebra: Fix interface based routes from zebra not marked up
1690 - Zebra: Fix large zebra memory usage when redistribute between protocols
1691 - Zebra: Allow route-maps to match on source instance
1692 - BGPd: Backport peer-attr overrides, peer-level enforce-first-as and filtered-routes fix
1693 - BGPd: fix for crash during display of filtered-routes
1694 - BGPd: Actually display labeled unicast routes received
1695 - Label Manager: Fix to work correctly behind a label manager proxy
1696
1697 * Thu Jun 7 2018 Martin Winter <mwinter@opensourcerouting.org> - 5.0
1698 - PIM: Add a Multicast Trace Command draft-ietf-idmr-traceroute-ipm-05
1699 - IS-IS: Implement Three-Way Handshake as per RFC5303
1700 - BGPD: Implement VPN-VRF route leaking per RFC4364.
1701 - BGPD: Implement VRF with NETNS backend
1702 - BGPD: Flowspec
1703 - PBRD: Add a new Policy Based Routing Daemon
1704
1705 * Mon May 28 2018 Rafael Zalamena <rzalamena@opensourcerouting.org>
1706 - Add BFDd support
1707
1708 * Sun May 20 2018 Martin Winter <mwinter@opensourcerouting.org>
1709 - Fixed RPKI RPM build
1710
1711 * Sun Mar 4 2018 Martin Winter <mwinter@opensourcerouting.org>
1712 - Add option to build with RPKI (default: disabled)
1713
1714 * Tue Feb 20 2018 Martin Winter <mwinter@opensourcerouting.org>
1715 - Adapt to new documentation structure based on Sphinx
1716
1717 * Fri Oct 20 2017 Martin Winter <mwinter@opensourcerouting.org>
1718 - Fix script location for watchfrr restart functions in daemon config
1719 - Fix postun script to restart frr during upgrade
1720
1721 * Mon Jun 5 2017 Martin Winter <mwinter@opensourcerouting.org>
1722 - added NHRP and EIGRP daemon
1723
1724 * Mon Apr 17 2017 Martin Winter <mwinter@opensourcerouting.org>
1725 - new subpackage frr-pythontools with python 2.7 restart script
1726 - remove PIMd from CentOS/RedHat 6 RPM packages (won't work - too old)
1727 - converted to single frr init script (not per daemon) based on debian init script
1728 - created systemd service file for systemd based systems (which uses init script)
1729 - Various other RPM package fixes for FRR 2.0
1730
1731 * Fri Jan 6 2017 Martin Winter <mwinter@opensourcerouting.org>
1732 - Renamed to frr for FRRouting fork of Quagga
1733
1734 * Thu Feb 11 2016 Paul Jakma <paul@jakma.org>
1735 - remove with_ipv6 conditionals, always build v6
1736 - Fix UTF-8 char in spec changelog
1737 - remove quagga.pam.stack, long deprecated.
1738
1739 * Thu Oct 22 2015 Martin Winter <mwinter@opensourcerouting.org>
1740 - Cleanup configure: remove --enable-ipv6 (default now), --enable-nssa,
1741 --enable-netlink
1742 - Remove support for old fedora 4/5
1743 - Fix for package nameing
1744 - Fix Weekdays of previous changelogs (bogus dates)
1745 - Add conditional logic to only build tex footnotes with supported texi2html
1746 - Added pimd to files section and fix double listing of /var/lib*/quagga
1747 - Numerous fixes to unify upstart/systemd startup into same spec file
1748 - Only allow use of watchfrr for non-systemd systems. no need with systemd
1749
1750 * Fri Sep 4 2015 Paul Jakma <paul@jakma.org>
1751 - buildreq updates
1752 - add a default define for with_pimd
1753
1754 * Mon Sep 12 2005 Paul Jakma <paul@dishone.st>
1755 - Steal some changes from Fedora spec file:
1756 - Add with_rtadv variable
1757 - Test for groups/users with getent before group/user adding
1758 - Readline need not be an explicit prerequisite
1759 - install-info delete should be postun, not preun
1760
1761 * Wed Jan 12 2005 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1762 - on package upgrade, implement careful, phased restart logic
1763 - use gcc -rdynamic flag when linking for better backtraces
1764
1765 * Wed Dec 22 2004 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1766 - daemonv6_list should contain only IPv6 daemons
1767
1768 * Wed Dec 22 2004 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1769 - watchfrr added
1770 - on upgrade, all daemons should be condrestart'ed
1771 - on removal, all daemons should be stopped
1772
1773 * Mon Nov 08 2004 Paul Jakma <paul@dishone.st>
1774 - Use makeinfo --html to generate quagga.html
1775
1776 * Sun Nov 07 2004 Paul Jakma <paul@dishone.st>
1777 - Fix with_ipv6 set to 0 build
1778
1779 * Sat Oct 23 2004 Paul Jakma <paul@dishone.st>
1780 - Update to 0.97.2
1781
1782 * Sat Oct 23 2004 Andrew J. Schorr <aschorr@telemetry-investments.com>
1783 - Make directories be owned by the packages concerned
1784 - Update logrotate scripts to use correct path to killall and use pid files
1785
1786 * Fri Oct 08 2004 Paul Jakma <paul@dishone.st>
1787 - Update to 0.97.0
1788
1789 * Wed Sep 15 2004 Paul Jakma <paul@dishone.st>
1790 - build snmp support by default
1791 - build irdp support
1792 - build with shared libs
1793 - devel subpackage for archives and headers
1794
1795 * Thu Jan 08 2004 Paul Jakma <paul@dishone.st>
1796 - updated sysconfig files to specify local dir
1797 - added ospf_dump.c crash quick fix patch
1798 - added ospfd persistent interface configuration patch
1799
1800 * Tue Dec 30 2003 Paul Jakma <paul@dishone.st>
1801 - sync to CVS
1802 - integrate RH sysconfig patch to specify daemon options (RH)
1803 - default to have vty listen only to 127.1 (RH)
1804 - add user with fixed UID/GID (RH)
1805 - create user with shell /sbin/nologin rather than /bin/false (RH)
1806 - stop daemons on uninstall (RH)
1807 - delete info file on preun, not postun to avoid deletion on upgrade. (RH)
1808 - isisd added
1809 - cleanup tasks carried out for every daemon
1810
1811 * Sun Nov 2 2003 Paul Jakma <paul@dishone.st>
1812 - Fix -devel package to include all files
1813 - Sync to 0.96.4
1814
1815 * Tue Aug 12 2003 Paul Jakma <paul@dishone.st>
1816 - Renamed to Quagga
1817 - Sync to Quagga release 0.96
1818
1819 * Thu Mar 20 2003 Paul Jakma <paul@dishone.st>
1820 - zebra privileges support
1821
1822 * Tue Mar 18 2003 Paul Jakma <paul@dishone.st>
1823 - Fix mem leak in 'show thread cpu'
1824 - Ralph Keller's OSPF-API
1825 - Amir: Fix configure.ac for net-snmp
1826
1827 * Sat Mar 1 2003 Paul Jakma <paul@dishone.st>
1828 - ospfd IOS prefix to interface matching for 'network' statement
1829 - temporary fix for PtP and IPv6
1830 - sync to zebra.org CVS
1831
1832 * Mon Jan 20 2003 Paul Jakma <paul@dishone.st>
1833 - update to latest cvs
1834 - Yon's "show thread cpu" patch - 17217
1835 - walk up tree - 17218
1836 - ospfd NSSA fixes - 16681
1837 - ospfd nsm fixes - 16824
1838 - ospfd OLSA fixes and new feature - 16823
1839 - KAME and ifindex fixes - 16525
1840 - spec file changes to allow redhat files to be in tree
1841
1842 * Sat Dec 28 2002 Alexander Hoogerhuis <alexh@ihatent.com>
1843 - Added conditionals for building with(out) IPv6, vtysh, RIP, BGP
1844 - Fixed up some build requirements (patch)
1845 - Added conditional build requirements for vtysh / snmp
1846 - Added conditional to files for _bindir depending on vtysh
1847
1848 * Mon Nov 11 2002 Paul Jakma <paulj@alphyra.ie>
1849 - update to latest CVS
1850 - add Greg Troxel's md5 buffer copy/dup fix
1851 - add RIPv1 fix
1852 - add Frank's multicast flag fix
1853
1854 * Wed Oct 09 2002 Paul Jakma <paulj@alphyra.ie>
1855 - update to latest CVS
1856 - timestamped crypt_seqnum patch
1857 - oi->on_write_q fix
1858
1859 * Mon Sep 30 2002 Paul Jakma <paulj@alphyra.ie>
1860 - update to latest CVS
1861 - add vtysh 'write-config (integrated|daemon)' patch
1862 - always 'make rebuild' in vtysh/ to catch new commands
1863
1864 * Fri Sep 13 2002 Paul Jakma <paulj@alphyra.ie>
1865 - update to 0.93b
1866
1867 * Wed Sep 11 2002 Paul Jakma <paulj@alphyra.ie>
1868 - update to latest CVS
1869 - add "/sbin/ip route flush proto zebra" to zebra RH init on startup
1870
1871 * Sat Aug 24 2002 Paul Jakma <paulj@alphyra.ie>
1872 - update to current CVS
1873 - add OSPF point to multipoint patch
1874 - add OSPF bugfixes
1875 - add BGP hash optimisation patch
1876
1877 * Fri Jun 14 2002 Paul Jakma <paulj@alphyra.ie>
1878 - update to 0.93-pre1 / CVS
1879 - add link state detection support
1880 - add generic PtP and RFC3021 support
1881 - various bug fixes
1882
1883 * Thu Aug 09 2001 Elliot Lee <sopwith@redhat.com> 0.91a-6
1884 - Fix bug #51336
1885
1886 * Wed Aug 1 2001 Trond Eivind Glomsrød <teg@redhat.com> 0.91a-5
1887 - Use generic initscript strings instead of initscript specific
1888 ( "Starting foo: " -> "Starting $prog:" )
1889
1890 * Fri Jul 27 2001 Elliot Lee <sopwith@redhat.com> 0.91a-4
1891 - Bump the release when rebuilding into the dist.
1892
1893 * Tue Feb 6 2001 Tim Powers <timp@redhat.com>
1894 - built for Powertools
1895
1896 * Sun Feb 4 2001 Pekka Savola <pekkas@netcore.fi>
1897 - Hacked up from PLD Linux 0.90-1, Mandrake 0.90-1mdk and one from zebra.org.
1898 - Update to 0.91a
1899 - Very heavy modifications to init.d/*, .spec, pam, i18n, logrotate, etc.
1900 - Should be quite Red Hat'isque now.