Skip to content

FRR Release 10.0

Compare
Choose a tag to compare
@ton31337 ton31337 released this 12 Apr 19:06
· 2458 commits to master since this release

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 from mgmtd

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 the pcc 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