Skip to content

FRR 7.0 Release

Choose a tag to compare
@eqvinox eqvinox released this 13 Mar 11:49
· 17766 commits to master since this release

For Debian/Ubuntu packages, please refer to

For RPM packages, please scroll down

There are some major changes in this release, specifically 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.

  • 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

    • 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:

  • 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.