FRRouting Release 7.0 Available for Download

March 13, 2019

The FRRouting contributors are proud to announce that the latest release of FRR is available for download.

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

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

Terminal Changes

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


  • BFD support has been added
  • triggered hellos have been implemented

new daemon: OpenFabric (a datacenter variant of IS-IS - cf.

Zebra's kernel/dataplane

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


  • now supports onlink nexthops for static routes


  • now supports nexthop groups for route installs

Bug Fixes Galore

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

As you can see this is quite a changelog and We would like to thank everyone who
contributed to this release. It has been a very productive 6 months!