Skip to content

Releases: FRRouting/frr

FRR 8.0.0 Release

29 Jul 19:32
9931db7
Compare
Choose a tag to compare

The FRR community is pleased to announce FRR 8.0.

In this release there are over 2200 commits from 91 different authors.

Please note that we expect to release a bugfix point release relatively soon after this release.

Snaps will be delayed by several weeks; when available they will be published here:

Due to the absence of a suitable libyang2 package for Alpine Linux, Docker builds will also be delayed.

Changelog

Major changes

Behavior

Coming up in the next release:

  • Many users are familiar with vtysh's "walk up" behavior. If a command is entered which isn't valid in the current CLI context mode, vtysh will "walk up" to higher, more general contexts and attempt to evaluate the command there. In prior releases, this would happen if the command entered was ambiguous for the current context. This caused more problems than it was worth and so an upcoming release the behavior will be changed so that vtysh will no longer walk up when an ambiguous command is entered. Some users that have configurations which rely on this behavior may notice that their configurations no longer work. This should be a very small minority of users but please keep it in mind if you start seeing weird configuration issues in a future release. It's worth taking some time now to see if you're relying on ambiguous command walkup.

Features

  • A new daemon, pathd, has been added. This daemon implements support for segment routing. Documentation is currently lacking, but there are example configurations to look at
    here.

  • EVPN Multihoming is now fully supported

  • OSPFv3 now supports VRFs

  • TI-LFA has been implemented in IS-IS and OSPF

  • Zebra now has the ability to dump netlink messages in a human-friendly format

  • LDP gained SNMP support

Dependencies

  • FRR uses libyang to implement support
    for YANG models and related functionality. In this release we've transitioned
    to libyang2 to provide both better performance and to receive better support
    from future libyang changes. Packaged libyang2 is provided in our Debian and
    RPM repositories.

All daemons

babeld

  • Add distribute-list commands
  • Fix memory leak in connected route handling

bgpd

  • Add support for use of aliases with communities
  • Add support of tcp-mss for neighbors
  • Add support for EVPN Multihoming
  • Add ability to show BGP routes from a particular table version
  • Add support for for RFC 8050 (MRT add-path)
  • Add SNMP support for MPLS VPN
  • Add show bgp summary wide command to show more detailed output on wide
    terminals
  • Add ability for peer-groups to have ttl-security hops configured
  • Add support for conditional Advertisement
  • Add support for RFC 4271 Delay Open Timer
  • Add a knob to not advertise until route is installed in fib
  • Add BGP-wide configuration for graceful shutdown
  • Add support for RFC 8654 extended messages
  • Improve RPKI reporting as well as new show commands
  • Improve handling of VRF route leaking
  • Improve scaling behavior for dynamic neighbors
  • Improve LL nexthop tracking to be interface based
  • Improve route reachability handling with respect to blackhole routes
  • Improve SNMP traps to RFC 4273 notifications
  • Improve EVPN routes to use L3 NHG's where applicable
  • Improvements to EVPN
  • Improvements to update behavior
  • Fix various issues with connection resolution
  • Fix statistics commands in some situations
  • Fix non-determistic locally-originated paths in bestpath selection
  • Continue working on transitioning to YANG/Northbound configuration
  • Various bug fixes and performance improvements

eigrpd

  • Add distribute-list commands
  • Ensure received AS number is the same as ours in all situations
  • Properly validate TLV lengths in some situations

isisd

  • Add ldb-sync functionality
  • Add TI-LFA functionality
  • Add support for Anycast-SID's
  • Add support for classic LFA RFC 5286
  • Add show isis fast-reroute summary command
  • Add support for Remote LFA RFC 7490
  • Fix Attach-bit processing in some scenarios
  • Cleanup BFD integration
  • Various bug fixes and performance improvements

ldpd

  • Add SNMP support
  • Support for LDP IGP Synchronization
  • Support for RLFA clients
  • Various bug fixes and performance improvements

libfrr

  • Various bugfixes and performance improvements

nhrpd

  • Add nhrp multicast-nflog-group (1-65535) command
  • Add configuration options for vici socket path
  • Add support for forwarding multicast packets
  • Fix handling of MTU
  • Fix handling of NAT extension
  • Retry IPsec under some conditions

