[dev] 7.0 release
david at opensourcerouting.org
Wed Mar 13 07:51:49 EDT 2019
I'm very happy to announce we have released version 7.0 of FRRouting!
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:
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
- 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.
As you can see this is quite a changelog and I'd like to thank everyone who
contributed to this release. It has been a very productive 6 months!
More information about the dev