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