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)
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.
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 1 }
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 }
34 %{!?frr_user: %global frr_user frr }
35 %{!?vty_group: %global vty_group frrvty }
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
45 # defines for configure
46 %define rundir
%{_localstatedir}/run/%{name}
48 ############################################################################
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@
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
60 %if 0%{?rhel} && 0%{?rhel} < 7
61 %global initsystem upstart
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)}
67 # Check for python version - use python2.7 on CentOS 6, otherwise python3
68 %if 0%{?rhel} && 0%{?rhel} < 7
74 # If init system is systemd, then always enable watchfrr
75 %if "
%{initsystem}"
== "systemd"
76 %global with_watchfrr
1
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
82 # if CentOS / RedHat and version < 7, then disable PIMd (too old, won't work)
83 %if 0%{?rhel} && 0%{?rhel} < 7
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 }
93 %define daemon_list zebra ripd ospfd bgpd isisd ripngd ospf6d pbrd staticd bfdd fabricd pathd
96 %define daemon_ldpd ldpd
98 %define daemon_ldpd ""
102 %define daemon_pimd pimd
104 %define daemon_pimd ""
108 %define daemon_pim6d pim6d
110 %define daemon_pim6d ""
114 %define daemon_pbrd pbrd
116 %define daemon_pbrd ""
120 %define daemon_nhrpd nhrpd
122 %define daemon_nhrpd ""
126 %define daemon_eigrpd eigrpd
128 %define daemon_eigrpd ""
132 %define daemon_babeld babeld
134 %define daemon_babeld ""
138 %define daemon_vrrpd vrrpd
140 %define daemon_vrrpd ""
144 %define daemon_watchfrr watchfrr
146 %define daemon_watchfrr ""
150 %define daemon_bfdd bfdd
152 %define daemon_bfdd ""
156 %define daemon_pathd pathd
158 %define daemon_pathd ""
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}
163 #release sub-revision (the two digits after the CONFDATE)
164 %{!?release_rev: %global release_rev 01 }
166 Summary: Routing daemon
168 Version: %{rpmversion}
169 Release: %{release_rev}%{?dist}
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
177 BuildRequires
: bison
>= 2.7
178 BuildRequires
: c
-ares
-devel
181 BuildRequires
: json
-c
-devel
182 BuildRequires
: libcap
-devel
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
194 BuildRequires
: python
-devel
>= 2.7
195 BuildRequires
: python
-sphinx
197 BuildRequires
: python3
-devel
198 BuildRequires
: python3
-sphinx
202 #platform-python-devel is needed for /usr/bin/pathfix.py
203 BuildRequires
: platform
-python
-devel
205 Requires: initscripts
207 BuildRequires
: pam
-devel
209 %if "
%{initsystem}"
== "systemd"
210 BuildRequires
: systemd
211 BuildRequires
: systemd
-devel
212 Requires(post
): systemd
213 Requires(preun
): systemd
214 Requires(postun
): systemd
216 Requires(post
): chkconfig
217 Requires(preun
): chkconfig
218 # Initscripts > 5.60 is required for IPv6 support
219 Requires(pre
): initscripts
>= 5.60
221 Provides: routingdaemon
= %{version}-%{release}
222 Obsoletes
: gated mrt zebra frr
-sysvinit
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.
231 FRRouting supports BGP4
, OSPFv2
, OSPFv3
, ISIS
, RIP
, RIPng
, PIM
, LDP
232 NHRP
, Babel
, PBR
, EIGRP and BFD.
234 FRRouting is a fork of Quagga.
238 Summary: contrib tools
for frr
239 Group: System Environment
/Daemons
242 Contributed
/3rd party tools which may be of use with frr.
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
253 BuildRequires
: python2
254 Requires: python2
-ipaddress
256 BuildRequires
: python3
259 Group: System Environment
/Daemons
261 %description pythontools
262 Contributed python
2.7 tools which may be of use with frr.
266 Summary: Header and object files
for frr development
267 Group: System Environment
/Daemons
268 Requires: %{name} = %{version}-%{release}
271 The frr
-devel package contains the header and object files necessary
for
272 developing OSPF
-API and frr applications.
276 Summary: BGP RPKI support
(rtrlib
)
277 Group: System Environment
/Daemons
278 BuildRequires
: librtr
-devel
>= 0.8
279 Requires: %{name} = %{version}-%{release}
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
290 Summary: SNMP support
291 Group: System Environment
/Daemons
292 BuildRequires
: net
-snmp
-devel
293 Requires: %{name} = %{version}-%{release}
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.
302 %setup -q
-n frr
-%{frrversion}
307 # For standard gcc verbosity, uncomment these lines:
308 #CFLAGS="%{optflags} -Wall -Wsign-compare -Wpointer-arith"
309 #CFLAGS="${CFLAGS} -Wbad-function-cast -Wwrite-strings"
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"
318 --sbindir
=%{_sbindir} \
319 --sysconfdir
=%{configdir} \
320 --localstatedir
=%{rundir} \
324 %if %{with_multipath}
325 --enable-multipath
=%{with_multipath} \
328 %if %{with_ospfclient}
329 --enable-ospfclient \
331 --disable
-ospfclient\
387 --enable-user
=%{frr_user} \
388 --enable-group
=%{frr_user} \
391 --enable-vty
-group
=%{vty_group} \
426 make %{?_smp_mflags} MAKEINFO
="makeinfo
--no
-split"
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
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
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
449 # Remove this file, as it is uninstalled and causes errors when building on RH9
450 rm -rf
%{buildroot}/usr
/share
/info
/dir
452 # Remove debian init script if it was installed
453 rm -f
%{buildroot}%{_sbindir}/frr
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
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
465 mkdir -p
%{buildroot}%{_initddir}
466 ln
-s
%{_sbindir}/frrinit.sh %{buildroot}%{_initddir}/frr
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}
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
480 # remove ospfclient.py (if present) as it requires > python36
481 rm -f
%{buildroot}%{_sbindir}/ospfclient.py
487 getent group
%{vty_group} >/dev/null || groupadd -r -g %{vty_gid} %{vty_group}
490 # add frr user and group
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}
500 usermod
-a
-G
%{vty_group} %{frr_user}
507 # zebra_spec_add_service <service name> <port/proto> <comment>
508 # e.g. zebra_spec_add_service zebrasrv 2600/tcp "zebra service"
510 zebra_spec_add_service
()
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
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"
529 zebra_spec_add_service ospfapi
2607/tcp "OSPF
-API"
532 zebra_spec_add_service babeld
2609/tcp "BABELd vty"
535 zebra_spec_add_service nhrpd
2610/tcp "NHRPd vty"
538 zebra_spec_add_service pimd
2611/tcp "PIMd vty"
541 zebra_spec_add_service pbrd
2615/tcp "PBRd vty"
544 zebra_spec_add_service ldpd
2612/tcp "LDPd vty"
547 zebra_spec_add_service eigrpd
2613/tcp "EIGRPd vty"
550 zebra_spec_add_service bfdd
2617/tcp "BFDd vty"
552 zebra_spec_add_service fabricd
2618/tcp "Fabricd vty"
554 zebra_spec_add_service vrrpd
2619/tcp "VRRPd vty"
557 zebra_spec_add_service pathd
2620/tcp "Pathd vty"
560 %if "
%{initsystem}"
== "systemd"
561 for daemon
in %all_daemons ; do
562 %systemd_post frr.service
565 /sbin
/chkconfig
--add frr
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
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
578 /sbin
/install-info
%{_infodir}/frr.info.gz %{_infodir}/dir
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
585 chown
%{frr_user}:%{frr_user} %{configdir}/frr.conf
587 chmod
640 %{configdir}/frr.conf
590 chown
%{frr_user}:%{frr_user} %{configdir}/daemons
594 # No config for watchfrr - this is part of /etc/sysconfig/frr
595 rm -f
%{configdir}/watchfrr.
*
598 if [ ! -e
%{configdir}/vtysh.conf
]; then
599 touch
%{configdir}/vtysh.conf
600 chmod
640 %{configdir}/vtysh.conf
603 chown
%{frr_user}:%{vty_group} %{configdir}/vtysh.conf
*
610 if [ "$
1"
-ge
1 ]; then
612 # Upgrade from older version
614 %if "
%{initsystem}"
== "systemd"
618 %systemd_postun_with_restart frr.service
623 service frr restart
>/dev
/null
2>&1
630 %if "
%{initsystem}"
== "systemd"
634 if [ $
1 -eq
0 ] ; then
635 %systemd_preun frr.service
641 if [ $
1 -eq
0 ] ; then
642 service frr stop
>/dev
/null
2>&1
643 /sbin
/chkconfig
--del frr
646 /sbin
/install-info
--delete
%{_infodir}/frr.info.gz %{_infodir}/dir
653 /usr
/share
/yang
/*.yang
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}
659 %dir %attr(750,root
,root
) %{configdir}
660 %dir %attr(755,root
,root
) %{_localstatedir}/log
/frr
661 %dir %attr(750,root
,root
) %{rundir}
663 %{_infodir}/frr.info.gz
671 %exclude %{_sbindir}/ssd
708 %{_libdir}/frr
/modules
/pathd_pcep.so
710 %{_libdir}/libfrr.so
*
711 %{_libdir}/libfrrcares
*
712 %{_libdir}/libfrrospf
*
714 %{_libdir}/frr
/modules
/zebra_fpm.so
716 %{_libdir}/frr
/modules
/zebra_cumulus_mlag.so
717 %{_libdir}/frr
/modules
/dplane_fpm_nl.so
718 %{_libdir}/frr
/modules
/zebra_irdp.so
719 %{_libdir}/frr
/modules
/bgpd_bmp.so
720 %{_libdir}/libfrr_pb.so
*
721 %{_libdir}/libfrrfpm_pb.so
*
722 %{_libdir}/libmgmt_be_nb.so
*
724 %config(noreplace
) %{configdir}/[!v
]*.conf
*
725 %config(noreplace
) %attr(750,%{frr_user},%{frr_user}) %{configdir}/daemons
726 %if "
%{initsystem}"
== "systemd"
727 %{_unitdir}/frr.service
731 %config(noreplace
) %{_sysconfdir}/pam.d
/frr
732 %config(noreplace
) %{_sysconfdir}/logrotate.d
/frr
733 %{_sbindir}/frr
-reload
734 %{_sbindir}/frrcommon.sh
735 %{_sbindir}/frrinit.sh
736 %{_sbindir}/watchfrr.sh
743 %{_sbindir}/generate_support_bundle.py
744 %{_sbindir}/frr
-reload.py
745 %{_sbindir}/frr_babeltrace.py
746 %if %{with_ospfclient} && (0%{?rhel} > 7 || 0%{?fedora} > 29)
747 %{_sbindir}/ospfclient.py
749 %if 0%{?rhel} > 7 || 0%{?fedora} > 29
750 %{_sbindir}/__pycache__
/*
752 %{_sbindir}/generate_support_bundle.pyc
753 %{_sbindir}/generate_support_bundle.pyo
754 %{_sbindir}/frr
-reload.pyc
755 %{_sbindir}/frr
-reload.pyo
756 %{_sbindir}/frr_babeltrace.pyc
757 %{_sbindir}/frr_babeltrace.pyo
762 # add rpki module to daemons
763 sed
-i
-e 's
/^\
(bgpd_options
=\
)\
(.
*\
)\
(".
*\
)/\
1\
2 -M rpki\
3/'
%{_sysconfdir}/frr
/daemons
766 # remove rpki module from daemons
767 sed
-i 's
/ -M rpki
//'
%{_sysconfdir}/frr
/daemons
770 %{_libdir}/frr
/modules
/bgpd_rpki.so
774 %{_libdir}/libfrrsnmp.so
*
775 %{_libdir}/frr
/modules
/*snmp.so
780 %dir %{_includedir}/%{name}
781 %{_includedir}/%{name}/*.h
782 %dir %{_includedir}/%{name}/mgmtd
783 %{_includedir}/%{name}/mgmtd
/*.h
784 %dir %{_includedir}/%{name}/ospfd
785 %{_includedir}/%{name}/ospfd
/*.h
787 %dir %{_includedir}/%{name}/bfdd
788 %{_includedir}/%{name}/bfdd
/bfddp_packet.h
791 %dir %{_includedir}/%{name}/ospfapi
792 %{_includedir}/%{name}/ospfapi
/*.h
795 %dir %{_includedir}/%{name}/eigrpd
796 %{_includedir}/%{name}/eigrpd
/*.h
802 * Tue Feb
07 2023 Martin Winter
<mwinter@opensourcerouting.org
> - %{version}
804 * Tue Feb
07 2023 Donatas Abraitis
<donatas@opensourcerouting.org
> - 8.5
806 * Tue Nov
01 2022 Jafar Al
-Gharaibeh
<jafar@atcorp.com
> - 8.4
807 - New BGP
command (neighbor PEER soo
) to configure SoO to prevent routing loops and suboptimal routing on dual
-homed sites.
808 - Command debug bgp allow
-martian replaced to bgp allow
-martian
-nexthop because previously we allowed using martian next
-hops when debug is turned on.
809 - Implement BGP
Prefix Origin Validation State Extended Community rfc8097
810 - Implement Route Leak Prevention and Detection Using Roles
in UPDATE and OPEN Messages rfc9234
814 - New
command to
enable using reserved IPv4 ranges as normal addresses
for BGP next
-hops
, interface addresses
, etc.
815 - For a full list of bug fixes
, please refer to https
://frrouting.org
/release
/
817 * Wed Jul
13 2022 Jafar Al
-Gharaibeh
<jafar@atcorp.com
> - 8.3
819 - Add camelcase json keys
in addition to pascalcase
(Wrong JSON keys will be depracated
)
820 - Fix corruption when route
-map delete
/add sequence happens
(fast re
-add
)
822 - RFC5424
& journald extended syslog target
824 - Fix broken FSM
in active
/passive modes
826 - Notification Message Support
for BGP Graceful Restart
(rfc8538
)
827 - BGP Cease Notification Subcode For BFD
828 - Send Hold Timer
for BGP
(own implementation without an additional knob
)
829 - New `
set as
-path replace`
command for BGP route
-map
830 - New `match peer`
command for BGP route
-map
831 - New `ead
-es
-frag evi
-limit`
command for EVPN
832 - New `match evpn route
-type`
command for EVPN route
-map to match Type
-1/Type
-4
833 - JSON outputs
for all RPKI show commands
834 - Set attributes via route
-map
for BGP conditional advertisements
835 - Pass non
-transitive extended communities between RS and RS
-clients
836 - Send MED attribute when aggregate prefix is created
837 - Fix aspath memory leak
in aggr_suppress_map_test
838 - Fix crash
for `show ip bgp vrf all all neighbors
192.168.0.1 ...`
839 - Fix crash
for `show ip bgp vrf all all`
840 - Fix memory leak
for BGP Community Alias
in CLI
841 - Fix memory leak when setting BGP community at egress
842 - Fix memory leak when setting BGP large
-community at egress
843 - Fix SR color nexthop processing
in BGP
844 - Fix setting
local-preference
in route
-map using
+/-
845 - Fix crash using Lua and route
-map to
set attributes via scripts
846 - Fix crash when issuing various forms of `bgp no
-rib`
848 - JSON output
for show summary
command
849 - Fix crash when MTU mismatch occurs
850 - Fix crash with xfrm interface
type
851 - Fix infinite loop when parsing LSPs
852 - Fix router capability TLV parsing issues
854 - New `show thread timers`
command
856 - Add LSA statistics to LSA database
857 - Add LSA stats to `show area json` output
858 - Show
time left
in hello timer
for `show ipv6 ospf6 int`
859 - Restart SPF when distance is updated
860 - Support keychain
for ospf6 authentication
862 - New `show ip ospf reachable
-routers`
command
863 - Restart SPF when distance is updated
864 - Use consistent JSON keys
for `show ip ospf neighbor` and detail version
866 - Add additional IGMP stats
867 - Add IGMP join sent
/failed statistics
868 - Add IGMP total groups and total
source groups to statistics
869 - New `debug igmp trace detail`
command
870 - New `ip pim passive`
command
871 - JSON support added
for command `show ip igmp sources`
872 - Allow the LPM match work properly with prefix lists and normal RPs
873 - Do not allow
224.0.0.0/24 range
in IGMP join
874 - Fix IGMP packet
/query check
875 - Handle PIM join
/prune receive flow
for IPv6
876 - Handle receive of
(*,G
) register stop with
source address as
0
877 - Handle of exclude mode IGMPv3 report messages
for SSM
-aware group
878 - Handle of IGMPv2 report message
for SSM
-aware group range
879 - Send immediate join with possible sg rpt prune bit
set
880 - Show group
-type under `show ip pim rp
-info`
881 - Show total received messages IGMP stats
883 - Capture zebra advertised ECMP limit
884 - Do not register existing nexthop to Zebra
885 - Reject route config with too many nexthops
886 - Track nexthops per
-safi
888 - Add some more information to `show watchfrr`
889 - Send operational state to systemd
891 - Add ability to know when FRR is not ASIC offloaded
892 - Add
command for setting protodown bit
893 - Add dplane
type for netconf data
894 - Add ECMP supported to `show zebra`
895 - Add EVPN status to `show zebra`
896 - Add
if v4
/v6 forwarding is turned on
/off to `show zebra`
897 - Add initial zebra tracepoint support
898 - Add kernel nexthop group support to `show zebra`
899 - Add knowledge about ra and rfc
5549 to `show zebra`
900 - Add mpls status to `show zebra`
901 - Add netlink debug dump
for netconf messages
902 - Add netlink debugs
for ip rules
903 - Add OS and version to `show zebra`
904 - Add support
for end.dt4
905 - Add to `show zebra` the
type of vrf devices being used
906 - Allow
*BSD to specify a receive buffer size
907 - Allow multiple connected routes to be choosen
for kernel routes
908 - Allow system routes to recurse through themselves
909 - Do not send RAs w
/o link
-local v6 or on bridge
-ports
910 - Evpn disable remove l2vni from l3vni list
911 - Evpn
-mh bonds protodown check
for set
912 - Evpn
-mh use protodown update reason api
913 - Fix cleanup of meta queues on vrf disable
914 - Fix crash
in evpn neigh cleanup all
915 - Fix missing delete vtep during vni transition
916 - Fix missing vrf change of l2vni on vxlan interface
917 - Fix rtadv startup when config
read in is before interface up
918 - Fix use after deletion event
in FreeBSD
919 - Fix v6 route replace failure turned into success
920 - Get zebra graceful restart working when restarting on
*BSD
921 - Handle FreeBSD routing socket enobufs
922 - Handle protodown netlink
for vxlan device
923 - Include mpls enabled status
in interface output
924 - Include old reason
in evpn
-mh bond update
925 - Keep the interface flags safe on multiple ioctl calls
926 - Let
/32 host route with same ip cross vrf
927 - Make router advertisement warnings show up once every
6 hours
928 - Prevent crash
if zebra_route_all is used
for a route
type
929 - Prevent installation of connected multiple
times
930 - Protodown
-up event trigger interface up
931 - Register nht nexthops with proper safi
932 - Update advertise
-svi
-ip macips w
/ new mac
933 - When handling unprocessed messages from kernel print usable string
934 - New `show ip nht mrib`
command
935 - Handle ENOBUFS errors
for FreeBSD
937 * Tue Mar
1 2022 Jafar Al
-Gharaibeh
<jafar@atcorp.com
> - 8.2
938 - The FRRouting community would like to announce FRR
Release 8.2.
939 - This release consists of just over
800 commits from
62 authors.
940 - Selected features and bug fixes are listed below.
942 - Fix the checks
for truncated packets
944 - Correct one spelling error of comment
945 - Fix detection timeout update
946 - Fix possibly wrong counter of control packets
948 - Add "json" option to a few more show commands
949 - Add 'show bgp
<afi
> <safi
> json detail' header data
950 - Add a
6 hour warning to missing policy
951 - Add an ability to match ipv6 next
-hop by prefix
-list
952 - Add autocomplete
for access
-list under bmp node
953 - Add autocomplete
for as
-path filters
954 - Add autocomplete
for set/match community
/large
/ext lists
955 - Add long
-lived graceful restart capability
956 - Add peer
-groups to neighbor autocomplete
957 - Adjust symbolic names
for cease notifications according to rfc4486
958 - Deprecate dpa
, advertiser and rcid_path path attributes
959 - Extended bgp administrative shutdown communication
960 - Fix crash when using "show bgp vrf all"
961 - Fix inconsistency of match ip
/ipv6 next
-hop commands
962 - Fix missing name of default vrf
963 - Handle TCP connection errors with connection callbacks
for RPKI
964 - Implement llgr helper mode
966 - Support redirect import more than one route
-target ipv6
968 - Update alpine build
enable set own version
970 - Add link state traffic engineering support
971 - Fix router capability tlv parsing issues
972 - Fix running
-config
for fast
-reroute
973 - Make isis work with default vrf name different than 'default'
975 - Add missing vrf parameter to "clear ipv6 ospf6 interface"
976 - Add prompt
for commands with non
-exist vrf
977 - Add support
for nssa
type-7 address ranges
978 - Add the ability of specifying router
-id
/area
-id
in no debug ospf6
979 - Do not originate
type-4 lsa when nssa
980 - Do not send
type-5 into stub area
981 - Fix ecmp inter
-area route nexthop update
982 - Fix memory leak
for `show ipv6 ospf6 zebra json`
984 - Fix wrong comparison of routemap name
985 - Fix crash on "ospf send
-extra
-data zebra"
986 - Fix incorrect detection of topology changes
in helper mode
987 - Fix loss of mixed form
in "range"
command
988 - Fix no
-form of "graceful
-restart"
command
989 - Fix summary
-address deletion
990 - Fix wrong parsing of te subtlv
992 - Add vlan actions to vty
993 - Pbr route maps get addr family of nhgs
994 - Protect from a possible null dereference
996 - Do not allow
224.0.0.0/24 range
in igmp join
997 - Fix igmp user config
998 - Fix msdp mesh grp with wildcard member addr
999 - Fix stale forwarding entries left around after join goes away
1000 - Fix FRR drops IGMP packets
for TOS value other than
0XC0
1002 - Check
if frr.conf already exists
1003 - Logrotate file has typo
for staticd
1005 - Fix packet send
for non primary addresses
1007 - Add missing rpki node when showing config
1008 - Improve startup
time by ca. Ă—
6
1009 - remove `address
-family evpn`
1011 - Allow an integrated config to work within a namespace
1013 - Add optional nhg id output to `show ip ro`
1014 - Add resolver flag
for nexthop
in json
1015 - Add support
for json output
in srv6 locator detail
command
1016 - Don't lose next hop weights
while exporting via fpm
1017 - Fix buffer overflow
1018 - Fix netns deletion
1019 - Fix route
-map application when when using vrfs
1021 * Tue Nov
2 2021 Jafar Al
-Gharaibeh
<jafar@atcorp.com
> - 8.1
1022 - FRR
8.1 brings a long list of enhancements and fixes with
1200 commits from
1023 - 75 developers. Thanks to all contributers.
1025 - Lua hooks are now feature complete
, with one hook available
for use
(http
://docs.frrouting.org
/en
/latest
/scripting.html
)
1026 - Improvements to SRv6
(Segment Routing over IPv6
) (http
://docs.frrouting.org
/en
/latest
/zebra.html
#segment-routing-ipv6)
1027 - Improvements to
Prefix-SID
(Type
5)
1028 - EVPN route
type-5 gateway IP overlay Index
(http
://docs.frrouting.org
/en
/latest
/bgp.html
#evpn-overlay-index-gateway-ip)
1029 - OSPFv3 NSSA and NSSA totally stub areas
(http
://docs.frrouting.org
/en
/latest
/ospf6d.html
#ospf6-area)
1030 - OSPFv3 ASBR summarization
(http
://docs.frrouting.org
/en
/latest
/ospf6d.html
#asbr-summarisation-support-in-ospfv3)
1031 - OSPFv3 Graceful Restart
(http
://docs.frrouting.org
/en
/latest
/ospf6d.html
#graceful-restart)
1032 - OSPFv2 Graceful Restart
(restarting mode added
, helper was already implemented
) (http
://docs.frrouting.org
/en
/latest
/ospfd.html
#graceful-restart)
1034 - Every node
in running config now has an explicit "
exit" tag
1035 - Link bandwidth
in BGP is now correctly encoded according to IEEE
754. To stay with old incorrect encoding use
:
1036 - `neighbor PEER disable
-link
-bw
-encoding
-ieee`
1039 Fix path
for daemons file
install
1041 - Add "json" option to "show bgp as
-path
-access
-list"
1042 - Add `disable
-addpath
-rx` knob
1043 - Add an ability to
set extcommunity to none
in route
-maps
1044 - Add counter of displayed show bgp summary when filtering
1045 - Add knob to config cond
-adv scanner period
1046 - Add route
-map `match
alias`
command
1047 - Add rpki
source address configuration
1048 - Add show bgp summary filter by neighbor or as
1049 - Add terse display option on show bgp summary
1050 - Allow
for auto
-completion of community
alias's created
1051 - Bgp knob to teardown session immediately when peer is unreachable
1052 - Expand 'bgp default
<afi
>-<safi
>' cmds
1053 - Extend evpn next hop tracking to
type-1 and
type-4 routes
1054 - Fix "no router bgp x vrf default"
1055 - Flowspec redirect vrf uses vrf table instead of allocated table id
1056 - Handle quick flaps of an evpn prefix properly
1057 - Initial batch of evpn lttng tracepoints
1058 - Limit processing to what is needed
in rpki validation
1059 - Modify vrf
/view display
in show bgp summary
1060 - Set
4096 instead of
65535 as new max packet size
for a new peer
1061 - Set extended msg size only
if we advertised and received capability
1062 - Show bgp community
alias in json community list output
1063 - Show bgp prefixes by community
alias
1064 - Show max packet size per update
-group
1065 - Split soft reconfigure table task into several
jobs to not block vtysh
1066 - Store distance received from a redistribute statement
1067 - Update route
-type-1 legend to match output
1069 - Fix sending of lsp with null seqno
1071 - Add "json" option to "show ip
[v6
] access
-list"
1072 - Add "json" option to "show ip
[v6
] prefix
-list"
1073 - Add "json" option to "show route
-map"
1074 - Prevent grpc assert on missing yang node
1076 - Clear cache when shortcuts are cleared
1077 - Fix corrupt address being shown
for shortcuts with no cache entry
1078 - Set prefix correctly
in resolution request
1080 - Add debug commands
for lsa all and route all
1081 - Add warning log
for late hello packets
1082 - Add write
-multiplier configuration
1083 - Don't update router
-id
if at least one adjacency is full
1084 - Extend the "redistribute"
command with more options
1085 - Fix issue when displaying the redistribute
command
1086 - Fix logging of border router routes
1087 - Json output
for database dump show
command
1088 - Link state id
in lsa database json output
1089 - Send lsa update immediately when ospf instance is deleted
1091 - Fix crash when creating vlink
in unknown vrf
1092 - Gr conformance fix
for hello packet dr election
1093 - Print extra lsa information
in some log messages
1094 - Rfc conformance
test case 25.23 issue fix
1095 - Show ip ospf route json does not shown metric and tag
1096 - Summary lsa is not originated when process is reset
1098 - Handle pcinitiated configuration
, main thread
1099 - Handle pcinitiated messages
, thread controller
1100 - Handle srp_id correctly
1101 - If pce ret no
-path to pcreq don't retry pcreq nor delegate
1103 - Add `match ip
-protocol
[tcp|udp
]`
1104 - Add ability to
set/unset src and dest ports
1105 - Nhg "add" edge
case for last
in table range
1106 - Start inclusion of src and dst ports
for pbrd
1108 - Add tos
/ttl check
for igmp conformance
1109 - Allow join prune intervals to be as small as
5 seconds
1110 - Allow msdp group name 'default'
1111 - Fix register suppress timer code
1112 - Fix uaf
/heap corruption
in bsm code
1113 - Fix
command "no ip msdp mesh
-group member"
1114 - Igmp groups are not getting timeout
1115 - Igmp memberships are not querier specific
1116 - Igmp sockets need to be iface
-bound too
1117 - Prevent uninited usage of nexthop
1118 - Support msdp global timers configuration
1120 - Add cli timestamp '
-t' flag
1121 - Add error code
if daemon is not running
1122 - Fix searching commands
in parent nodes
1124 - Add msdp timer configuration
1125 - Fix bgp multicast prefix
type
1126 - Mark a couple of prefix
-list
/access
-list leafs as mandatory
1127 - Move multicast prefix
type definition
1128 - Replace an empty pattern with a zero
-length restriction
1129 - Rework pim msdp mesh group
1130 - Simplify msdp peer handling
1132 - Add "json" option to "show interface"
1133 - Various improvment to dataplane interface
1134 - Add message counts
for `show zebra client`
1135 - Add nhg id to show ip route json
1136 - Add show
command for ra interface lists
1137 - Fix ipv4 routes with ipv6 link
local next hops
install in fpm
1138 - Handle bridge mac address update
in evpn contexts
1139 - Move individual lines to table
in `show zebra client`
command
1140 - Refresh vxlan evpn contexts
, when bridge interface goes up
1141 - Update zl3vni when bridge link refreshed
in other namespaces
1143 * Wed Jul
21 2021 Martin Winter
<mwinter@opensourcerouting.org
> - 8.0
1145 - New daemon pathd
for segment routing
1146 - EVPN Multihoming is now fully supported
1147 - OSPFv3 now supports VRFs
1148 - TI
-LFA has been implemented
in IS
-IS and OSPF
1149 - Ability
for Zebra to dump netlink messages
in a human
-friendly format
1150 - LDP gained SNMP support
1151 - libyang minimun version is now
2.0
1153 - Add `distribute
-list` commands
1154 - Fix memory leak
in connected route handling
1156 - Add support
for use of aliases with communities
1157 - Add support of tcp
-mss
for neighbors
1158 - Add support
for EVPN Multihoming
1159 - Add ability to show BGP routes from a particular table version
1160 - Add support
for for RFC
8050 (MRT add
-path
)
1161 - Add SNMP support
for MPLS VPN
1162 - Add `show bgp summary wide`
command to show more detailed output
1164 - Add ability
for peer
-groups to have `ttl
-security hops` configured
1165 - Add support
for conditional Advertisement
1166 - Add support
for RFC
4271 Delay Open Timer
1167 - Add a knob to not advertise
until route is installed
in fib
1168 - Add BGP
-wide configuration
for graceful shutdown
1169 - Add support
for RFC
8654 extended messages
1170 - Improve RPKI reporting as well as new show commands
1171 - Improve handling of VRF route leaking
1172 - Improve scaling behavior
for dynamic neighbors
1173 - Improve LL nexthop tracking to be interface based
1174 - Improve route reachability handling with respect to blackhole routes
1175 - Improve SNMP traps to RFC
4273 notifications
1176 - Improve EVPN routes to use L3 NHG's where applicable
1177 - Improvements to EVPN
1178 - Improvements to update behavior
1179 - Fix various issues with connection resolution
1180 - Fix statistics commands
in some situations
1181 - Fix non
-determistic locally
-originated paths
in bestpath selection
1182 - Continue working on transitioning to YANG
/Northbound configuration
1183 - Various bug fixes and performance improvements
1185 - Add `distribute
-list` commands
1186 - Ensure received AS number is the same as ours
in all situations
1187 - Properly validate TLV lengths
in some situations
1189 - Add ldb
-sync functionality
1190 - Add TI
-LFA functionality
1191 - Add support
for Anycast
-SID's
1192 - Add support
for classic LFA RFC
5286
1193 - Add `show isis fast
-reroute summary`
command
1194 - Add support
for Remote LFA RFC
7490
1195 - Fix Attach
-bit processing
in some scenarios
1196 - Cleanup BFD integration
1197 - Various bug fixes and performance improvements
1200 - Support
for LDP IGP Synchronization
1201 - Support
for RLFA clients
1202 - Various bug fixes and performance improvements
1204 - Various bugfixes and performance improvements
1206 - Add `nhrp multicast
-nflog
-group
(1-65535)`
command
1207 - Add configuration options
for vici socket path
1208 - Add support
for forwarding multicast packets
1209 - Fix handling of MTU
1210 - Fix handling of NAT extension
1211 - Retry IPsec under some conditions
1213 - Add OSPF GR helper support
1214 - Add JSON support
for various commands
1215 - Add `summary
-address A.B.C.D
/M ...` commands
1216 - Add `area X nssa suppress
-fa`
command
1217 - Add support
for TI
-LFA
1218 - Add support
for BFD profiles
1219 - Add support
for Traffic Engineering database
1220 - Add support
for usage of DMPVPN with OSPF
1221 - Add `clear ip ospf neighbor` commands
1222 - Add YANG support
for route
-maps
1223 - Improvements to SNMP
1224 - Fixes
for type 5 and
type 7 LSA handling
1225 - Various bug fixes and performance improvements
1227 - Add support
for VRFs
1228 - Add JSON support to a bunch of commands
1229 - Add ability to control maximum paths
for routes
1230 - Add `show ipv6 ospf6 vrfs`
command
1231 - Add support
for BFD profiles
1232 - Fix to not send hellos on loopbacks
1233 - Cleanup area handling around interfaces
1234 - YANG support
for route
-maps
1235 - Various bug fixes and performance improvements
1237 - Cleanup trust of user input
1239 - Add support of SR
-TE policy management daemon
1240 - Add optional support
for PCEP to pathd
1241 - Integrate PCEP
-LIB into FRR
1243 - Add `
set installable` nhg
command
1244 - Improve interface up
/down event handling
1246 - Add YANG integration
1247 - Add JSON support to various commands
1248 - Add BFD profile support
1249 - Fixes to IGMP conformance
1250 - Fixes to behavior surrounding Prune and Prune
-pending
1251 - Various bug fixes and performance improvements
1253 - Fix interface wakeup after shutdown
1255 - Add ability to use Nexthop Groups
1256 - Add v4 redistribute watching
1260 - Fix nexthop handling
in some situations
1261 - Forbid blackhole and non
-blackhole nexthops
in a single route
1263 - printf formatting cleanups
1265 - Add a `show
history`
command
1266 - Add `show memory
<daemon
>` support
1267 - Start deprecation cycle
for `address
-family evpn`
1268 - Display version with
--help
1273 - Add JSON support to various commands
1274 - Add Human readable netlink dumps
1275 - Add L2 NHG support
1276 - Add support
for LSPs to FPM dataplane
1277 - Add ability
for other protocol daemons to
install nexthop groups into the kernel
1278 - Add YANG support
for route
-maps
1279 - Improve scale performance when handling a large number of VRF's
1280 - Improve network namespace handling
1281 - Improve asic
-offload handling
1282 - Improve FreeBSD interface and route handling
1283 - Improve handling of neighbors
in kernel dataplane plugin
1284 - Improve label manager
1285 - Improve route
-map processing
1286 - Improve debug
-ability of routes and VRFs
1287 - Improve FPM dataplane plugin
1288 - Improve handling of reachability
/ nexthop tracking on shutdown interfaces
1289 - Improve EVPN support
1290 - Fix startup handling of `
set src X`
1291 - Various bug fixes and performance improvements
1293 * Wed Mar
3 2021 Martin Winter
<mwinter@opensourcerouting.org
> - 7.5.1
1295 - Fix connected route leak on change
1297 - Session lookup was sometimes wrong
1298 - Memory leak and handling cleanups
1299 - In some situations handle vrf appropriately when receiving packets
1301 - Peer
Group Inheritance Fixes
1302 - Dissallow attempt to peer peers reachable via blackholes
1303 - Send BMP down message when reachability fails
1304 - Cleanup handling of aggregator data when the AGG AS is
0
1305 - Handle `neighbor
<peer
-group allowas
-in` config changes properly
1306 - Properly parse community and lcommunity values
in some circumstances
1307 - Allow peer
-groups to configure `ttl
-security hops`
1308 - Prevent v6 routes with v4 nexthops from being installed
1309 - Allow `default
-originate` to be cleared from a peer group
1310 - Fix evpn route
-map vni filter at origin
1311 - local routes were using non
-default distance
1312 - Properly track
if the nexthop was updated
in some circumstances
1313 - Cleanup `show running` when running bgp with `
-e X` values
1314 - Various Memory leaks
in show commands
1315 - Properly withdraw exported routes when deleting a VRF
1316 - Avoid resetting ebgp
-multihop
if peer setting is the same as peer
-group
1317 - Properly encode flowspec rules to zebra
in some rare circumstances
1318 - Generate statistics
for routes
in bgp when we have exactly
1 route
1319 - Properly apply route
-map
for the default
-originate
command
1321 - Properly
set MTU
for eigrp packets sent
1322 - Various memory leaks and using uninited data fixes
1324 - When last area address is removed
, resign
if we were the DR
1325 - Various memory leaks and using uninited data fixes
1327 - Various memory leaks and using uninited data fixes
1329 - Use onlink routes when prefix
== nh
1330 - Shortcut routes are installed with proper nexthop
1332 - Prevent duplicate packet
read in multiple vrf situation
1333 - Fix area removal at interface level
1334 - Restore Point to MultiPoint interface types
1335 - Correctly handle MTU change on startup
1336 - Multi Instance initialization sometimes was not successful
1337 - NSSA translate
-always was not working properly
1339 - Don't send hellos on loopback interfaces
1340 - Handle ECMP better when a sub
-path is removed
1341 - Memory leak and handling fixes
1342 - Fix Link LSA not updating when router priority is modified
1343 - Some output from show commands was wrong
1344 - Intra area remote connected prefixes sometimes not installed
1346 - Various memory leaks and using uninited data fixes
1348 - SGRpt prune received during prune didn't override holdtime
1349 - Various memory leaks and using uninited data fixes
1351 - Fix VRF and usage on startup
in some instances
1352 - Tableid was being mishandled
in some cases
1354 - Disable bracketed paste
in readline.
1356 - Various memory leaks and using uninited data fixes
1358 - Always
install blackhole routes using kernel routes instead of nexthops
1359 - Various memory leaks and using uninited data fixes
1360 - Dissallow resolution to duplicate nexthops that created infinite nexthops
1361 - Apply the route
-map delay
-timer globally
1362 - Some routes were stuck
in Queued state when using the FPM
1363 - Better handle vrf creation when using namespaces
1364 - Set NUD_NOARP on sticky mac entries
in addtion to NTF_STICKY
1365 - Allow `
set src X` to work on startup
1367 - Fix a variety of memory leaks
1368 - Fix VRF Creation
in some instances
1369 - RPKI context editing was not properly handled
in reload situations
1370 - routemap code was not properly handling modification of CLI
in some instances
1372 - Update to using rtrlib
0.7.0
1373 - Fix passthrough path
for Libyang
1.x
1375 - Remove old docker deps
1377 * Mon Nov
2 2020 Donald Sharp
<sharpd@nvidia.com
> - 7.5
1380 - Minimum ttl support
1384 - Add wide option to display of routes
1385 - Add `maximum
-prefix
<num
> force`
1386 - Add `bestpath
-routes` to neighbor
command
1387 - Add `bgp shutdown message MSG...`
command
1388 - Add v6 Flowspec support
1389 - Add `neighbor
<neigh
> shutdown rtt`
command
1390 - Allow update
-delay to be applied globaly
1392 - Beginning of MultiHoming Support
1394 - Segment Routing Support
1396 - Guard against adj timer display overflow
1397 - Add support
for Anycast
-SIDs
1398 - Add support
for Topology Independent LFA
(TI
-LFA
)
1399 - Add `lsp
-gen
-interval
2` to isis configuration
1401 - Segment Routing support
for ECMP
1403 - Prevent crash
if transferring config amongst instances
1405 - Adding json support to commands
1406 - DSCP
/ECN based PBR Matching
1408 - Add more json support to commands
1409 - Fix missing mesh
-group commands
1410 - MSDP SA forwarding
1411 - Clear
(s
,g
,rpt
) ifchannel on
(*, G
) prune received
1412 - Fix igmp querier election and IP address mapping
1413 - Crash fix when RP is removed
1415 - Northbound Support
1417 - Filter and route
-map Support
1418 - OSPF model definition
1419 - BGP model definition
1421 - Speed up output across daemons
1422 - Fix build
-time errors
for some
--enable flags
1423 - Speed up output of configuration across daemons
1425 - nexthop group support
for FPM
1426 - northbound support
for rib model
1427 - Backup nexthop support
1428 - netlink batching support
1429 - Allow upper level protocols to request ARP
1430 - Add json output
for zebra ES
, ES
-EVI and access vlan dumps
1432 - Upgrade to using libyang1.0
.184
1435 - Moved RPKI to subpackage
1436 - Added SNMP subpackage
1438 - As always there are too many bugfixes to list individually. This release
1439 - compromises just over
1k of commits by the community
, with contributors from
1442 * Tue Jun
30 2020 Martin Winter
<mwinter@opensourcerouting.org
> - 7.4
1444 - Use sequence numbers
for community lists
1445 - Fixes to nexthop groups
1446 - Add feature to limit outgoing number of routes
1447 - Per Neighbor Graceful Restart
1448 - Multiple Graceful Restart fixes
1449 - Support sub
-Type
-4 and sub
-Type
-5 for the VPNv4 SRv6 backend
1450 - rfc7606 support
: treat certain malformed routes as withdraw
1451 - allow origin override
for route aggregates
1452 - rfc6608 support
: Subcodes
for BGP Finite State Machine Error
1453 - rfc7607 support
: Codification of AS
0 Processing
1454 - rfc6286 support
: Autonomous
-System
-Wide Unique BGP Identifier
for BGP
-4
1455 - Unequal cost multipath
(a.ka. weighted ECMP
) with BGP link
-bandwidth
1456 - Enable rfc8212 by default except datacenter profile
1460 - Add copy
command to copy config from file into running config
1462 - adding support
for LDP ordered label distribution control
1464 - IS
-IS Segment Routing support
1466 - add initial support to add
/remove lsps
1468 - fix broadcast address
in IPv4 networks with
/31 mask
1469 - Add Graceful Restart support
for Protocol Daemon restarts
1471 - migrate route
-maps to use northbound interface
1472 - plus countless bug fixes and other improvements
1474 * Mon Jun
15 2020 Sascha Kattelmann
<sascha@netdef.org
>
1477 * Wed May
06 2020 David Lamparter
<equinox@opensourcerouting.org
> - 7.3.1
1480 * Fri Feb
14 2020 Martin Winter
<mwinter@opensourcerouting.org
> - 7.3
1483 - Route Aggregation code speed ups
1484 - BGP Vector I
/O speed ups
1485 - New CLI
: `
set distance XXX`
1486 - New CLI
: `aggregate
-address A.B.C.D
/M route
-map WORD`
1487 - New CLI
: `bgp reject
-as
-sets`
1488 - New CLI
: `advertise pip ...`
1489 - New CLI
: `match evpn rd ASN
:NN_OR_IP
-ADDRESS
:NN`
1490 - New CLI
: `show bgp l2vpn evpn community|large
-community X`
1491 - New CLI
: `show bgp l2vpn evpn A.B.C.D`
1492 - Auto
-completion
for clear bgp
command
1493 - Add ability to
set tcp socket buffer size
1495 - Partial MPLS TE support
1497 - New CLI
: `
set vrf unchanged|NAME`
1500 - New CLI
: 'show bfd peers brief'
1501 - New CLI
: 'clear bfd peer ...'
1503 - Significant Speedups
in accessing Internal Data
for higher scale
1504 - Support
for joining any
-source Multicast
1505 - Updated CLI
: 'show ip pim upstream
-join
-desired'
1506 - New CLI
: 'show ip pim channel'
1508 - MLAG experimental support
1511 - Northbound Conversion
- NHRPd
1514 - New CLI
: `banner motd line LINE...`
1516 - New CLI
: `show yang operational
-data XPATH`
1517 - New CLI
: `debug northbound`
1519 - Nexthop
Group support
1520 - New CLI
: 'debug zebra nexthop
[detail
]'
1521 - New CLI
: 'show router
-id'
1522 - MLAG experimental support
1524 - Additional status messages of system state to systemd
1525 - New CLI
: `watchfrr ignore DAEMON`
1527 - As always all daemons have received too many bug fixes to fully list
1528 - There has been a significant focus on increasing
test coverage
1529 - Change
in Behavior
:
1531 - All areas created default automatically to level
-1-2
1533 - Nexthop
Group Installation
in Kernel is turned on by default
1534 if the kernel supports
- New CLI
: 'show nexthop
-group rib
[singleton
]'
1536 - Renamed to frr
-* to remove collision with other packages
1538 * Fri Jan
17 2020 Martin Winter
<mwinter@opensourcerouting.org
> - 7.2.1
1541 - Do not apply eBGP policy
for iBGP peers
1542 - Show `ip` and `fqdn`
in json output
for `show
[ip
] bgp
<route
> json`
1543 - Fix large route
-distinguisher's format
1544 - Fix `no bgp listen range ...` configuration
command
1545 - Autocomplete neighbor
for clear bgp
1546 - Reflect the distance
in RIB when it is changed
for an arbitrary afi
/safi
1547 - Notify "Peer De
-configured" after entering 'no neighbor
<neighbor
> cmd
1548 - Fix per afi
/safi addpath peer counting
1549 - Rework BGP dampening to be per AFI
/SAFI
1550 - Do not send next
-hop as
:: in MP_REACH_NLRI
if no link
-local exists
1551 - Override peer's TTL only
if peer
-group is configured with TTL
1552 - Remove error message
for unkown afi
/safi combination
1553 - Keep the session down
if maximum
-prefix is reached
1555 - Fix BFD down not tearing down OSPF adjacency
for point
-to
-point net
1557 - Fix multiple VRF handling
1558 - VRF security improvement
1562 - Make sure `no ip nhrp map
<something
>` works as expected
1564 - Add missing sanity check
in the parsing of label messages
1566 - Use correct state when installing evpn macs
1567 - Capture dplane plugin flags
1569 - Fix interface config when vrf changes
1570 - Fix Interface Infinite Loop Walk
(for special interfaces such as bond
)
1572 - fix missing vrrpd daemon
1574 - Rename man pages
(to avoid conflicts with other packages
)
1575 - Various other fixes
for code cleanup and memory leaks
1577 * Fri Dec
27 2019 Donatas Abraitis
<donatas.abraitis@gmail.com
>
1578 - Add CentOS
8 support
1580 * Tue Oct
15 2019 Martin Winter
<mwinter@opensourcerouting.org
> - 7.2
1582 - -N
<namespace
> to allow
for config file locating when running FRR inside
1584 - Impoved Testing across all daemons
1587 - Conversion to Northbound interface
1589 - Aggregate
-address add route
-map support
1591 - Improved JSON output
for many commands
1592 - `show bgp afi safi summary failed`
command
1593 - `clear bop
*` clears all peers
1594 - Show FQDN
for `show bgp ipv4 uni` commands
1595 - Display BestPath selection reason as part of show commands
1597 - Infrastructure changes to allow VRF's
1598 - SIGHUP signals the config reload
1599 - Conversion to Northbound interface
1602 - Support
for circuits with MTU
> 8192
1604 - fwmark support as part of match criteria
1605 - autocompletion of PBRMAPS
1606 - Improved Nexthop Support
1608 - PIM
-BSM receive support
1609 - Improved debugging support
1610 - Store ECMP paths that are not currently legal
for use
1611 - Disallow igmp query from a non
-connected
source
1612 - Many new cli improvements and changes
1614 - Add Support
for RFC
3768 and RFC
5798
1616 - Add sequence numbers to access
-lists
1617 - Add `match ip next
-hop
type blackhole`
1618 - Improved ability to notice dependency changes
1620 - `sharp watch
[import|nexthop
]` you can now specify a prefix instead
1623 - Significantly Improved NHT
1625 - Many dataplane improvements
for routes
, neighbor table and EVPN
1626 - NHT cli can now be specified per VRF and improved ability to control
1627 NHT data being shown
1628 - Removed duplicate processing of routes
1629 - Improved debugablility
1630 - RMAC and VxLan support
for the FPM
1633 - Nexthop
Group Improvements
1634 - `log
-filter WORD` added
1637 - libcap should be used as part of build or significant slowdowns
1639 - Lua builds have been fixed
1640 - Improved Cross building
1642 * Mon Jun
17 2019 David Lamparter
<equinox@opensourcerouting.org
> - 7.1
1643 - gRPC northbound plugin
1644 - "table NNN" removed from zebra
1645 - more dataplane MT work
1646 - EVPN
in non
-default VRFs
1647 - RFC
8212 (default deny policy
for eBGP
)
1648 - RFC
8106 (IPv6 RA DNS options
)
1650 * Wed May
8 2019 Martin Winter
<mwinter@opensourcerouting.org
> - 7.0.1
1652 - Don't send Updates with BGP Max
-Prefix Overflow
1653 - Make sure `next
-hop
-self all` backward compatible with force
1654 - Fix as
-path validation
in "show bgp regexp"
1655 - Fix interface
-based peers to override peergroups
1656 - Fix removing private AS numbers
if local-as is used
1657 - Fix show bgp labeled_unicast
1658 - Add
command to lookup prefixes
in rpki table
1659 - Fix peer count
in "show bgp ipv6 summary"
1660 - Add missing ipv6 only peer flag action
1661 - Fix address family output
in "show bgp
[ipv4|ipv6
] neighbors"
1662 - Add missing checks
for vpnv6 nexthops
1663 - Fix nexthop
for ipv6 vpn
case
1664 - rip
: Fix removal of passive interfaces
1666 - Fix json timer output
1667 - Fix milliseconds
in json output
1669 - Fix
source port according RFC
5881, Sec
4
1670 - Fix IPv6 link
-local peer removal
1671 - Fix interface clean up when deleting interface
1672 - pim
: Fix interface clean up when deleting interface
1673 - nhrp
: Fix interface clean up when deleting interface
1675 - Workaround to get FRR building with libyang
0.x and
1.x
1676 - Fix
in priv handling
1677 - Make priv elevation thread
-safe
1679 - Pseudowire event recovery
1680 - Fix race condition
in label manager
1681 - Fix system routes selection and next
-hop tracking
1682 - Set connected route metric based on devaddr metric
1683 - Display metric
for connected routes
1684 - Add selected fib details to json output
1685 - Always use replace
if installing new route
1686 - watchfrr
: Silently ignore
declare failures
(for backward compatibility
)
1687 - RPM packages
: Switch to new init script
1689 * Thu Feb
28 2019 Martin Winter
<mwinter@opensourcerouting.org
> - 7.0
1690 - Added libyang dependency
: New work
for northbound interface based on libyang
1691 - Fabricd
: New Daemon based on https
://datatracker.ietf.org
/doc
/draft
-white
-openfabric
/
1692 - various bug fixes and other enhancements
1694 * Sun Oct
7 2018 Martin Winter
<mwinter@opensourcerouting.org
> - 6.0
1695 - Staticd
: New daemon responsible
for management of static routes
1696 - ISISd
: Implement dst
-src routing as per draft
-ietf
-isis
-ipv6
-dst
-src
-routing
1697 - BFDd
: new daemon
for BFD
(Bidrectional Forwarding Detection
). Responsible
1698 for notifying link changes to
make routing protocols converge faster.
1701 * Thu Jul
5 2018 Martin Winter
<mwinter@opensourcerouting.org
> - 5.0.1
1702 - Support Automake
1.16.1
1703 - BGPd
: Support
for flowspec ICMP
, DSCP
, packet length
, fragment and tcp flags
1704 - BGPd
: fix rpki validation
for ipv6
1705 - VRF
: Workaround
for kernel bug on Linux
4.14 and newer
1706 - Zebra
: Fix interface based routes from zebra not marked up
1707 - Zebra
: Fix large zebra memory usage when redistribute between protocols
1708 - Zebra
: Allow route
-maps to match on
source instance
1709 - BGPd
: Backport peer
-attr overrides
, peer
-level enforce
-first
-as and filtered
-routes fix
1710 - BGPd
: fix
for crash during display of filtered
-routes
1711 - BGPd
: Actually display labeled unicast routes received
1712 - Label Manager
: Fix to work correctly behind a label manager proxy
1714 * Thu Jun
7 2018 Martin Winter
<mwinter@opensourcerouting.org
> - 5.0
1715 - PIM
: Add a Multicast Trace Command draft
-ietf
-idmr
-traceroute
-ipm
-05
1716 - IS
-IS
: Implement Three
-Way Handshake as per RFC5303
1717 - BGPD
: Implement VPN
-VRF route leaking per RFC4364.
1718 - BGPD
: Implement VRF with NETNS backend
1720 - PBRD
: Add a new Policy Based Routing Daemon
1722 * Mon May
28 2018 Rafael Zalamena
<rzalamena@opensourcerouting.org
>
1725 * Sun May
20 2018 Martin Winter
<mwinter@opensourcerouting.org
>
1726 - Fixed RPKI RPM build
1728 * Sun Mar
4 2018 Martin Winter
<mwinter@opensourcerouting.org
>
1729 - Add option to build with RPKI
(default
: disabled
)
1731 * Tue Feb
20 2018 Martin Winter
<mwinter@opensourcerouting.org
>
1732 - Adapt to new documentation structure based on Sphinx
1734 * Fri Oct
20 2017 Martin Winter
<mwinter@opensourcerouting.org
>
1735 - Fix script location
for watchfrr restart functions
in daemon config
1736 - Fix postun script to restart frr during upgrade
1738 * Mon Jun
5 2017 Martin Winter
<mwinter@opensourcerouting.org
>
1739 - added NHRP and EIGRP daemon
1741 * Mon Apr
17 2017 Martin Winter
<mwinter@opensourcerouting.org
>
1742 - new subpackage frr
-pythontools with python
2.7 restart script
1743 - remove PIMd from CentOS
/RedHat
6 RPM packages
(won't work
- too old
)
1744 - converted to single frr init script
(not per daemon
) based on debian init script
1745 - created systemd service file
for systemd based systems
(which uses init script
)
1746 - Various other RPM package fixes
for FRR
2.0
1748 * Fri Jan
6 2017 Martin Winter
<mwinter@opensourcerouting.org
>
1749 - Renamed to frr
for FRRouting fork of Quagga
1751 * Thu Feb
11 2016 Paul Jakma
<paul@jakma.org
>
1752 - remove with_ipv6 conditionals
, always build v6
1753 - Fix UTF
-8 char
in spec changelog
1754 - remove quagga.pam.stack
, long deprecated.
1756 * Thu Oct
22 2015 Martin Winter
<mwinter@opensourcerouting.org
>
1757 - Cleanup configure
: remove
--enable-ipv6
(default now
), --enable-nssa
,
1759 - Remove support
for old fedora
4/5
1760 - Fix
for package nameing
1761 - Fix Weekdays of previous changelogs
(bogus dates
)
1762 - Add conditional logic to only build tex footnotes with supported texi2html
1763 - Added pimd to files section and fix double listing of
/var
/lib
*/quagga
1764 - Numerous fixes to unify upstart
/systemd startup into same spec file
1765 - Only allow use of watchfrr
for non
-systemd systems. no need with systemd
1767 * Fri Sep
4 2015 Paul Jakma
<paul@jakma.org
>
1769 - add a default define
for with_pimd
1771 * Mon Sep
12 2005 Paul Jakma
<paul@dishone.st
>
1772 - Steal some changes from Fedora spec file
:
1773 - Add with_rtadv variable
1774 - Test
for groups
/users with getent before group
/user adding
1775 - Readline need not be an explicit prerequisite
1776 - install-info delete should be postun
, not preun
1778 * Wed Jan
12 2005 Andrew J. Schorr
<ajschorr@alumni.princeton.edu
>
1779 - on package upgrade
, implement careful
, phased restart logic
1780 - use gcc
-rdynamic flag when linking
for better backtraces
1782 * Wed Dec
22 2004 Andrew J. Schorr
<ajschorr@alumni.princeton.edu
>
1783 - daemonv6_list should contain only IPv6 daemons
1785 * Wed Dec
22 2004 Andrew J. Schorr
<ajschorr@alumni.princeton.edu
>
1787 - on upgrade
, all daemons should be condrestart'ed
1788 - on removal
, all daemons should be stopped
1790 * Mon Nov
08 2004 Paul Jakma
<paul@dishone.st
>
1791 - Use makeinfo
--html to generate quagga.html
1793 * Sun Nov
07 2004 Paul Jakma
<paul@dishone.st
>
1794 - Fix with_ipv6
set to
0 build
1796 * Sat Oct
23 2004 Paul Jakma
<paul@dishone.st
>
1799 * Sat Oct
23 2004 Andrew J. Schorr
<aschorr@telemetry
-investments.com
>
1800 - Make directories be owned by the packages concerned
1801 - Update logrotate scripts to use correct path to killall and use pid files
1803 * Fri Oct
08 2004 Paul Jakma
<paul@dishone.st
>
1806 * Wed Sep
15 2004 Paul Jakma
<paul@dishone.st
>
1807 - build snmp support by default
1808 - build irdp support
1809 - build with shared libs
1810 - devel subpackage
for archives and headers
1812 * Thu Jan
08 2004 Paul Jakma
<paul@dishone.st
>
1813 - updated sysconfig files to specify
local dir
1814 - added ospf_dump.c crash quick fix patch
1815 - added ospfd persistent interface configuration patch
1817 * Tue Dec
30 2003 Paul Jakma
<paul@dishone.st
>
1819 - integrate RH sysconfig patch to specify daemon options
(RH
)
1820 - default to have vty listen only to
127.1 (RH
)
1821 - add user with fixed UID
/GID
(RH
)
1822 - create user with shell
/sbin
/nologin rather than
/bin
/false
(RH
)
1823 - stop daemons on uninstall
(RH
)
1824 - delete info file on preun
, not postun to avoid deletion on upgrade.
(RH
)
1826 - cleanup tasks carried out
for every daemon
1828 * Sun Nov
2 2003 Paul Jakma
<paul@dishone.st
>
1829 - Fix
-devel package to include all files
1832 * Tue Aug
12 2003 Paul Jakma
<paul@dishone.st
>
1834 - Sync to Quagga release
0.96
1836 * Thu Mar
20 2003 Paul Jakma
<paul@dishone.st
>
1837 - zebra privileges support
1839 * Tue Mar
18 2003 Paul Jakma
<paul@dishone.st
>
1840 - Fix mem leak
in 'show thread cpu'
1841 - Ralph Keller's OSPF
-API
1842 - Amir
: Fix configure.ac
for net
-snmp
1844 * Sat Mar
1 2003 Paul Jakma
<paul@dishone.st
>
1845 - ospfd IOS prefix to interface matching
for 'network' statement
1846 - temporary fix
for PtP and IPv6
1847 - sync to zebra.org CVS
1849 * Mon Jan
20 2003 Paul Jakma
<paul@dishone.st
>
1850 - update to latest cvs
1851 - Yon's "show thread cpu" patch
- 17217
1852 - walk up tree
- 17218
1853 - ospfd NSSA fixes
- 16681
1854 - ospfd nsm fixes
- 16824
1855 - ospfd OLSA fixes and new feature
- 16823
1856 - KAME and ifindex fixes
- 16525
1857 - spec file changes to allow redhat files to be
in tree
1859 * Sat Dec
28 2002 Alexander Hoogerhuis
<alexh@ihatent.com
>
1860 - Added conditionals
for building with
(out
) IPv6
, vtysh
, RIP
, BGP
1861 - Fixed up some build requirements
(patch
)
1862 - Added conditional build requirements
for vtysh
/ snmp
1863 - Added conditional to files
for _bindir depending on vtysh
1865 * Mon Nov
11 2002 Paul Jakma
<paulj@alphyra.ie
>
1866 - update to latest CVS
1867 - add Greg Troxel's md5 buffer copy
/dup fix
1869 - add Frank's multicast flag fix
1871 * Wed Oct
09 2002 Paul Jakma
<paulj@alphyra.ie
>
1872 - update to latest CVS
1873 - timestamped crypt_seqnum patch
1874 - oi
->on_write_q fix
1876 * Mon Sep
30 2002 Paul Jakma
<paulj@alphyra.ie
>
1877 - update to latest CVS
1878 - add vtysh 'write
-config
(integrated|daemon
)' patch
1879 - always '
make rebuild'
in vtysh
/ to catch new commands
1881 * Fri Sep
13 2002 Paul Jakma
<paulj@alphyra.ie
>
1884 * Wed Sep
11 2002 Paul Jakma
<paulj@alphyra.ie
>
1885 - update to latest CVS
1886 - add "
/sbin
/ip route flush proto zebra" to zebra RH init on startup
1888 * Sat Aug
24 2002 Paul Jakma
<paulj@alphyra.ie
>
1889 - update to current CVS
1890 - add OSPF point to multipoint patch
1892 - add BGP
hash optimisation patch
1894 * Fri Jun
14 2002 Paul Jakma
<paulj@alphyra.ie
>
1895 - update to
0.93-pre1
/ CVS
1896 - add link state detection support
1897 - add generic PtP and RFC3021 support
1900 * Thu Aug
09 2001 Elliot Lee
<sopwith@redhat.com
> 0.91a
-6
1903 * Wed Aug
1 2001 Trond Eivind Glomsrød
<teg@redhat.com
> 0.91a
-5
1904 - Use generic initscript strings instead of initscript specific
1905 ( "Starting foo
: "
-> "Starting $prog
:"
)
1907 * Fri Jul
27 2001 Elliot Lee
<sopwith@redhat.com
> 0.91a
-4
1908 - Bump the release when rebuilding into the dist.
1910 * Tue Feb
6 2001 Tim Powers
<timp@redhat.com
>
1911 - built
for Powertools
1913 * Sun Feb
4 2001 Pekka Savola
<pekkas@netcore.
fi>
1914 - Hacked up from PLD Linux
0.90-1, Mandrake
0.90-1mdk and one from zebra.org.
1916 - Very heavy modifications to init.d
/*, .spec
, pam
, i18n
, logrotate
, etc.
1917 - Should be quite Red Hat'isque now.