ospfd

  • Add OSPF GR helper support
  • Add JSON support for various commands
  • Add summary-address A.B.C.D/M ... commands
  • Add area X nssa suppress-fa command
  • Add support for TI-LFA
  • Add support for BFD profiles
  • Add support for Traffic Engineering database
  • Add support for usage of DMPVPN with OSPF
  • Add clear ip ospf neighbor commands
  • Add YANG support for route-maps
  • Improvements to SNMP
  • Fixes for type 5 and type 7 LSA handling
  • Various bug fixes and performance improvements

ospf6d

  • Add support for VRFs
  • Add JSON support to a bunch of commands
  • Add ability to control maximum paths for routes
  • Add show ipv6 ospf6 vrfs command
  • Add support for BFD profiles
  • Fix to not send hellos on loopbacks
  • Cleanup area handling around interfaces
  • YANG support for route-maps
  • Various bug fixes and performance improvements

ospfclient

  • Cleanup trust of user input

pathd

  • Add support of SR-TE policy management daemon
  • Add optional support for PCEP to pathd
  • Integrate PCEP-LIB into FRR

pbrd

  • Add set installable nhg command
  • Improve interface up/down event handling

pimd

  • Add YANG integration
  • Add JSON support to various commands
  • Add BFD profile support
  • Fixes to IGMP conformance
  • Fixes to behavior surrounding Prune and Prune-pending
  • Various bug fixes and performance improvements

ripngd

  • Fix interface wakeup after shutdown

sharpd

  • Add ability to use Nexthop Groups
  • Add v4 redistribute watching
  • Add TED support
  • Various bug fixes

staticd

  • Fix nexthop handling in some situations
  • Forbid blackhole and non-blackhole nexthops in a single route

vrrpd

  • printf formatting cleanups

vtysh

  • Add a show history command
  • Add show memory <daemon> support
  • Start deprecation cycle for address-family evpn
  • Display version with --help
  • Various bug fixes

watchfrr

  • Fix some crashes

zebra

  • Add JSON support to various commands
  • Add Human readable netlink dumps
  • Add L2 NHG support
  • Add support for LSPs to FPM dataplane
  • Add ability for other protocol daemons to install nexthop groups into the kernel
  • Add YANG support for route-maps
  • Improve scale performance when handling a large number of VRF's
  • Improve network namespace handling
  • Improve asic-offload handling
  • Improve FreeBSD interface and route handling
  • Improve handling of neighbors in kernel dataplane plugin
  • Improve label manager
  • Improve route-map processing
  • Improve debug-ability of routes and VRFs
  • Improve FPM dataplane plugin
  • Improve handling of reachability / nexthop tracking on shutdown interfaces
  • Improve EVPN support
  • Fix startup handling of set src X
  • Various bug fixes and performance improvements

Authors:

  • Abhinay Ramesh
  • Adriano Marto Reis
  • Alexander Chernavin
  • Ameya Dharkar
  • Amold Lad
  • Andy Lemin
  • Anuradha Karuppiah
  • Babis Chalios
  • Biswajit Sadhu
  • Bo Zhang
  • Carlo Galiotto
  • Carlos Goncalves
  • Chirag Shah
  • Christian Hopps
  • Christian Poessinger
  • Christophe Gouault
  • Carles Kishimoto
  • David Lamparter
  • David Schweizer
  • David Teach
  • Dewi Morgan
  • Donald Sharp
  • Donatas Abraitis
  • Donnie Savage
  • Don Slice
  • Duncan Eastoe
  • Emanuele Altomare
  • Emanuele Bovisio
  • Emanuele Di Pascale
  • Erik Kooistra
  • Fredi Raspall
  • Sascha Kattelmann
  • Gaurav Goyal
  • Yash Ranjan
  • G. Paul Ziemba
  • Harios Niral
  • Hiroki Shirokura
  • Igor Ryzhov
  • Jafar Al-Gharaibeh
  • Javier Garcia
  • Joanne Mikkelson
  • Joe Maimon
  • Karen Schoener
  • Kaushik Nath
  • Kishore Kunal
  • Kuldeep Kashyap
  • liuze
  • Lou Berger
  • Louis Scalbert
  • lynne Morrison
  • Madhuri Kuruganti
  • Mark Stapp
  • Martin Buck
  • Martin Winter
  • Mathias Bøhn Grytemark
  • Michael Hohl
  • Miroslav Koškár
  • Mobashshera Rasool
  • Naveen Guggarigoudar
  • Neal Shrader
  • Nikolay Aleksandrov
  • Sai Gomathi
  • Olivier Dugeon
  • Ondřej Surý
  • Pat Ruddy
  • Philippe Guibert
  • Prerana GB
  • Quentin Young
  • Rafael Zalamena
  • Renato Westphal
  • Reuben Dowle
  • Rajesh Girada
  • Roy Marples
  • Rubens Figueiredo
  • Runar Borge
  • Saravanan K
  • Sarita Patra
  • Sebastien Merle
  • Simon Deziel
  • Soman K S
  • Stephen Worley
  • Sudhanshu Kumar
  • Tashana Mehta-Wilson
  • Timo Teräs
  • Trey Aspelund
  • Mahdy Varasteh
  • Vishal Dhingra
  • Vijay Gupta
  • Vincent Bernat
  • Vivek Venkatraman
  • Wesley Coakley
  • Zoran Pericic
  • zyxwvu Shi

