Skip to content

Releases: FRRouting/frr

FRR Release 10.5.0

10 Nov 14:38

Choose a tag to compare

Debian Packages - https://deb.frrouting.org
RPM Packages - https://rpm.frrouting.org
Snaps - https://snapcraft.io/frr
Docker - quay.io/frrouting/frr

Release Overview

New Features Highlight

  • BFD the ability to listen for specific VRFs only
    • Configure which VRFs the BFD daemon will listen to. By default, BFD listens to all VRFs present in the system, including the default VRF. Default VRF must be specified as default.
  • BGP SRv6/MPLS coexistence
    • Allow MPLS and SRv6 to coexist on the same L3VRF, even for a given prefix. This feature is important in brown fields where some operators want to migrate from MPLS to SRv6 backbone.
  • BGP SRv6 locator per VRF support
    • Ability to choose SRv6 locator per VRF.
  • BGP Error handling (RFC 7606) for iBGP peers
    • Before 10.5.0, once we received a malformed packet between iBGP peers, we always reset the session, and with this release, we handle malformed packets the same way as for eBGP (by withdrawing or discarding the malformed packets).
  • BGP IPv6 Link-Local Capability is disabled by default
    • In 10.4.0, this capability was enabled by default for a “datacenter” profile, but it’s disabled for 10.5.0 and will be backported to 10.4.2 as well. The problem arises when the receiver has configured a route-map with set ipv6 next-hop prefer-global and we send only an IPv6 Link-Local address; therefore, it was decided to revert it to be disabled by default.
  • BGP BGPID Next-Hop Characteristic
    • In some cases, the BGP speaker sending a route might encode only a link-local address and no global address. To provide uniqueness in this case, it is sufficient to associate the BGP Identifier and AS Number of the route's sender. The BGP Identifier Characteristic (BGPID) provides a way to convey this information if required.
  • BGP EVPN flooding per VNI support
    • Add an ability to adjust BUM flooding per VNI, instead of just globally. E.g., disable flooding only for an arbitrary VNI.
  • BGP RPKI strict mode
    • RPKI strict mode prevents BGP from establishing a session if no RPKI cache server
      is connected.
  • BGP rejects AS_SET by default
    • Until 10.5.0, it was disabled by default, and since RFC 9774 was published, we switched this on by default (to reject).
  • BGP has lots of improvements for Graceful-Restart
  • PIM/PIMv6 route-map support to allow users to filter IGMP/MLD joins using source/group/ interface combinations
  • Support for multiple SRv6 locators
    • This extends the SRv6 SID Manager to add support for multiple locators.
  • Zebra 16-bit next hop weights support
    • The weights used in ECMP’s consistent hashing have been widened from 8 bits to 16 bits since the 6.12 Linux kernel.

What's Changed

Read more

FRR Release 10.1.4

05 Aug 19:42
frr-10.1.4
3f833e5

Choose a tag to compare

Debian Packages - https://deb.frrouting.org/
RPM Packages - https://rpm.frrouting.org/
Snaps - https://snapcraft.io/frr
Docker - quay.io/frrouting/frr

