FRR 7.4 Release
We are pleased to announce FRR 7.4. Thank you to all contributors.
Major additions in this release include:
- Segment Routing support for IS-IS
- BGP Graceful Restart
- BGP link bandwidth extended community support
- Full support for Python 3 (all platforms except Centos 6)
As of this release, we no longer accept patches via our mailing list.
Debian Packages - https://deb.frrouting.org/
RPM Packages - https://rpm.frrouting.org/
Snaps - https://snapcraft.io/frr
Changelog
Major Behavior Changes
- RFC 8212 is now enabled by default. BGP will not advertise or use routes unless explicitly configured to do so with an export or import policy.
All daemons:
- Performance improvements for route-maps
bfdd
- Improve debugging capabilities
- Fixes for VRF support
- Fix tx of garbage stack data in BFD packets
- Fix transmission timer calculation to match RFC 5880
bgpd
- Added additional information to EVPN JSON output
- Added ability to display large communities in default VRF
- Added ability to use add/subtract semantics for local-preference in route-maps
- Added ability to match on IPv4 nexthops in route-maps
- Added log message when router ID collision occurs during session bringup
- Added command to show listener sockets
- Added JSON support for statistics command
- Added statistics command for L2VPN EVPN address family
- Added support for link bandwidth extended community
- Added support for RFC 7607
- Added support for RFC 6286
- Added support for graceful restart
- Added support for SRv6 VPNv4 Prefix SID subtypes 4 and 5
- Added ability to set dampening on address families other than IPv4 unicast
- PfxSnt column in peer display output now reads "(Policy)" when no eBGP policy
is set - Number of prefixes sent is now shown when displaying AFI/SAFI information
- Static redistributed routes are no longer suppressed due to martian nexthop
- RFC 8212 is now enabled by default
- Ingress packet queue in peer display now reflects reality instead of a
hardcoded 0 - Weighted ECMP is now used when multipaths have link bandwidth information
- Allow overriding ORIGIN attribute for aggregate-address
- Improved BFD handling in event of peering failure
- Improved status messages for peers who fail to establish
- Indicate that prefix is malformed if aggregated by AS0 when showing prefix
- Malformed extended and large community attributes are now handled with
treat-as-withdraw strategy, per RFC 7606 - Ignore aggregator attribute if it is 0.0.0.0, per RFC 7606
- Zero-length cluster list attributes are now handled with treat-as-withdraw
strategy - Malformed EVPN Type-5 messages have improved treat-as-withdraw handling
- UPDATE messages with global nexthop set to :: are no longer discarded
- Static default route is no longer withdrawn when configuring default-originate
- Deleting numbered peers now always disables RAs for them
- Fix memory leak when parsing OPEN messages containing multiple oddly
formatted FQDN capabilities - Fix memory leak in some EVPN JSON show commands
- Fix handling of Flowspec NLRIs longer than 240 bytes
- Fix various Flowspec issues
- Fix rare crash when asking Zebra to send RA on our behalf
- Fix rare crash when issuing clear
- Fix handling of source instance router-id update when using route leaking
- Fix SNMP & BMP reporting of whether a session just went to Established
- Fix various memory issues
isisd
- Initial segment routing support per
draft-ietf-isis-segment-routing-extensions-25
- Circuits are no longer destroyed when the underlying interface is deleted
- Support MTUs up to 16k (previous max was 8k)
- Fix issues with reloading hello-interval command
ldpd
- Add support for LDP ordered label distribution
- Ingress packets coming through broken LSP are no longer dropped
- Reloading configs after removing address-family blocks now works
- ACL rule modifications are now respected
- Correct DSCP byte is now set for both sides of LDP peering
nhrpd
- Added MTU and hold time to resolution request CIE, per RFC 2332
- Added JSON support for some commands
- Fix netlink handling for lladdr messages
- Fix integer underflow
ospfd
- Fix incorrect range check on metric values
- Fix UAF upon RX of self-originated LSA
- Fix length checks when validating RX'd LSAs
- Fixes for multi-instance OSPF
ospf6d
- Fix infinite loop when multiple ABRs acting as ASBRs in the same area were
present
pbrd
- Allow deconfiguring table ranges
- Fix reloading failures around VRF related config
- Improve handling of
set
andmatch
statements in pbr-map
pimd
- Add
rpAddress
key to JSON output for PIM rp-info - Add support for setting IGMP group count watermarks
- Add
no ip msdp mesh-group
command to remove mesh groups - JSON output for IGMP groups now lists groups in an array
- Drop JOIN, HELLO and ASSERT messages not destined for all-pim-routers address
- Change all JSON keys for BSM-related output to camelCase
- Fix incorrect BSR election
- Fix various VXLAN issues
- Fix various BSM issues
- Fix various crashes
- Fix various memory leaks
sharpd
- Added ability to install & remove LSPs
- Added ability to spam log messages
- Improve support for modifying route labels
staticd
- Improved debugging capabilities
vrrpd
- Fix several crashes related to deleting in-use VRFs and interfaces
zebra
- Added ability to toggle use of kernel nexthop IDs
- Added ability to set hoplimit for IPv6 RA's
- Added ability to set retransmit timer for IPv6 RA's
- Added support for IPv6 blackhole routes on *BSD
- Nexthop weight is now displayed in JSON output when showing nexthops
- Backup nexthops are now shown when displaying routes
- Hardened ZAPI interface against corrupt messages
- Router Advertisements now contain all IPv6 global interfaces on the egress
interface, per RFC 4861 - Force reinstallation of EVPN-VXLAN flooding MAC if it is deleted from the
kernel - Fix missing weight value when installing V4 routes with V6 nexthops
- Fix various obscure memory leaks
- Fix learned kernel routes with admin distance of 255 not being marked as
installed - Fix IRDP checksum calculation
- Fix memory leak related to IPv6 RA's on shutdown
- Fix FPM sequencing issue when sending RMAC
- Fix intermittent 30 second delay when configuring LDP psuedowires
Miscellaneous
- vtysh can now load config files via a new CLI command
- Certain syslog messages related to daemon startup were incorrectly indicated
as errors; they are now marked as information
Internal improvements
- Reloading performance improved
- Route-maps converted to use Northbound API
- Zebra gained Northbound support for some operational data
- Zebra had some commands converted to Northbound API
- Support for GCC 10
Packaging
Packaging work for this release is ongoing.