Overall there have been 4207 files changed, 450802 insertions(+), 123468 deletions(-)

FRR 7.5.1 Release

07 Mar 23:31
df7ab48
Compare
Choose a tag to compare

We are pleased to announce FRR 7.5.1. This is a maintenance release of FRR 7.5 with lots of bug fixes.

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

Changelog

Babel

  • Fix connected route leak on change

BFD

  • Fix some memory leaks & handling issues
  • Fix mishandling of VRFs in some situations when receiving packets
  • Fix occasional error in session lookup

BGP

  • Fix issues with peers inheriting peer-group properties
  • Fix erroneous BMP Peer Down Reason Code in BMP Peer Down message when
    peering fails due to nexthop tracking
  • Fix evpn route-map vni filter at origin
  • Fix various memory leaks in show commands
  • Fix issues with encoding flowspec rules to zebra in some rare circumstances
  • Fix issues parsing community and lcommunity values in some circumstances
  • Fix handling of aggregator data when the AGG AS is 0
  • Fix local routes using non-default distance
  • Properly track if the nexthop was updated in some circumstances
  • Properly withdraw exported routes when deleting a VRF
  • Properly apply route-map for the default-originate command
  • Properly handle neighbor peer-group allowas-in config changes
  • Cleanup show running when running bgp with -e X values
  • Prevent v6 routes with v4 nexthops from being installed
  • Prevent attempt to peer peers reachable via blackholes
  • Allow peer-groups to configure ttl-security hops
  • Allow default-originate to be cleared from a peer group
  • Generate statistics for routes in bgp when we have exactly 1 route

EIGRP

  • Fix various memory leaks and use of uninitialized data
  • Properly set MTU for egress EIGRP packets

ISIS

  • Fix various memory leaks and use of uninitialized data
  • When last area address is removed, resign if we were the DR

LDP

  • Fix various memory leaks and use of uninitialized data

NHRP

  • Use onlink routes when prefix == nh
  • Shortcut routes are installed with proper nexthop

OSPFv2

  • Prevent duplicate packet read in multiple VRF situation
  • Fix area removal at interface level
  • Restore Point to MultiPoint interface types
  • Correctly handle MTU change on startup
  • Fix multi-instance initialization sometimes not succeeding
  • Fix nssa translate-always not working properly

OSPFv3

  • Fix various memory leaks and use of uninitialized data
  • Fix Link LSA not updating when router priority is modified
  • Fix output from show commands
  • Fix intra area remote connected prefixes sometimes not being installed
  • Prevent sending hellos on loopback interfaces
  • Improve ECMP handling when a sub-path is removed

PBR

  • Fix various memory leaks and use of uninitialized data

PIM

  • Fix various memory leaks and use of uninitialized data
  • Fix (S,G,Rpt) prune received during prune not overriding holdtime

Static routes

  • Fix issues with VRF usage on startup in some instances
  • Fix tableid being mishandled in some cases