What's Changed

  • ospf6d: Disable and delete OSPFv3 areas that no longer have interfaces or configuration. (backport #18393)
  • zebra: Do not flush an existing vni configuration trying to remove wrong vni (backport #18108)
  • bgpd: fix set evpn gateway-ip ipv[46] route-map (#18465)
  • bgpd: Fix holdtime not working properly when busy (#8490)
  • bgpd: Retain the routes if we do a clear with N-bit set for Graceful-Restart (backport)
  • zebra: Prevent vrf table 254 being used by non-default vrf (backport #18702)
  • bgpd: fix show bgp vpn rd json (backport #18802)
  • Prefix list leak bfdd ldpd (backport #18830)
  • redhat: Add Workaround for inet_ntop replacement which breaks rpms (backport #18864)
  • bgpd: fix to show exist/non-exist-map in 'show run' properly (backport #18828)
  • bgpd: correct no form commands (backport #18911)
  • bgpd: use AS4B format for BGP loc-rib messages. (backport #18936)
  • redhat: make FRR RPM build to work on RedHat 10 (backport #18920)
  • build: check for libunwind.h, not unwind.h (backport #18912)
  • bgpd: Force adj-rib-out updates if MRAI is kicked in (backport #18959)
  • nhrpd: fix crash when accessing invalid memory zone (backport #18994)
  • lib: Fix no on-match goto NUM command (backport #19108)
  • bgpd: Fix DEREF_OF_NULL.EX.COND in bgp_updgrp_packet (backport #19126)
  • bgpd: Extract link bandwidth value from extcommunity before using for WCMP (backport #19165)
  • bfdd: Set bfd.LocalDiag when transitioning to AdminDown (backport #18592)
  • bgpd: Do not try to reuse freed route-maps (backport #19191)
  • lib: fix routemap crash (backport #19127)
  • bgpd: [GR] fixed selectionDeferralTimer to display select_defer_time val (#19285)
  • zebra: Fix buffer overflows found by fuzzing. (backport #19303)
  • lib: compute link-state zapi message size (backport #19290)

Full Changelog: frr-10.1.3...frr-10.1.4

FRR Release 10.0.4

05 Aug 19:42
frr-10.0.4
a858beb

Choose a tag to compare

Debian Packages - https://deb.frrouting.org/
RPM Packages - https://rpm.frrouting.org/
Snaps - https://snapcraft.io/frr
Docker - quay.io/frrouting/frr

What's Changed

  • isisd: Show correct level information for show isis interface detail json (backport #17732)
  • tools: Add missing rpki keyword to vrf in frr-reload (backport #17750)
  • bgpd: fix a bug in peer_allowas_in_set() (backport #17780)
  • isisd: Allow full no form for domain-password and area-password (backport #17725)
  • bgpd: fix crash in displaying json orf prefix-list (backport #17807)
  • bgpd: use igpmetric in bgp_aigp_metric_total() (backport #17813)
  • bgpd: Fix for local interface MAC cache issue in 'bgp mac hash' table (backport #17888)
  • Revert "bgpd: Handle Addpath capability using dynamic capabilities" (backport #17940)
  • tools: Fix frr-reload for ebgp-multihop TTL reconfiguration. (backport #17946)
  • bgpd: With suppress-fib-pending ensure withdrawal is sent (backport #17971)
  • bgpd: fix route-distinguisher in vrf leak json cmd (backport #17992)
  • zebra: fix evpn svd hash avoid double free (backport #17991)
  • bgpd: Send non-transitive extended communities from/to OAD peers (backport #17896)
  • bgpd: Do not start BGP session if BGP identifier is not set (#18017)
  • lib: actually hash all 16 bytes of IPv6 addresses, not just 4 (backport #17901)
  • lib: crash handlers must be allowed on threads (backport #18060)
  • zebra: include resolving nexthops in nhg hash (backport #17935)
  • bgpd: fix incorrect JSON in bgp_show_table_rd (backport #18120)
  • bgp/bfd backports for stable/10.0 (#18153)
  • bgpd: When removing the prefix list drop the pointer (backport #18160)
  • lib: fix false context information for SRv6 route (backport #18023)
  • bgpd: fix vty output of evpn route-target AS4 (backport #18109)
  • bgpd: release manual vpn label on instance deletion (backport #18121)
  • Revert "bgpd: release manual vpn label on instance deletion (backport #18121)"
  • isisd: Correct edge insertion into TED (backport #18294)
  • bgpd: Fixed crash upon bgp network import-check command (backport #18387)
  • ospf6d: Disable and delete OSPFv3 areas that no longer have interfaces or configuration. (backport #18393)
  • zebra: Do not flush an existing vni configuration trying to remove wrong vni (backport #18108)
  • bgpd: fix set evpn gateway-ip ipv[46] route-map (#18466)
  • bgpd: Fix holdtime not working properly when busy (#18491)
  • bgpd: Retain the routes if we do a clear with N-bit set for Graceful-Restart (#18518)
  • zebra: Prevent vrf table 254 being used by non-default vrf (backport #18702)
  • bgpd: fix show bgp vpn rd json (backport #18802
  • redhat: Add Workaround for inet_ntop replacement which breaks rpms (backport #18864)
  • bgpd: fix to show exist/non-exist-map in 'show run' properly (backport #18828)
  • bgpd: correct no form commands (backport #18911)
  • redhat: make FRR RPM build to work on RedHat 10 (backport #18920)
  • build: check for libunwind.h, not unwind.h (backport #18912)
  • bgpd: Force adj-rib-out updates if MRAI is kicked in (backport #18959)
  • nhrpd: fix crash when accessing invalid memory zone (backport #18994)
  • lib: Fix no on-match goto NUM command (backport #19108)
  • bgpd: Fix DEREF_OF_NULL.EX.COND in bgp_updgrp_packet (backport #19126)
  • bgpd: Extract link bandwidth value from extcommunity before using for WCMP (backport #19165)
  • bfdd: Set bfd.LocalDiag when transitioning to AdminDown (backport #18592)
  • bgpd: Do not try to reuse freed route-maps (backport #19191)
  • lib: fix routemap crash (backport #19127)

Full Changelog: frr-10.0.3...frr-10.0.4

FRR Release 10.4.1

05 Aug 19:44

Choose a tag to compare

Debian Packages - https://deb.frrouting.org/
RPM Packages - https://rpm.frrouting.org/
Snaps - https://snapcraft.io/frr
Docker - quay.io/frrouting/frr

What's Changed

  • bgpd: initialize local variable (backport #19233)
  • ospfd: Use after free cleanup of lsa (backport #19224)
  • vtysh: copy config from file should actually apply (backport #19242)
  • Revert PR #18358: BGP evpn testing and bug fixes related to non default EVPN backbone (backport #19241)
  • topotests: improve embedded RP test reliability (backport #19240)
  • lib, zebra: mark singleton nexthops inactive/active on link state changes for wecmp (backport #18947)
  • bgpd: LL next-hop capabilty fixes (backport #19261)
  • eigrp: validate hello packets and tlvs better (backport #19251)
  • bgpd : Fix compilation error in bgpd module: Update TP_ARGS for bgp (backport #19266)
  • bgpd: Ensure addpath does not withdraw selected route in some situations (backport #19210)
  • bgpd: [GR] fixed selectionDeferralTimer to display select_defer_time val (#19282)
  • bgpd: LL next-hop capabilty fixes (round 2) (backport #19277)
  • lib: compute link-state zapi message size (backport #19290)
  • zebra: Fix buffer overflows found by fuzzing. (backport #19303)

Full Changelog: frr-10.4.0...frr-10.4.1

FRR Release 10.3.2

05 Aug 19:44
e50cba8

Choose a tag to compare

Debian Packages - https://deb.frrouting.org/
RPM Packages - https://rpm.frrouting.org/
Snaps - https://snapcraft.io/frr
Docker - quay.io/frrouting/frr

What's Changed

  • bgpd: correct no form commands (backport #18911)
  • bgpd: fix to show exist/non-exist-map in 'show run' properly
  • redhat: make FRR RPM build to work on RedHat 10 (backport #18920)
  • build: check for libunwind.h, not unwind.h (backport #18912)
  • bgpd: use AS4B format for BGP loc-rib messages. (backport #18936)
  • bgpd: fix for the validity and the presence of prefixes in the BGP VPN table. (backport #17370)
  • bgpd: Force adj-rib-out updates if MRAI is kicked in (backport #18959)
  • github: Do not cache docker foobar (backport #18909)
  • zebra: Provide SID value when sending SRv6 SID release notify message (backport #18971)
  • bgpd: Fix crash when fetching statistics for bgp instance (backport #19003)
  • tests: add new /run/netns tmpfs to each topotest router namespace (backport #19007)
  • nhrpd: fix crash when accessing invalid memory zone (backport #18994)
  • zebra: Initialize RB tree for router tables (backport #19049)
  • zebra: fix null pointer dereference in zebra_evpn_sync_neigh_del (backport #19054)
  • zebra: fix stale NHG in kernel (backport #18899)
  • bgpd: Fix incorrect stripping of transitive extended communities (backport #19065)
  • lib: Fix no on-match goto NUM command (backport #19108)
  • bgpd: Fix extended community check for IP non-transitive type (backport #19097)
  • bgpd: Fix DEREF_OF_NULL.EX.COND in bgp_updgrp_packet (backport #19126)
  • lib: revert addition of vtysh_flush() call in vty_out() (backport #19109)
  • bgpd: Extract link bandwidth value from extcommunity before using for WCMP (backport #19165)
  • Use ipv4 class E addresses (240.0.0.0/4) as connected routes by default (backport #18095)
  • bfdd: Set bfd.LocalDiag when transitioning to AdminDown (backport #18592)
  • zebra: clean up a json object leak (backport #19192)
  • bgpd: Do not try to reuse freed route-maps (backport #19191)
  • lib: fix routemap crash (backport #19127)
  • bgpd: initialize local variable (backport #19233)
  • ospfd: Use after free cleanup of lsa (backport #19224)
  • vtysh: copy config from file should actually apply (backport #19242)
  • bgpd : Fix compilation error in bgpd module: Update TP_ARGS for bgp (backport #19266)
  • bgpd: Ensure addpath does not withdraw selected route in some situations (backport #19210)
  • lib, zebra: mark singleton nexthops inactive/active on link state changes for wecmp (backport #18947)
  • eigrp: validate hello packets and tlvs better (backport #19251)
  • bgpd: [GR] fixed selectionDeferralTimer to display select_defer_time val (#19283)
  • zebra: Fix buffer overflows found by fuzzing. (backport #19303)
  • lib: compute link-state zapi message size (backport #19290)

Full Changelog: frr-10.3.1...frr-10.3.2

FRR Release 10.2.4

05 Aug 19:43
0973a6f

Choose a tag to compare

Debian Packages - https://deb.frrouting.org/
RPM Packages - https://rpm.frrouting.org/
Snaps - https://snapcraft.io/frr
Docker - quay.io/frrouting/frr

What's Changed

  • bgpd: correct no form commands (backport #18911)
  • build: check for libunwind.h, not unwind.h (backport #18912)
  • redhat: make FRR RPM build to work on RedHat 10 (backport #18920)
  • bgpd: use AS4B format for BGP loc-rib messages. (backport #18936)
  • bgpd: Force adj-rib-out updates if MRAI is kicked in (backport #18959)
  • zebra: Provide SID value when sending SRv6 SID release notify message (backport #18971)
  • tests: add new /run/netns tmpfs to each topotest router namespace (backport #19007)
  • nhrpd: fix crash when accessing invalid memory zone (backport #18994)
  • lib: Fix no on-match goto NUM command (backport #19108
  • bgpd: Fix DEREF_OF_NULL.EX.COND in bgp_updgrp_packet (backport #19126)
  • bgpd: Extract link bandwidth value from extcommunity before using for WCMP (backport #19165)
  • bfdd: Set bfd.LocalDiag when transitioning to AdminDown (backport #18592)
  • bgpd: Do not try to reuse freed route-maps (backport #19191)
  • lib: fix routemap crash (backport #19127)
  • lib, zebra: mark singleton nexthops inactive/active on link state changes for wecmp (backport #18947)
  • bgpd: [GR] fixed selectionDeferralTimer to display select_defer_time val (#19284)
  • zebra: Fix buffer overflows found by fuzzing. (backport #19303)
  • lib: compute link-state zapi message size (backport #19290)

Full Changelog: frr-10.2.3...frr-10.2.4

FRR Release 10.4.0

21 Jul 15:27

Choose a tag to compare

Debian Packages - https://deb.frrouting.org
RPM Packages - https://rpm.frrouting.org
Snaps - https://snapcraft.io/frr
Docker - quay.io/frrouting/frr

Release Overview

New Features Highlight

  • BGP BFD Strict-Mode
    • neighbor PEER bfd strict [hold-time N]
  • BGP Link-Local Next Hop Capability (draft-ietf-idr-linklocal-capability)
    • neighbor PEER capability link-local
  • BGP Transparent mode
    • neighbor PEER ip-transparent
  • BGP Next Hop Dependent Characteristics Attribute (draft-ietf-idr-entropy-label)
    • neighbor PEER send-nexthop-characteristics
  • IGMP and MLD group/source limits
    • ip igmp max-groups
    • ip igmp max-sources
    • ipv6 mld max-groups
    • ipv6 mld max-sources
  • PIM dense and sparse-dense mode support (RFC3973)
    • new interface mode: dense ip pim dm
    • new interface mode: sparse-dense ip pim sm-dm
  • IGMPv2/MLDv1 immediate leave
  • v4-via-v6 nexthop support for static routes
  • Timeout for vtysh
    • exec-timeout
  • Discover PREF64 in Router Advertisements (RFC8781)
    • ipv6 nd nat64

What's Changed

Read more

FRR Release 10.3.1

03 Jun 03:31

Choose a tag to compare

Debian Packages - https://deb.frrouting.org
RPM Packages - https://rpm.frrouting.org
Snaps - https://snapcraft.io/frr

Docker - quay.io/frrouting/frr

Bug Fixes

babeld

  • Check valid babel port
  • Fix incorrect type assignment in parse_request_subtlv

bgpd

  • Fix set evpn gateway-ip ipv[46] route-map
  • Fix bmp heap use after free on non connected session
  • Fix evpn attributes being dropped on input
  • Fix holdtime not working properly when busy
  • Fix leaked memory when showing some bgp routes
  • Fixed crash upon bgp network import-check command
  • On shutdown free up memory leak found by topotest
  • Prevent crash when issuing a show rpki connections
  • Remove unused defines from bgp_label.h
  • Retain the routes if we do a clear with n-bit set for graceful-restart
  • Set the label for mp_unreach_nlri 0x800000 instead of 0x000000
  • Treat the peer as not active due to bfd down only if established

isisd

  • Fix srv6_sid memory leak

lib

  • Create vrf if needed
  • Return duplicate ipv6 prefix-list entry test
  • Return duplicate prefix-list entry test

nhrpd

  • Add hop count validation before forwarding in nhrp_peer_recv()

ospf6d

  • Disable and delete ospfv3 areas that no longer have interfaces or configuration.
  • Fix lsa memory leaks related to graceful restart

pimd

  • Fix for crash during networking restart
  • Fix memory leak on shutdown
  • Initialize gm proxy to false

staticd

  • Avoid requesting srv6 sid from zebra when loc and sid block dont match
  • Fix crash that occurs when modifying an srv6 sid

tools

  • Fix reload script for srv6 locators and formats

zebrad

  • Do not flush an existing vni configuration trying to remove wrong vni
  • Ensure proper return for failure for sid allocation
  • Fixes allowing srv6 func-bits length 0

Full Changelog: frr-10.3...frr-10.3.1

FRR Release 10.2.3

02 Jun 14:03

Choose a tag to compare

Debian Packages - https://deb.frrouting.org
RPM Packages - https://rpm.frrouting.org
Snaps - https://snapcraft.io/frr
Docker - quay.io/frrouting/frr

Bug Fixes

babeld

  • Check valid babel port
  • Fix incorrect type assignment in parse_request_subtlv

bgpd

  • Do not call evpn_overlay_free no matter what
  • Fix set evpn gateway-ip ipv[46] route-map
  • Fix holdtime not working properly when busy
  • Fixed crash upon bgp network import-check command
  • In bgp_update() for mac addrs ensure we are dealing with evpn
  • Prevent crash when issuing a show rpki connections
  • Retain the routes if we do a clear with n-bit set for graceful-restart
  • Treat the peer as not active due to bfd down only if established
  • Fix incorrect bestpath reasoning in some situations
  • Fix show bgp vpn rd json
  • Fix to show exist/non-exist-map in 'show run' properly
  • Add total path count for bgp net in json output

bfdd

  • On shutdown prefix/access list memory was being leaked

isisd

  • Fix srv6_sid memory leak

lib

  • Create vrf if needed
  • Return duplicate ipv6 prefix-list entry test
  • Return duplicate prefix-list entry test

ldpd

  • Free up leaked prefix-list memory on shutdown

nhrpd

  • Add hop count validation before forwarding in nhrp_peer_recv()

ospf6d

  • Disable and delete ospfv3 areas that no longer have interfaces or configuration.
  • Fix lsa memory leaks related to graceful restart

ospfd

  • Prune duplicate next-hops when installing into zebra
  • Fix crash when ospf client connects before doing 'router ospf'

pimd

  • Fix for crash during networking restart
  • Fix memory leak on shutdown
  • Initialize gm proxy to false

zebra

  • Do not flush an existing vni configuration trying to remove wrong vni
  • Ensure proper return for failure for sid allocation
  • Prevent vrf table 254 being used by non-default vrf
  • Fixes allowing srv6 func-bits length 0

Full Changelog: frr-10.2.2...frr-10.2.3

FRR Release 10.1.3

21 Mar 03:07

Choose a tag to compare

Debian Packages - https://deb.frrouting.org
RPM Packages - https://rpm.frrouting.org
Snaps - https://snapcraft.io/frr
Docker - quay.io/frrouting/frr

Bug Fixes

bgpd

  • Allow bfd to work if peer known but interface address not yet
  • Apply route-map for aggregate before attribute comparison
  • Do not start bgp session if bgp identifier is not set
  • Don't reuse nexthop variable in loop/switch
  • Fix a bug in peer_allowas_in_set()
  • Fix add label support to evpn ad routes
  • Fix bfd with update-source in peer-group
  • Fix bgp orf prefix-list json prefix
  • Fix crash in bgp_labelpool
  • Fix crash in displaying json orf prefix-list
  • Fix crash upon bgp network import-check command
  • Fix deadlock in bgp_keepalive and master pthreads
  • Fix for local interface mac cache issue in 'bgp mac hash' table
  • Fix incorrect json in bgp_show_table_rd
  • Fix memory leak in bgp_aggregate_install()
  • Fix route-distinguisher in vrf leak json cmd
  • Fix vty output of evpn route-target as4
  • Fix wrong pthread event cancelling
  • Remove dmed check not required in bestpath selection
  • Reset bgp session only if it was a real bfd down event
  • Update source address for bfd session
  • Use igpmetric in bgp_aigp_metric_total()
  • When bgp notices a change to shared_network inform bfd of it
  • When removing the prefix list drop the pointer
  • With suppress-fib-pending ensure withdrawal is sent
  • Revert: Handle addpath capability using dynamic capabilities
  • Revert: Reinstall aggregated routes if using route-maps and it was changed

fpm

  • Guard against garbage in unused address bytes

isisd

  • Allow full no form for domain-password and area-password
  • Correct edge insertion into ted
  • Show correct level information for show isis interface detail json

lib

  • Crash handlers must be allowed on threads
  • Fix false context information for srv6 route
  • Guard against padding garbage in zapi read

mgmtd

  • Prevent use after free

nhrpd

  • Fix do not consider incomplete l2 entry

pbrd

  • Initialize structs used in hash_lookup

pimd

  • During prefix-list update, behave as pim_upstream_notjoined state (conformance issue)
  • Fix dr election race on startup
  • Fix for data packet loss when fhr is lhr and rp
  • Fix for fhr mroute taking longer to age out
  • Fix pim vrf support (send register/register stop in vrf)
  • Fix pim6 mld vrf support (use recvmsg() pktinfo)

tools

  • Add missing rpki keyword to vrf in frr-reload
  • Fix frr-reload for ebgp-multihop ttl reconfiguration.

zebra

  • Evpn svd hash avoid double free
  • Fix resetting valid flags for nhg dependents
  • Guard against junk in nexthop->rmap_src
  • Include resolving nexthops in nhg hash