FRRouting Release 7.0 [Download]
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 [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
- 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
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
- 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.
staticd
- now supports onlink nexthops for static routes
sharpd
- 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.)
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.
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!