VTYSH

  • Disable bracketed paste in readline

WATCHFRR

  • Fix various memory leaks and use of uninitialized data

Zebra

  • Fix various memory leaks and use of uninitialized data
  • Fix routes getting stuck in Queued state when using the FPM
  • Always install blackhole routes using kernel routes instead of nexthops
  • Improve handling of VRF creation when using network namespaces
  • Dissallow resolution to duplicate nexthops that created infinite nexthops
  • Allow set src X to work on startup
  • Set NUD_NOARP on sticky mac entries in addtion to NTF_STICKY

FRR Library

  • Fix various memory leaks
  • Fix VRF creation in some instances
  • Fix issues handling RPKI when reloading configs
  • Fix issues handling route-map configuration

Snapcraft

  • Update to using rtrlib 0.7.0
  • Fix passthrough path for Libyang 1.x

Docker

  • Remove old dependencies from Alpine image

FRR 7.5 Release

11 Nov 17:12
35e42b1
Compare
Choose a tag to compare

We are pleased to announce FRR 7.5. Thank you to all contributors.

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

Changelog

Major Behavior Changes

- As a reminder for those upgrading from older releases, as of FRR 7.4 and beyond:
  • 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

  • Minimum libyang version is now 1.0.184

bfdd

bgpd

  • RPKI now has support for VRFs
  • Add wide option to route show commands
  • Add ability to count filtered prefixes when using maximum-prefix with new force option
  • Add ability to show selected bestpath routes for a given neighbor with bestpath-routes option to neighbor show command
  • Add ability to specify message when admin downing a session with bgp shutdown message MSG... command
  • Add IPv6 support for Flowspec
  • Add ability to shut down neighbor if RTT is too high with neighbor <neigh> shutdown rtt command
  • Allow update-delay to be applied globally
  • Graceful Restart fixes
  • Stability and performance fixes
    EVPN
  • Beginning of MultiHoming support; stay tuned

isisd

  • Add VRF support
  • Add support for Anycast-SIDs
  • Fix adjacency timer display overflow

ospfd

  • Segment Routing support for ECMP
  • Prevent crash if transferring config amongst instances
  • Various LSA-related fixes

pbrd

pimd

  • Add more JSON support to commands
  • Add support for MSDP SA forwarding
  • (s,g,rpt) ifchannel is now cleared when (*, G) prune is received
  • Fix IGMP querier election and IP address mapping
  • Fix missing mesh-group commands
  • Fix crash when RP is removed

staticd

  • Add support for Northbound API

zebra

  • Nexthop group support for FPM
  • Netlink batching support
  • Northbound support for RIB model
  • Backup nexthop support
  • Allow upper level protocols to request ARP
  • Add json output for zebra ES, ES-EVI and access vlan dumps

vtysh

  • Speed up output across daemons
  • Fix build-time errors for some --enable flags

Northbound / YANG

  • Filter and route-map support
  • OSPF model definition
  • BGP model definition

RPM Packaging

  • Moved RPKI to subpackage
  • Added SNMP subpackage

As always there are too many bugfixes to list individually. This release comprises just over 1k commits by the community, with contributons from 70 people.

FRR 7.4 Release

13 Jul 20:03
e4dcf10
Compare
Choose a tag to compare

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 and match 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.

FRR Release 7.3.1

06 May 11:57
frr-7.3.1
Compare
Choose a tag to compare

Binary Packages are available at
https://deb.frrouting.org (Debian, Ubuntu)
https://rpm.frrouting.org (RedHat, CentOS)

FRR Release 7.3

25 Feb 16:44
Compare
Choose a tag to compare

Binary Packages are available at
https://deb.frrouting.org (Debian, Ubuntu)
https://rpm.frrouting.org (RedHat, CentOS)

FRR Release 7.2.1

17 Jan 21:46
Compare
Choose a tag to compare

We are please to announce FRR Version 7.2.1. This is a maintenance release for 7.2 with many bug fixes.

Binary Packages are available at
https://deb.frrouting.org (Debian, Ubuntu)
https://rpm.frrouting.org (RedHat, CentOS)

