[dev] 7.0 release

David Lamparter david at opensourcerouting.org
Wed Mar 13 07:51:49 EDT 2019


Hi all,


I'm very happy to announce we have released version 7.0 of FRRouting!
[https://github.com/FRRouting/frr/releases]

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.


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!

Cheers,


-David



More information about the dev mailing list