FRR Release 10.0
We are pleased to announce FRR release 10.0.
FRR 10.0 brings a long list of enhancements and fixes with 938 commits from 54 developers. Thanks to all contributors.
Debian Packages - https://deb.frrouting.org
RPM Packages - https://rpm.frrouting.org
Snaps - https://snapcraft.io/frr
Docker - quay.io/frrouting/frr:10.0.0
Release Overview
Breaking changes
per-daemon config files no longer supported
Writing configuration works only with the unified configuration file frr.conf. I.e, writing to per-daemon config files is no longer supported.
noprefixroute
flag for interface prefixes with NetworkManager
Using NetworkManager can disrupt routing configurations where the noprefixroute
flag is set, as NetworkManager automatically applies the noprefixroute
flag by default. This behavior can interfere with custom routing rules and configurations that depend on the absence of this flag, leading to unintended routing issues. E.g. the next-hops might be resolved via incorrect interfaces (for instance, using a default route).
More details here.
Enable enforce-first-as
by default for BGP
More details here.
A complete log of changes can be found by browsing the commit history of the FRR 10.0 tag here
Deprecate ConfD
ConfD is not supported anymore and its use is discouraged by developers.
Introduce local host routes
Host routes are needed on the router that owns the IP address to process packets destined for that IP address. redistribute local
is also possible to redistribute local host routes into protocols.
Require libyang 2.1.128
In previous releases, we said that 2.1.80 is good, and 2.1.111 is bad (do not use this version). Now we recommend and even require 2.1.128 which is again good.
Log files per daemon
Configure file logging for a single FRR daemon.
More details are here.
BGP BMP Loc-RIB (RFC9069) support
The Loc-RIB contains the routes that have been selected by the local BGP speaker's Decision Process.
More details are here.
eBGP-OAD (One Administrative Domain) support
Add support for a new External BGP (EBGP) peering type known as EBGP-OAD, which is used between two EBGP peers that belong to One Administrative Domain (OAD). This is the implementation of this draft.
This implementation allows iBGP and non-transitive attributes to be optionally exchanged.
More details are here.
BGP RPKI VRF support
Now RPKI for BGP can be configured per-VRF.
More details are here.
BGP SNMP traps for BGP4-MIBV2
Recently added support for this draft got the support for SNMP traps in this release.
More details are here.
Management (mgmtd) daemon replace operation support
BGP dynamic capabilities for addpath, fqdn, orf capabilities
The previous release added support for BGP Graceful-Restart, Long-lived Graceful-Restart, and Role capabilities to be managed via BGP dynamic capabilities. With this release, we add support for AddPath, FQDN, and ORF capabilities.
E.g. to change the AddPath/ORF (Outbound Route Filtering) capability's flags, a session reset is not needed if the dynamic capability is enabled between the peers.
SRv6 encapsulation source address feature
Configure the source address of the outer encapsulating IPv6 header.
More details are here.
OSPFv3 Point-To-Multipoint mode
Add an ability to set the network type to point-to-multipoint for an interface.
More details are here.
Other significant changes
bgpd
- Add
clear bgp capabilities
command to resend some dynamic capabilities link - Add
debug bgp updates detail
command link - Add
debug bgp updates <in|out> <X.Y.Z.W> prefix-list <NAME>
command link - Add
neighbor capability fqdn
command link - Add
redistribute table-direct
support link - Fix
match ip address ...
+match evpn ...
commands for EVPN - Remove aggregated (summary-only) suppressed routes from EVPN
mgmtd
- Implement full XPATH 1.0 predicate functionality
- Output
staticd
configuration frommgmtd
ospfd
- Fix crash in OSPF TE parsing
ospf6d
- Advertise local addresses with la bit
- Set loopback interface cost to 0
- Let the user override interface cost for a loopback
pathd
- Add dynamic candidate path metric [computed] keyword link
- Add
no msd
command in thepcc
context - Add
no pcep
command
vtysh
- Send interface commands to mgmtd
watchfrr
- Extend the ignore option to the daemon being killed
zebrad
- Add
mpls label dynamic-block
command link - Add JSON support to
show debugging label-table
link - Add zebra to
mgmtd
oper-state - Allow longer prefix matches for the next hops
- Push all configured IP addresses when the interface comes up
- Remove static ARP entries on interface-down events
- Support to listen
teamd
netlink message as bond type - Fix crash when macvlan link-interface is in another netns