Changelog of changes for 7.2.1 over 7.2

  • BGPd
    • Fix Addpath issue
    • Do not apply eBGP policy for iBGP peers
    • Show ip and fqdn in json output for show [ip] bgp <route> json
    • Fix large route-distinguisher's format
    • Fix no bgp listen range ... configuration command
    • Autocomplete neighbor for clear bgp
    • Reflect the distance in RIB when it is changed for an arbitrary afi/safi
    • Notify "Peer De-configured" after entering 'no neighbor cmd
    • Fix per afi/safi addpath peer counting
    • Rework BGP dampening to be per AFI/SAFI
    • Do not send next-hop as :: in MP_REACH_NLRI if no link-local exists
    • Override peer's TTL only if peer-group is configured with TTL
    • Remove error message for unkown afi/safi combination
    • Keep the session down if maximum-prefix is reached
  • OSPFd
    • Fix BFD down not tearing down OSPF adjacency for point-to-point net
  • BFDd
    • Fix multiple VRF handling
    • VRF security improvement
  • PIMd
    • Fix rp crash
  • NHRPd
    • Make sure no ip nhrp map <something> works as expected
  • LDPd
    • Add missing sanity check in the parsing of label messages
  • Zebra
    • Use correct state when installing evpn macs
    • Capture dplane plugin flags
  • lib
    • Fix interface config when vrf changes
    • Fix Interface Infinite Loop Walk (for special interfaces such as bond)
  • snapcraft
    • Fix missing vrrpd daemon
  • Others
    • Rename man pages (to avoid conflicts with other packages)
    • Various other fixes for code cleanup and memory leaks

FRR 7.2 Release 🎃

16 Oct 20:03
Compare
Choose a tag to compare

We are pleased to announce FRR 7.2. This is a very big release, with a lot of bugs fixed, new features and even a new protocol daemon. We're also very happy to share that this release has the largest number of individual contributors of any release to date! Big thanks to all contributors.

Major additions in this release include:

  • Support for VRRP
  • Support for BMP
  • Support for PIM-BSM

Update

7.2 Debian packages are now available on the apt repository at https://deb.frrouting.org/.

Important Note

As of this post, we are still working on creating binary packages. Source tarballs can be found at the bottom of this post. This post will be updated when packaging operations are completed. As a reminder, our Debian repository is located at https://deb.frrouting.org/.

Changelog

All daemons:

  • -N <namespace> allows specifying a path postfix on the normal FRR config directory. This is helpful when running multiple FRR instances within different network namespaces.
  • access-lists now support sequence numbers
  • Route-maps now support matching blackhole nexthops: match ip next-hop type blackhole
  • Route-maps are now smarter when dependencies change
  • New command log-filter WORD adds builtin support for log filtering at the output stage

New daemon: vrrpd

bfdd

  • Gained VRF support
  • Gained support for Northbound API

bgpd

  • aggregate-address gained support for route maps
  • show bgp ipv4 unicast command family now shows FQDN for peers, if available
  • For route show commands, display the bestpath selection criterion
  • New show bgp <afi> <safi> summary failed command to show neighbors that failed to Establish
  • clear bgp * command now clears all peers, instead of only IPv6 peers
  • Improved JSON output for many commands
  • New module adds support for BMP

eigrpd

  • SIGHUP now signals a config reload
  • Gained support for Northbound API
  • Infrastructure changes to allow VRFs

isisd

  • Gained BFD support
  • Gained Support for circuits with MTUs > 8192

pbrd

  • fwmark support as part of match criteria
  • CLI commands gained autocomplete support for PBRMAPS
  • Improved support for nexthops

pimd

  • Gained support for PIM-BSM
  • Improved debugging support
  • Unusable ECMP paths are now saved in case they become valid in the future
  • IGMP queries not originated from directly connected sources are now ignored
  • Many new CLI improvements

sharpd

  • sharp watch [import|nexthop] now accepts prefixes instead of assuming /32

staticd

  • Significantly improved next-hop tracking support

zebra

  • Many dataplane-level improvements for routes, neighbor tables and EVPN
  • Next-hop tracking CLI is now VRF-aware
  • Next-hop tracking show commands have new options to modify output
  • Excised some duplicated work in route processing
  • Improved debugging facilities
  • Gained RMAC and VXLAN support for the FPM interface

Internal improvements

  • Library now has RCU primitives and facilities
  • Zebra continues to gain support for nexthop groups
  • ripd, isisd and ospfd can now be built to use openssl for MD5 crypto operations instead of FRR library functions, if desired
  • Builds will now fail by default if libcap is not present, due to severe performance issues when it is missing
  • Glue code for Lua support has been updated
  • Various improvements for cross compilation

Packaging changes

snapcraft:

  • Add fabricd
  • Add libyang
  • Update rtrlib
  • Update rpki

RPM Packages for 7.2:

Attached are some pre-built RPM binary packages.

The packages are all default builds based on the documentation with unmodified
source

Full Package Sources etc are available on the CI system as
artifacts

The packages require libyang and the RPKI packages require the rtrlib
package as well. Both of them are most likely not yet in any RPM repositories,
but can be downloaded from the NetDEF CI System.

CentOS 6: x86_64

Without RPKI

file Description
frr-7.2-01.el6.x86_64.rpm Main FRR Package
frr-debuginfo-7.2-01.el6.x86_64.rpm FRR Debug Symbols
frr-pythontools-7.2-01.el6.x86_64.rpm Python Reload tools for integrated config
frr-devel-7.2-01.el6.x86_64.rpm FRR Development libs
frr-contrib-7.2-01.el6.x86_64.rpm FRR Doc & Tools Contributions

With RPKI (see note above about RTRLIB requirement)

file Description
frr-7.2RPKI-01.el6.x86_64.rpm Main FRR Package
frr-debuginfo-7.2RPKI-01.el6.x86_64.rpm FRR Debug Symbols
frr-pythontools-7.2RPKI-01.el6.x86_64.rpm Python Reload tools for integrated config
frr-devel-7.2RPKI-01.el6.x86_64.rpm FRR Development libs
frr-contrib-7.2RPKI-01.el6.x86_64.rpm FRR Doc & Tools Contributions

CentOS 7: x86_64

Without RPKI

file Description
frr-7.2-01.el7.centos.x86_64.rpm Main FRR Package
frr-debuginfo-7.2-01.el7.centos.x86_64.rpm FRR Debug Symbols
frr-pythontools-7.2-01.el7.centos.x86_64.rpm Python Reload tools for integrated config
frr-devel-7.2-01.el7.centos.x86_64.rpm FRR Development libs
frr-contrib-7.2-01.el7.centos.x86_64.rpm FRR Doc & Tools Contributions

With RPKI (see note above about RTRLIB requirement)

file Description
frr-7.2RPKI-01.el7.centos.x86_64.rpm Main FRR Package
frr-debuginfo-7.2RPKI-01.el7.centos.x86_64.rpm FRR Debug Symbols
frr-pythontools-7.2RPKI-01.el7.centos.x86_64.rpm Python Reload tools for integrated config
frr-devel-7.2RPKI-01.el7.centos.x86_64.rpm FRR Development libs
frr-contrib-7.2RPKI-01.el7.centos.x86_64.rpm FRR Doc & Tools Contributions

FRR 7.1 Release

18 Jun 06:26
Compare
Choose a tag to compare

For Debian/Ubuntu packages, please refer to https://deb.frrouting.org/.

For RPM packages, please scroll down


Note: this version is primarily numbered "7.1" due to feedback from users about the major version number increasing too rapidly. It has the same amount of ongoing development as the usual FRR release cycle.

User-visible changes since the 7.0 release:

  • there is a new, work-in-progress gRPC northbound configuration interface plugin
  • zebra:
    • the table NNN command was removed from zebra since it has been broken for a long time.
    • the dataplane interface modularization and multithreading work is progressing steadily.
    • IPv6 Router Advertisements sent by zebra can now have RFC 8106 DNS options added to them.
  • bgpd:
    • EVPN can now be configured in non-default VRFs.
    • RFC 8212 — a default "deny" policy for eBGP sessions — can now be selected.

Aside from these, a huge amount of fixes and ongoing development is happening, as usual.

RPM Packages for 7.1:

Attached are some pre-built RPM binary packages.

The packages are all default builds based on the documentation with unmodified source

Full Package Sources etc are available on the CI system as artifacts

The packages require 'libyang' and the RPKI packages require the 'rtrlib' package as well.
Both of them are most likely not yet in any RPM repositories, but can be downloaded from the
NetDEF CI System.

FRR 7.0 Release

13 Mar 11:49
Compare
Choose a tag to compare

For Debian/Ubuntu packages, please refer to https://deb.frrouting.org/.

For RPM packages, please scroll down


There are some major changes in this release, specifically libyang
https://github.com/CESNET/libyang is now a hard requirement to build and run
FRRouting. Here's the full list of major changes from 6.0.x to 7.0:

  • YANG data modeling & NETCONF support has arrived for the following daemons:

    • ripd
    • ripngd
    • isisd

    Note that this uses FRR-specific models and may still be subject to some
    changes. Feedback is strongly appreciated!

  • Error Codes / Categories are now added to log messages. They are printed as
    [EC 99999999999] on log messages and identify classes of errors. The
    library, bgpd, ospfd and zebra have been properly extended to categorize
    errors while the other daemons have somewhat more rudimentary cateogries.

  • configure terminal in the CLI is no longer an exclusive state on any
    daemon, i.e. multiple users can edit the configuration at the same time in
    all daemons. This was previously already the case for zebra and isisd.

  • BGP enhancements:

    • EVPN Duplicate Address Detection
    • EVPN route servers
    • EVPN extended mobility
    • Global IPv6 addresses can be used for RFC5549 (v4-over-v6) nexthops
    • Flowspec protocol support has been significantly extended. (Note that OS
      integration is still very incomplete.)
    • Add-Path IDs are now reused on transmission when possible
    • Aggregates now properly aggregate extended and large community attributes
  • IS-IS:

    • BFD support has been added
    • triggered hellos have been implemented
  • new daemon: OpenFabric (a datacenter variant of IS-IS - cf.
    https://datatracker.ietf.org/doc/draft-white-openfabric/)

  • Zebra's kernel/dataplane interface is undergoing a rewrite and parts have
    been moved into a separate thread with a more extensible architecture. Work
    on this project is ongoing.

  • staticd now supports onlink nexthops for static routes

  • sharpd now supports nexthop groups for route installs

  • many bugs were fixed, also including quite a few overdue documentation
    improvements. This also includes CVE-2017-3224 which is a low-severity
    low-impact OSPF vulnerability (as evident by the 2017 date.)

Important packaging and build related changes:

  • libyang is now required to build and run FRRouting. Version 0.16.74 or
    newer (e.g. 0.16-r3 which is 0.16.105) is strongly recommended. Older
    versions will create additional hazards at both build and runtime because
    an extension module needs to be installed. Support for libyang versions
    before 0.16.74 will be removed in the next non-stable FRRouting version.

    • when using libyang before 0.16.74, make sure to specify the
      --with-libyang-pluginsdir=/usr/lib/frr/libyang_plugins option (change
      path to fit system)
  • Debian packaging has been completely overhauled (matches the changes in
    6.0.2.) If you are creating derivative Debian packages, updates will be
    necessary.

    • RPKI and SNMP are now separate packages that can be installed
      additionally. There are no longer distinct "RPKI" and "no RPKI" versions
      of FRRouting on Debian.

    • Debian packages are now provided in a repository at:
      https://deb.frrouting.org/

  • Snapcraft packaging has been updated to match.

  • There is a new --enable-static-bin option to link libfrr statically into
    FRR binaries. This is the only supported way of doing any static linking
    of FRR. (--disable-shared is NOT supported.)

  • all daemons now properly complete their startup before allowing their parent
    to exit when the -d daemonization option is used. This should remove the
    need for any "sleep" calls or start retrying in init scripts.

  • some minor non-reproducibility issues were fixed. FRRouting should now
    always build reproducibly.

  • the topotests system that was previously maintained separately is now
    shipped as part of the FRR source under tests/topotests.

RPM Packages for 7.0:

Attached are some pre-built RPM binary packages.

The packages are all default builds based on the documentation with unmodified source

Full Package Sources etc are available on the CI system as artifacts

The packages require 'libyang' and the RPKI packages require the 'rtrlib' package as well.
Both of them are most likely not yet in any RPM repositories, but can be downloaded from the
NetDEF CI System.