[dev] With 7.0 emminent here's what went into it

Donald Sharp sharpd at cumulusnetworks.com
Fri Mar 1 08:20:08 EST 2019

All -

With the 7.0 release being imminent, I'd like to take a moment to
reflect on, and thank everyone, for all the great contributions to FRR
over the last 4-5 months that we've seen.  There has been a lot of
hard work from a whole bunch of people( and more than likely a few
people not listed directly below ).  I'm looking forward to more
continued success!



This release has 1395 files changed, 91796 insertions(+), 24764 deletions(-)

And here is the list of contributors:

Ameya Dharkar (5):
  bgpd: BGP JSON show commands enhancements
  bgpd: Incorrect sent prefix count for a split subgroup
  bgpd: BGP JSON new fields
  bgpd: Display default local preference and local AS for BGP show
  bgp: new topotest BGP templates to display default local preference
    and local-AS in BGP commands

Anton Degtyarev (4):
  bgpd: fix bgp path info for mplsvpn leaked routes so that they are
    correctly seen (and checked) by the rnh module in Zebra
  bgpd: Fix bgpd doing vpn_leak_postchange_all() every time "router bgp
    ASNUM" command is entered in vtysh
  bgpd: add missing endline
  bgpd, zebra: auto assign labels from label pool to regular prefixes in
    BGP labeled unicast

Anuradha Karuppiah (8):
  zebra: resolve link dependencies post nldump
  bgpd: hidden commands to add/del a local mac
  zebra: send a local-mac del to bgpd on mac mod to remote
  bgpd: perform route selection again when the local path is deleted
  bgpd: use IP address as tie breaker if the MM seq number is the same
  zebra: make neigh active when it is modified from local to remote
  zebra: set remoteseq to 0 when remote mac is deleted by bgpd
  bgpd: move non-best local path checks outside the function

Biswajit Sadhu (1):
  lib: Ensure FRR detects running of the second instance of a FRR
    daemon, doesnot allow it to run.

Chirag Shah (21):
  *: pthread set name abstraction
  ospf6d: fix ospf6 crash in inp lsa processing
  ospf6d: abr summary advertise best route
  bgpd: dup addr detect data struct for cfg
  bgpd: dup addr detect config cli
  zebra: dup addr detect zapi changes
  zebra: dup addr detect warn-only
  zebra: dup addr detect freeze action
  lib, zebra: dup addr detect display detection fields
  zebra: dup addr detect operation commands
  zebra: dup addr detect clear command
  zebra: dup addr detect fix warnings
  zebra: dup addr detect add fields to show evpn cmd
  bgp, zebra: address review comments
  zebra: dup addr detect neigh consolidation
  zebra: dup addr detect mac consolidation
  zebra: dup addr detect clear cmd non-zero return
  bgpd: set attribute change flag to evpn imported
  bgpd: l3vni add-del handle non-defualt rt
  bgpd: evpn command to restrict to default vrf
  ospfd: address CVE-2017-3224

Christian Franke (123):
  doc/developer/openwrt: Update instructions for building for OpenWRT
  fabricd: add new daemon as build of isisd
  zebra: add RTPROT_FABRICD route type 197
  vtysh: support fabricd
  isis: Cleanup CLI, split into parts which are shared, fabricd and
  isisd: Fix error output for 'no ip router isis' command
  fabricd: adjust IS-IS defaults as per draft
  fabricd: adjacency formation optimization as per section 2.4
  fabricd: run a hop-by-hop spf
  isisd: move spf datastructures to a header, to share with fabricd
  fabricd: Add support for TLV 150 (Spine-Leaf-Extension)
  fabricd: allow to configure tier-level advertisement
  fabricd: implement fabric locality detection algorithm
  fabricd: implement asymmetric metric for tier 0 as per Section 6.2
  fabricd: reimplement LSP transmission logic
  fabricd: support transmission/reception of circuit-scoped LSPs
  fabricd: add field with first and second nexthop to SPF paths
  fabricd: build a list of neighbors and neighbors neighbors
  fabricd: implement flooding optimization
  fabricd: add flooding algorithm debugging
  isisd: add support for Prefix-SID subtlv
  tests/isisd: remove auth when fuzzing
  isisd: add TLV 13 Purge Originator Identification
  isisd: add purge originator identification support
  fabricd: Remove processing for unneded PDUs and TLVs
  fabricd: trigger CSNP after flooding scope LSP has been received
  zebra: add a ZEBRA_FLAG_ONLINK so that routes bypass the is-unnumbered
  fabricd: add support for completely unnumbered operation
  isisd: fix warnings by removing union isis_N and going to void *
  doc: add documentation for fabricd
  doc: Use `mv -f` in Makefile
  tools: Update .gitignore
  zebra_ptm: Introduce IS_BFD_ENABLED_PROTOCOL macro
  zebra_ptm: Add IS-IS and OpenFabric as protocols supporting BFD
  isisd: Add forward declaration of struct isis_route_info
  isisd: Register as BFD client
  isisd: Replace isis_event_adjacency_state_change with a hook
  isisd: Add BFD configuration commands
  isisd: Add a hook when writing interface config
  isisd: Write BFD config
  isisd: Register/deregister BFD peers for adjacencies
  isisd: Implement BFD replay function
  isisd: Add debugging for BFD
  isisd: Track BFD state and take down adjacency on failure
  isisd: don't add deprecated bfd command
  isisd: Address code-style warnings
  isisd: Fix license header of bfd code
  isisd: Unlink LSP fragments from LSP0 on lsp_destroy
  isisd: adjust lsp size to area->lsp_size before packing
  isisd: Log SPF trigger source when debugging
  isisd: Log LSP-update trigger source
  isisd: Combine lsp_l1/l2_refresh
  isisd: delay lsp regeneration while events are still coming in
  debianpkg, tools: Add fabricd to distribution scripts
  configure: Check whether libyang has ENABLE_LYD_PRIV
  doc: Add building-libyang.rst to distfiles
  isisd: Remove unused debug flags
  isisd: Adjust duration until lsp is regenerated
  isisd: Remove unused debug flags
  isisd: Fix lsp_build_list_nonzero_ht
  fabricd: never flood back through the incoming interface
  isisd: Fix issues with purged fragments
  tests: Verify correct operation of lsp_build_list_nonzero_ht
  isisd: Always consider purges as newer
  fabricd: Fix flooding bug
  isisd: Fix behavior on reception of self-originated LSP
  isisd: Consider non-mt links usable when either v4 or v6 works
  isisd: Fix bug in tlvs_protocols_supported_to_adj
  lib/vty: Fix warning about shadowed variable
  ldp-topo1: fix parsing for iproute from Ubuntu 18.04
  ospf6-topo1: make ip-route comparison more robust
  lib: check presence of mpls modules, not exitcode of modprobe
  lib/ospf-topo1-vrf: don't compare headers of show ip route
  ospf6-topo1: Don't compare link-local routes
  Dockerfile: Move to project root and combine RUNs
  docker: Run container with its own network namespace
  docker: reindent shell scripts
  docker: Install topotests into image
  Docker: Update buildscripts to be more efficient
  Dockerfile: Use iputils-ping instead of inetutils-ping, install strace
  Docker: Call the run script frr-topotests.sh
  Docker: Update buildscript not to delete old images
  Docker: really cleanup when TOPOTEST_CLEAN is specified
  Docker: Allow executing topotests while in subdir of FRR repo
  Docker: move openvswitch setup to separate script
  Docker: Use pytest as default command
  Docker: Document additional environment variables
  Docker: Fail if compilation is unsucessful
  Dockerfile: Install libyang
  docker: Improve README and frr-topotests usage
  docker/compile_frr: Don't build with disable shared
  docker/frr-topotests: Fix missing $ in if check
  topotests: Adapt docker changes for integrated tests
  topotests: Only set -t when input is a terminal
  tests/topotests: Update documentation
  tests/topotests: Change docker build context
  tests/topotests: Set -o cache_dir=/tmp
  Revert "tests/topotests: Change docker build context"
  isisd: Add level&circuit thread argument to circuit
  isisd: reduce code duplication for levels
  isisd: Move dr election timer to the end of isis_dr_commence
  lib: add thread_timer_remain_msec function
  isisd: add send_hello_sched function
  isisd: trigger hellos on adjacency state change
  topotests/isis-topo1: Set useful IS-IS debugs
  topotests: Update json_cmp_result to return readable result
  tests/topotests: Use copied tests in Docker
  tests/topotests: Also search sbin for modprobe
  isisd: Add debug output for tx-queues
  isisd: Remove unused t_send_lsp timer
  isisd: Provide better flooding debugging
  fabricd: Populate NL from adjdb, not spf
  isisd: Move code to find LSP out of show database
  isisd: Make lspid_print non-static
  fabricd: Add `show openfabric flooding` command
  fabricd: Improve LSP flooding log
  fabricd: make triggered csnp delay configurable
  fabricd: Update neighbor list on adjacency state change
  isisd: Provide statistics about sent/received PDU count
  isisd: Provide statistics about retransmitted LSPs
  isisd: Provide statistics over number of LSP regenerations
  isisd: Provide statistics over number of generated purges
  tests/topotests: Pull docker image from registry

Christoffer (6):
  .github: Updated PULL_REQUEST_TEMPLATE.md per Quentin's request.
  .github: Add ISSUE_TEMPLATE.md
  .github: Updated ISSUE_TEMPALTE.md
  .github: Updated ISSUE_TEMPALTE.md
  .github: Updated PULL_REQUEST_TEMPLATE.md
  .github: Update ISSUE_TEMPLATE.md

Daniil Baturin (1):
  tools: add a script for building a Debian package in one step.

David Lamparter (175):
  build: non-recursive doc + parallel sphinx
  build: non-recursive debianpkg
  build: trigger fewer unneccessary clippy rebuilds
  build: fix some oddities in solaris/
  build: non-recursive solaris
  build: -Werror does not belong in AM_CPPFLAGS
  build: cache a few more results in ./configure
  build: add warning when overwriting vars on "make"
  build: improve python search pattern
  build: add Makefile variable easy access
  doc: html default off
  doc: drop colspan/rowspan elements
  isisd: silence SA warnings
  lib, ldpd: fix SA warnings from TAILQ oddness
  lib: fix SA warning in skiplist code
  *: fix clang-6 SA warnings
  bfdd: fix garbage "port" string
  build: non-recursive bgpd & rfp
  build: non-recursive vtysh
  build: non-recursive tests
  build: include helper Makefiles in dist
  build: remove common.am
  build: move vtysh & manpage listings to subdir.am
  tests: properly locate files in builddir
  build: use -export-dynamic
  build: clean up protobuf build integration
  build: make pkgconfig configure output useful
  build: fix & clean up *SAN flags
  *: fix config.h/zebra.h include order
  *: cleanup .gitignore files
  *: fix some solaris warnings
  vtysh: make RPKI node non-conditional
  build: use _POSIX_C_SOURCE
  build: move RFPLDADD to bgpd/rfp-example/librfp
  build: check {malloc,pthread}_np.h for *BSD
  lib: make pthread_set[_]name_np test OS agnostic
  *: fix some random warnings
  ospf6d: remove extra struct in ospf6_lsa_handler
  lib: early-include "config.h" in flex lexers
  build: fix not building docs w/o sphinx
  build: move SPHINXBUILD= to configure in rpm build
  lib: whitespace/spelling fix
  lib: remove frr_pthread->id
  lib: remove unused frr_pthread_yield()
  tools/checkpatch.pl: recognize _Atomic as modifier
  tools/frr: use path settings from ./configure
  build: add --enable-static-bin option
  ospfd: fix symbol collision
  lib: print version information in libfrr.so
  lib: remove deprecated list_delete()/list_free()
  *: list_delete_and_null() -> list_delete()
  watchfrr, lib: cleanup & delay detaching
  tools/frr: remove "watchfrr.started" hack
  bgpd: fix missed info->path rename in snmp
  lib: add libunwind support for backtraces
  build: fix some escapes in configure.ac
  build: try to use -D option for ar and ranlib
  debianpkg: strip ancient/unused cruft
  debianpkg: clean up dependencies
  debianpkg: remove bad USE_* options, add WERROR
  build: rewrite readline/curses check
  ripd: fix list compare order
  zebra: add comment about Linux ifdown handling
  build: carry --with-pkg-extra-version into tarballs
  build: work around automake wtf
  build: make clean and dist consistent
  build: add "redistclean" target
  *: spelchek
  build: crop excessive net-snmp library list
  build: make rfptest and ospfclient "noinst"
  redhat: remove @CONFDATE@ from spec
  build: refuse non-working linking options
  yang: embed models into binaries
  yang: add .gitignore
  topotests: change from "context" to "unified" diff
  Revert "isisd lib ospfd pbrd python: fix empty init"
  tools/frr: get rid of the bash array and "bB"
  watchfrr: don't wait around pointlessly at startup
  watchfrr: immediately try connecting after start
  watchfrr: add status command
  debian/tools: new init script
  *: get rid of most daemons.conf references
  vtysh: rework/straighten pager handling
  tests: fix domainname dependency
  build: fix reproducibility re. -fdebug-prefix-map
  bgpd: re-add spelling error in JSON output
  build: disable empty libfrrfpm_pb
  lib: flip to ISC on hook & module code
  *: remove all MIBs for DFSG compliance
  doc: re-add copyright & license note
  tools: add documentation URL on frr.service
  tools/etc: remove cumulus user from vtysh.conf
  tools/frrcommon.sh: actually create /run/frr
  tools/frrcommon.sh: always start staticd
  debianpkg: wrap & sort dependency lines in control
  debianpkg: kill backports
  tools: add new tarsource.sh helper
  debianpkg: use better dependency for pythontools
  debianpkg: remove bogus shlib:Depends on frr-dbg
  debianpkg: create frr-snmp and frr-rpki-rtrlib
  debianpkg: make frr-pythontools a "Recommends:"
  debianpkg: use redistclean target
  debianpkg: update to Debian Policy version 4.2.1
  debianpkg: raise debhelper compat level to 9
  debianpkg: ditch development-only files
  debianpkg: modernise dh_missing and use fail mode
  debianpkg: disable zeromq and FPM
  debianpkg: always install /etc/init.d/frr
  debianpkg: put frr-doc package in 'doc' section
  debianpkg: install HTML docs, drop tools/
  debianpkg: fix install for {frr,rfptest,ospfclient}
  debianpkg: change frr-pythontools dep to python3
  debianpkg: add watch file
  debianpkg: add -0 to version
  debianpkg: use set -e in maintscripts
  debianpkg: update maintainer
  debianpkg: drop superfluous control entries
  debianpkg: fix whitespace
  debianpkg: make URLs https
  debianpkg: add & document lintian overrides
  debianpkg: update debhelper dependency
  debianpkg: update copyright file
  debianpkg: rewrite description texts
  debianpkg: include docs and register with doc-base
  debianpkg: fix remaining lintian warnings
  debianpkg: install libraries to /usr/lib64/frr
  debianpkg: cut down unneeded bits
  debianpkg: enable rtrlib by default
  debianpkg: enable FPM (w/o protobuf)
  debianpkg: restrict to linux-any
  debianpkg: fill in changelog proper
  debian: move changelog out of the way
  debian: make package "official"
  doc: drop deprecated Ubuntu 12.04 docs
  debian: clean up debian/ directory for git build
  debian: fix up for new initscripts
  tools/tarsource.sh: create debian changelog
  debian: cleanly split off from dist tarball
  debian: don't install ssd & daemons.conf
  doc/developer: document new Debian packaging
  debian: flag as "no stop on upgrade"
  debian: full & proper copyright file
  debian: drop unused lintian overrides
  tools/tarsource.sh: fix GZIP_ENV
  debian: add python3-pytest build dependency
  debian: chop down & rework maintainer scripts
  debian: keep working nicely with split config
  tools: update build-debian-package.sh
  tools/tarsource.sh: keep version info on non-git
  debian: rework autopkgtests
  debian: fix dropping daemons.conf
  watchfrr: don't wait forever at startup
  tools: don't watch nonexistent daemons
  debian/control: add python3-dev dependency
  debian: add libyang-dev dependency
  tools/tarsource.sh: support FRR as a git submodule
  tools/tarsource.sh: deal with AC_INIT []
  lib: don't disable "log file" on "log syslog"
  build, lib/yang: bake in extensions if possible
  build: fix a whole bunch of *FLAGS
  lib: yang: use common yang_ctx_new_setup()
  bgpd: make valgrind suppression more generic
  doc: orange FRR theme
  doc: document VTYSH_PAGER and "terminal paginate"
  isisd: skip over deleted fragments
  vtysh: fix pager compatibility handling
  debian: extend comments on pre/postinst hooks
  debian: remove bogus libjson0 dependency
  debian: add missing Conflicts:
  debian: fix autopkgtest
  debian: update libyang dependency to >= 0.16.74
  debian: remove superseded systemd lintian override
  watchfrr: build in defaults for -r/-s/-k
  doc: update for new daemons settings
  tools: fix new init script wrt. multi-instance

Dinesh Dutt (1):
  zebra: Let zebra know about bond and blond slave intf types

Dmitrii Turlupov (1):
  ospf: unregister mpls-te inter-as only if mpls-te is enabled

Don Slice (18):
  bgpd/ospfd: make bgp and ospf json response a bit more consistent
  bgpd/ospfd: resolve warnings for bgp/ospf json commit
  ospfd: fix more warnings with the bgp ospf json commit
  bgpd: change conditional operators for bgp/ospf json changes
  bgpd: convert from conditional operator to if-then for json changes
  bgpd, ospfd, pimd, zebra: Convert more use_json locations to bool
  bgpd: enable aggregation in evpn
  bgpd: solve issue entering aggregate twice
  bgpd: resolve change required in pull review for evpn aggregates
  bgpd: allow nht registration on ipv6 link-local addresses
  bgpd: add command to display update groups for l2vpn evpn
  zebra: add json support to show evpn mac vni <num> mac <mac>
  zebra: remove space from json string for show evpn mac vni <num> mac
  bgpd: make name of default vrf/bgp instance consistent
  staticd: install static routes in a vrf when next-hop interface comes
  staticd: remove stale header info in static_fixup_intf_nh
  zebra: handle neighbor delete from kernel for ipv4 link-local
  tools: stop frr-reload.py from trying to delete the vrf context

Donald Sharp (252):
  lib: Use the actual string we want to limit '===' line to
  ospf6d: Remove deprecated code after 1 year
  lib: Add Aggregate Table and Aggregate_node
  bgpd, ripngd: Convert to using new agg_table/route
  lib: Move aggregate pointer into aggregate route/table
  vtysh: Let staticd know about vrf sub-mode
  staticd: Fix mixup in vrf translations
  static: Put vty_frame around vrf output in staticd.
  lib: Remove dead code
  zebra: Fix RB-Tree storage comparison function for v6
  lib: Add missing smux.h to `make distrib` results
  zebra: Fix _route_entry_dump to handle nexthop family as appropriate
  sharpd: Modify route install to allow v6 nexthops
  doc: Update sharp documentation
  bgpd: Convert zlog_warn to flog_warn for bgp_aspath.c and bgp_attr.c
  bgpd: Convert bgp_dump.c to use flog_warn
  bgpd: Convert zlog_warn to flog_warn for bgp_packet.c
  bgpd: Convert bgp_network.c to use flog_warn
  bgpd: Convert bgp_evpn.c to use flow_warn
  bgpd: Modify bgp_label to use flog_warn
  bgpd: convert bgp_nht.c to use flog_warn
  bgpd: Convert bgp_open.c to use flog_warn
  bgpd: Update bgp_updgrp_packet.c to use flog_warn
  lib: Convert to flog_warn in agentx.c
  lib: Convert to errors some issues in buffer.c
  lib: Update zclient.c warn code
  lib: Convert sockunion.c to use flog_err
  lib: Convert sockopt.c to flog_err
  lib: Convert stream.c to use new error code subsystem
  lib: Convert libfrr.c to use new error code system
  lib: Convert netns_linux.c to new error-code work
  lib: Convert thread.c to use new error-code subsystem
  lib: Convert network.c to use new error subsystem codes
  lib: Convert privs.c to use new error-code subsystem
  lib: Convert routemap.c to use new error-code subsystem
  lib: Convert vty.c to use new error-code subsystem
  lib: Convert sigevent.c to use new error-code-subsystem
  lib: Convert vrf.c to use new error-code subsystem
  lib: Modify zlog_warn to vty_out
  ospfd: Cleanup some warnings that were not warnings
  ospfd: Convert ospf_network.c to use error code subsystem
  ospfd: Convert ospf_routemap.c to use error card subsystem
  ospfd: Modify ospf_packet.c to use new error-cards subsystem
  lib: Convert ospf_opaque.c to use the err-card system
  ospfd: Convert ospf_te.c to use new error-card subsystem
  ospfd: Convert opsfd.c to use new error-code subysstem
  ospfd: Modify ospf_ri.c to use new error-code subsystem
  ospfd: Add OSPF_WARN_LSA_INSTALL_FAILURE error code
  ospfd: Convert ospf_ext.c to use new error-code subsystem
  ospfd: Modify ospf_abr.c to use new error-code subsystem
  ospfd: Convert ospf_asbr.c to use error-codes subsystem
  ospfd: Convert ospf_lsa.c to use new error-card Syntax
  ospfd: Fix warn -> debug for neighbor add
  ospf_nsm.c: Convert warn->err and use error-code
  ospfd: Convert ospf_ri to use error-code subsystem
  ospfd: Modify ospf_spf.c to use error-card subsystem
  ospfd: Convert ospf_sr.c to use error-card subsystem.
  zebra: Modify nexthop checks to report inactive a bit more
  staticd: Fix 'show debug static" command
  sharpd: Fix missing 'show debug' command
  lib: Cleanup include of link.h
  lib: Detect if pthread_condattr_setclock is available
  vtysh: Add code to isolate append_history
  vtysh: Actually make the new_completion function match
  doc: Fixup to use consistent frrvty group name
  bgpd: Honor origin change in bgp aggregates
  bgpd: Prevent possible crash when parsing v6 attributes
  bgpd: Using no bgp fast-external-failover prevents vrf intf moves
  doc: Update docs to mention 'no bgp fast-external-failover'
  lib: Add thread_execute_name
  lib, pimd: Convert timer_wheel to use thread_execute_name
  staticd: Allow table_id to be a distinguisher for installation
  zebra: Print out netlink message type instead of number
  zebra: Newer kernels send data about mroute changes
  zebra: Add some additional vrf debug for retrieving mroute info
  zebra: Send correct default vrf tableid for MROUTE stats
  pimd: Actually create vif's in non-integrated config
  pimd: use bool instead of int to pass true/false
  zebra: Cleanup comments to appropriately match style
  bgpd: Extend RFC 5549 metaphor a bit more
  doc: Update documentation with the extended-nexthop bgp command
  zebra: Abstract mac neigh installation into it's own function
  zebra: Trust the mac address received in some situations
  zebra: Use actual memory type for zebra info pointer
  pimd: Add some extra information to a show command
  pimd: Add a debug to tell why we are not creating upsteam state
  pimd: blackhole traffic when we are not DR for Stream received
  bgpd: Make `struct bgp_addr` a private data structure
  bgpd: Replace refcount with list of ifp names
  lib: Allow useful display of default vrf name
  eigrpd: Fix eigrp crash on shut of a interface
  Revert "lib: Ensure FRR detects running of the second instance of a
    FRR daemon, doesnot allow it to run."
  lib: When we can't lock the pid file provide a meaningfull message
  bgpd: Abstract aggregate retrieving/setting from info pointer
  bgpd: Abstract distance retrieving/setting from info pointer
  bgpd: Abstract bgp_static retrieving/setting from info pointer
  bgpd: Abstract bgp_connected_ref retrieving/setting from info pointer
  bgpd: Abstract bgp_nexthop_cache retrieving/setting from info pointer
  pimd: Why was pim including zebra headers?
  bgpd, lib, zebra: Wrapper get/set of table->info pointer
  eigrpd: Fix memory leaks and remove dead/unused functions
  pimd: Fix several address sanitizer issues
  watchfrr: Modify some stderr messages to zlog_warn
  lib: Allow some usage statistics for route-maps
  bgpd: Don't necessarily ignore interface callbacks
  lua: Initial Lua import
  bgpd: Add lua match command
  bgpd: Try to notice when configuration changes during startup
  bgpd: prevent uninited variable from being used.
  lib: Include compiler.h as early as is possible in the build
  zebra: Cleanup unused file
  bgpd: Add ability to dump the bgp peerhash
  bgpd: Cleanup peer->su handling
  bgpd: Do a bit better job of tracking the bgp->peerhash
  bgpd: Rename some BGP_PATH_XXX to BGP_PATH_SHOW_XXX
  bgpd: Convert BGP_INFO_XXX to BGP_PATH_XXX
  bgpd: Convert `struct bgp_info` to `struct bgp_path_info`
  bgpd: Convert all bgp_info_XXX functions to bgp_path_XXX functions
  bgpd: Convert binfo to path
  bgpd: Rename various variable names to something more appropriate
  bgpd: Cleanup warnings issued by CI system from these changes
  bgpd: Use a more appropriate memory type for a string
  bgpd: Cleanup memory leak with the martian address intf string
  lib, vtysh: Allow notification across multiple lines of failure
  lib, zebra: Allow the specification of BUM flooding
  bgpd: Add '[no] flood <disable|head-end-replication>'
  vtysh: Add some missing daemons to some commands in vtysh
  bgpd: The l2vni list compare function does not sort
  bgpd: Ensure that evpn_vtep_ip_cmp actually returns useful data
  bgpd: Add extended community to aggregates
  bgpd: Add Large community support to aggregate routes
  bgpd: Add a better breadcrumb for interface based peers
  bgpd: Fix crash when using v4 route w/ v6 nexthop
  bgpd: Cleanup bnch_nexthop_cache_reset to fit cleaner
  zebra: Add some missing breadcrumbs
  *: Fixup to use proper list_cmp functions
  *: Replace hash_cmp function return value to a bool
  bgpd: Prep commit to cleanup indentation
  bgpd: Dissallow v6 routes from setting a v4 nexthop
  ospfd: Do not allow thread drop
  bgpd: When displaying default originate debugs don't print gibberish
  Revert "bgpd: Make sure default-originate works without route-map as
  Revert "bgpd: Set attributes according route-maps if applied for
  zebra: Start breakup of zns into zrouter and zns
  zebra: Move rules_hash to zrouter
  zebra: Move ipset_hash, ipset_entry_hash and iptable_hash into zrouter
  zebra: Remove _wrap_script from hook names
  zebra: Move rtadv to zebra_router
  zebra: Notice when a route fails to install on *bsd
  vtysh: Allow eigrp and rip access to keychain.c config
  eigrpd: Convert keychain authentication to DEFPY
  eigrpd: Fix bandwidth command to actually read input properly
  lib: If command was successful don't store the command as an error
  bgpd, lib, vtysh, zebra: Convert to using CMD_VNI_RANGE
  zebra: Add counting to nexthop register/unregister events
  bgpd: Add some debugs to note when we are not talking to zebra
  bgpd: Allow registration of nexthops after zebra connection
  pimd: *bsd needs priviledge escalation to init PIM
  pimd: Send 1 on all systems for MRT_INIT
  lib, zebra: Encode nexthop vrf in nht updates
  pimd, zebra: Encode nexthop vrf in message
  zebra: Add `match ipv6 address WORD` as a legal option
  zebra: Carry onlink if set from resolving nexthop
  bgpd: Late registration of Extended Nexthop should allow RA's to
  *: Replace zclient_new with zclient_new_notify
  zebra: Remove uncompiled file
  pimd: Add some debugs for when local membership fails
  pimd: When we fail to initiate ifchannel backout work done
  zebra: Fix privs elevation
  bgpd: Cleanup weird includes of zebra headers
  bgpd: Reduce size of 'struct bgp_node' by 8 bytes
  bgpd: Abstract bgp_info retrieving/setting from info pointer
  bgpd: Abstract bgp_table retrieving/setting from info pointer
  bgpd: Fix missed usage of bgp_static_get_node_info()
  bgpd: Cleanup bgp_route_map_process_update to be readable
  bgpd: Cleanup show_adj_route_vpn to be easier to read
  bgpd: Cleanup non-usage of prefix2str in bgp_vpn.c
  bgpd: Cleanup bgp_nexthop_set|get function names
  bgpd: Cleanup bgp_aggregate_set|get function names
  bgpd: Cleanup bgp_static_set|get function names
  bgpd: Cleanup bgp_distance_set|get function names
  bgpd: Cleanup bgp_connected_set|get function names
  vtysh: Don't attempt to reconnect the non-instanced ospf process
  tests: Exclude topotests from consideration
  Update Readme to have correct ordering for frr user
  lib: Fix kernel version parsing
  Fix tests to handle new output
  Spell Verifying correctly
  Actually fix version comparison
  Allow topotests to work with eigrp and nhrp
  Add a basic EIGRP topology.
  Exclude eigrp test from running normally yet
  Basic EIGRP topo test working
  eigrp-topo1: Correct eigrp test results.
  bgp_l3vpn_to_bgp_vrf: Fixup topo test to write log files to same
    location at start of run
  lib: Always attempt to set mpls platform_labels
  Clean up deprecated usage of router-id
  Add a tiny breadcrumb to hopefully help end user
  topotests: Add ospf-sr-topo1 back in
  zebra: Always resend nexthop information when registered
  lib: Cleanup nexthop2str code to be consistent
  zebra: `show ip route A.B.C.D json` would only show last route entry
  bgpd: Convert adj_out to a RB tree
  bgpd: Back out rest of e23b9ef6d2
  zebra: Convert nexthop_active functions to use bool
  topotests: Add a basic route leak vrf test
  zebra: For rnh handling use actual resolved nexthop
  zebra: Remove rib_lookup_ipv4_route
  zebra: Make v4 and v6 code paths for rib_XXX calls in kernel_socket
    the same
  lib: Fix string size issue with clang
  lib, zebra: Remove ZEBRA_FLAG_STATIC
  lib: Remove unused ZEBRA_FLAG_SCOPE_LINK
  lib: Reorder Zebra message flags and document
  bgpd: Cleanup non-normal compiled code path
  zebra: Allow zebra to only mark up to multipath_num nexthops as ACTIVE
  zebra: On route removal failure return proper message
  topotests: Cleanup diagnose_env to allow thought about multi-platforms
  topotests: Start abstraction of module_present for other platforms
  bgpd: Fix confederation identifier unsigned display
  topotests: module_present should return a True/False
  topotests: Allow sharpd to be used in topotests
  topotests: Make 'LinuxRouter' a class of 'Router'
  topotests: Move linux specific config into Linux config section
  topotests: add FreeBSDRouter abstraction
  zebra: Allow ns delete to happen after under/over flow checks
  bgpd: Allow 'no set community`
  bgpd: Allow `no set extcommunity [rt|soo]`
  bgpd: Allow shortened 'no set large-community' and 'no set
  zebra: Convert socket interface to use `union sockunion`
  zebra: Move sin6_masklen to earlier in the file
  zebra: Refactor kernel_socket kernel_rtm_ipv4 and ipv6 functions
  zebra: Refactor kernel_rtm to be a bit smarter about how it handles
  zebra: The mask and sin_mask are a bit redundant for kernel_rtm
  zebra: Convert gate in kernel_rtm to a bool
  zebra: Make label processing guaranteed to be unique
  zebra: Fixup spaces/tabs issue found by CI in rt_socket.c
  staticd: Do not ready prefix for printing till it's decoded
  eigrpd: Write eigrp config even if no network statements yet
  eigrpd: eigrp usage of uint32_t to struct in_addr for router_id data
  eigrpd: Allow eigrp to set/unset the router-id as a value.
  sharp: Modify route install to take nexthop groups
  sharpd/vtysh: Allow sharpd to use nexthop-groups
  sharpd: Allow sharpd to accept nexthop group as part of route install
  bgpd: Do not send a label to zebra that it doesn't understand
  lib: On frr_pthread_new save a os_name
  lib: Cleanup thread name setting to happen at start
  lib, bgpd: Convert frr_pthread_set_name to only cause it to set os
    name of the thread
  lib: Convert RUSAGE_SELF to RUSAGE_THREAD where we can
  bfdd: Fix timer print-out function
  zebra: Fix use after free in rib_process_result
  ospfd: Allow pre-existing vrf's to work

Donatas Abraitis (9):
  bgpd: Validate as-path access-list before continuing regarding invalid
  plist: Add safety check to avoid going over 4294967295 for prefix-list
  osfpd: Install default route after second try instantly
  bgpd: Match routes by type under route-maps
  bgpd: Check if route-map really exists before applying to the peer
  bgpd: Select default routing table when importing VRF routes into
  bgpd: Optionally remove AS number when using `no set as-path exclude`
  bgpd: Remove community-list by name without typing full rule
  bgpd: Remove extcommunity-list by name without typing full rule

Emanuele Di Pascale (66):
  lib: fix fetching enum values for derived types
  lib: add NB phase-specific error codes
  lib: copy xpaths when enqueing changes
  lib: fix issue with yang_str2enum
  isisd, yang: add configuration model and callback stubs
  isisd: retrofit 'router isis' and 'ip router isis' cmds
  isisd: retrofit the 'net' command
  isisd: retrofit the 'is-type' command
  isisd: retrofit the 'dynamic-hostname' command
  isisd: retrofit 'set-overload-bit' and 'set-attached-bit' cmds
  isisd: retrofit the 'metric-style' command
  isisd: retrofit the 'area-password' and 'domain-password' cmds
  isisd: retrofit the 'lsp-gen-interval' command
  isisd: retrofit the 'lsp-refresh-interval' command
  isisd: retrofit the 'max-lsp-lifetime' command
  isisd: retrofit the 'lsp-mtu' command
  isisd: retrofit the 'spf-interval' command
  isisd: retrofit the 'spf-delay-ietf' command
  isisd: retrofit the 'purge-originator' command
  isisd: retrofit the mpls-te commands
  isisd: retrofit the 'default-originate' command
  isisd: retrofit the 'redistribute' command
  isisd: retrofit the 'topology' command
  isisd: retrofit the 'isis passive' command
  isisd: retrofit the 'isis password' command
  isisd: retrofit the 'isis metric' command
  isisd: retrofit the 'isis hello-interval' command
  isisd: retrofit the 'isis hello-multiplier' command
  isisd: retrofit the 'isis three-way-handshake' command
  isisd: retrofit the 'isis hello-padding' command
  isisd: retrofit the 'isis [c|p]snp-interval' commands
  isisd: retrofit the 'isis topology' command
  isisd: retrofit the 'isis circuit-type' command
  isisd: retrofit the 'isis network' command
  isisd: retrofit the 'isis priority' command
  isisd: retrofit the 'log-adjacency-changes' command
  isisd: modify config_write funcs to use the northbound
  isisd: implement the 'database-overload' notification
  isisd: implement the 'lsp-too-large' notification
  isisd: implement the 'if-state-change' notification
  isisd: implement the 'corrupted-lsp-detected' notification
  isisd: implement the 'attempt-to-exceed-max-sequence' notification
  isisd: implement 'max-area-addresses-mismatch' notification
  isisd: implement the authentication failure notifications
  isisd: implement the 'adjacency-state-change' notification
  isisd: implement the 'rejected-adjacency' notification
  isisd: implement the 'area-mismatch' notification
  isisd: implement the 'lsp-received' notification
  isisd: implement the 'lsp-generation' notification
  isisd: implement the 'id-len-mismatch' notification
  isisd: implement the 'version-skew' notification
  isisd: add the 'lsp-error-detected' notification
  isisd: implemented the 'sequence-number-skipped' notification
  isisd: implemented the 'own-lsp-purge' notification
  isisd: embed the isisd yang model
  isisd, yang: change type empty leafs to booleans
  isisd: implement sighup handler
  lib: add frr-isisd to the native models
  isisd: retrieve default values from the yang model
  isisd: fix 'no router isis' on candidate config
  isisd: formatting fixes in isis_cli.c
  isisd, yang: set default network-type to broadcast
  isisd: suppress maybe uninitialized warnings
  isisd: fix point-to-point network type config
  ospfd: fix no virtual-link cmd
  lib: add hooks for external logging function

F. Aragon (36):
  lib: array index check (Coverity 1473088)
  lib vtysh zebra: variable shadowing fixes
  pimd ripd ripngd: variable shadowing fixes
  bgpd isisd ospf6d ospfd: variable shadowing fixes
  nhrpd: missing operand added
  bgpd lib ospf6d pbrd tests zebra: shadowing fixes
  bgpd: type fix
  bgpd isisd zebra: misuse of comma operator
  build: add -Wshadow to the dev build
  bgpd isisd ldpd lib: const drop fixes (SA)
  zebra: filter zebra messages (label manager)
  bgpd: fix test (using bgp instance 0)
  isisd: null check (Coverity 1473285)
  tools: null check (Coverity 1399484)
  tools: return check (Coverity 1399196)
  zebra: redeclaration fix (SA)
  lib: redundant parentheses (SA)
  bgpd: null check (Coverity 1472965 1472966)
  zebra: dead code (Coverity 1473593)
  isisd: out of bounds access (Coverity 1473286)
  ospfd: dead code (Coverity 1472227)
  bfdd zebra: dead code (Coverity 1472624 1473199)
  lib: RB-tree copy-paste error (Coverity 1446184)
  ospf6d: null check (Coverity 1221441)
  ospfd: dead code (Coverity 1302499)
  eigrpd: dead code (Coverity 1460436)
  ospf6d: dead code (Coverity 1399231)
  zebra: dead code (Coverity 1465497)
  isisd: null check (Coverity 1424529)
  zebra: netlink socket check (Coverity 1472236)
  bgpd: fix resource leak (Coverity 1475489)
  bgpd: null check (Coverity 1475469)
  bgpd isisd lib: fix return on void functions
  isisd lib ospfd pbrd python: fix empty init
  sharpd: return check (Coverity 1475198)
  pbrd: return check (Coverity 1475199)

G. Paul Ziemba (22):
  bgp vpn-vrf leaking: partial changes toward using new functionality
  lib: bgprib utility to compare rib against list of required routes
  lutil: expose result method
  bgp_l3vpn_to_bgp_vrf: updated config files to current vpn-policy
  lib/bgprib.py naming rib->bgprib is more accurate
  bgp_l3vpn_to_bgp_vrf: check_routes test now uses bgprib for exact
    route checking
  bgp_l3vpn_to_bgp_vrf: comment out route-add commands no longer needed
  bgp_l3vpn_to_bgp_vrf: assign different RDs to customers on r4
  ltemplate.py: remove dependency on hard-coded router name r2
  ltemplate.py: start isisd when isisd.conf present
  test_bgp_l3vpn_to_bgp_vrf: small config comment cleanup
  test_bgp_l3vpn_to_bgp_vrf: match new nexthop=0 code
  lib/ltemplate.py: add KeepGoing parameter to ltemplateTest
  lib/bgprib.py: handle empty json results gracefully
  bgp_l3vpn_to_bgp_vrf: update to current vpn-vrf leak syntax and
  bgp_l3vpn_to_bgp_vrf: require frr 4.1
  lib: lutil matching without changing newlines
  lib/bgprib.py: add copyright notice
  bgp_l3vpn_to_bgp_vrf: check_linux_mpls: delete obsolete code;
  bgp_l3vpn_to_bgp_vrf: use FRR PR #2053
  bgp: tolerate route-table-show header changes of PR 2045
  bgp_multiview_topo1: more fixes for header changes of PR 2045

Kishore Aramalla (2):
  bgpd: BGP daemon crashed when a L2VNI is unconfigured
  bgpd: The default IP route not advertised with configured RD

Lakshman Krishnamoorthy (1):
  bgpd: Route Server support for evpn address-family Signed-off-by:
    Lakshman Krishnamoorthy lkrishnamoor at vmware.com

Liam McBirnie (1):
  Revert "redhat: don't Requires initscript on systemd based distros"

Lou Berger (113):
  rfapi: debug related changes to support topotest
  lib: qmem show changes (header and max)      add header to show qmem,
    align table with headers      add tracking of max # allocs and max
    bytes alloc'ed
  lib: atomic_add_fetch_explicit not supported on all platforms
  rfp_example: add rfp holddown-factor to support topotest
  doc: add comment on PR title and description
  doc: add comment on closing PRs
  rfapi: debug related changes to support topotest -- add cost
  rfp_example: add 'rfp full-table-download' config to support topotest
  configure.ac: add  --with-yangmodelsdir=DIR and
    --with-libyang-pluginsdir=DIR config options
  doc: add info on libyang install and configure options
  bgpd: add valgrind suppression file for to ignore libyang per dll
    memory leak
  lib: speed up router shutdown stopRouter: report when a process is
    being killed only sleep if actually killed a process add option to
    not sleep or conduct -7 kill topogen stop: add wait parameter
    (defaults to old/wait) when stopping routers, first stop all without
    waiting then do a second pass where will wait if needed
  lutil: initial version
  bgp_direct_to_bgp_vpn: initial version
  bgp_direct_to_bgp_vpn: convert to new template, skip tests on pre-3.1
  lib: lutil cleanup move utilities/lutil.py -> lib/lutil.py add:
    luShowFail, CallOnFail, luStart parameter to set log dir change
    default wait to 10sec
  bgp_direct_to_bgp_vpn: general cleanup use moved lutil.py improve
    error information adjust to new luCommand default timeout sdd
    support for CliOnFail, remove no_test_call_mininet_cli scripts -
    update to correct stable values use topo test's log dir
  bgp_direct_to_bgp_vpn: add some progress output
  bgp_direct_to_bgp_vpn: scripts - avoid race condition, and test for
    predicable results
  lib: lutil - make requested error logging change
  lib: lutil - make it easier to spot command output and null output
  lib: add LabN testing template
  bgp_direct_to_bgp_vpn: convert to lib/ltemplate
  bgp_direct_to_bgp_vpn: enable mpls forwarding, add more details on
  bgp_l3vpn_to_bgp_direct: rename bgp_direct_to_bgp_vpn Rename BGP L3VPN
    test to have L3VPN at start of test name Also remove
    unused/pre-ltemplate files
  bgp_l3vpn_to_bgp_direct: fix hook routines for ltemplate
  lib: ltemplate - fix handling of CallOnFail
  lib: ltemplate - fix handling of CallOnFail (take 2)
  lib: add router.has_mpls check
  bgp_l3vpn_to_bgp_direct: skip tests when mpls not available
  bgp_l3vpn_to_bgp_direct: 2nd try at skipping tests when MPLS not
  bgp_l3vpn_to_bgp_vrf: clone bgp_l3vpn_to_bgp_direct as starting point
  bgp_l3vpn_to_bgp_vrf: in progress version Adjacenies up, MPLS
    configured on interfaces -- right now provides testbed for code
  bgp_l3vpn_to_bgp_vrf: add ce4 off of r4 for inter-vrf route leaking
  bgp_l3vpn_to_bgp_vrf: don't set vrf-policy, wait for new format
  bgp_l3vpn_to_bgp_vrf: just test adjacencies now - for dev/integration
  lib: scope life of Lutil and _lt to a single test run reorg to support
    regression environment
  bgp_l3vpn_to_bgp_xxx: avoid collision of customize.py match lutil and
    ltemplate changes
  lib: ltemplate simplify start/stop
  bgp_l3vpn_to_bgp_xxx: match ltemplate start/stop changes
  bgp_l3vpn_to_bgp_direct: add basic data path checks prior to adjacency
  bgp_l3vpn_to_bgp_vrf: add basic data path checks prior to adjacency
  bgp_l3vpn_to_bgp_vrf: allow for some ping loss
  bgp_l3vpn_to_bgp_direct: allow for some ping loss
  lib: add luLast to get last found luCommand regex match
  lib: add script name to summary output
  bgp_l3vpn_to_bgp_vrf: skip tests when mpls not available
  bgp_l3vpn_to_bgp_vrf: 2nd try at skipping tests when MPLS not
  lib: add tgen level mpls init and hasmpls flag
  bgp_l3vpn_to_bgp_vrf: use tgen.hasmpls flag
  bgp_l3vpn_to_bgp_vrf: add kernel check (>=4.9)
  bgp_l3vpn_to_bgp_vrf: collect iproute2 package into
  bgp_l3vpn_to_bgp_vrf: catch linux setup failures
  bgp_l3vpn_to_bgp_direct: use tgen.hasmpls flag
  isis-topo1: allow up to 90 sec for convergence
  bgp_l3vpn_to_bgp_vrf: add testing for manually setup MPLS path (until
    have dynamic)
  bgp_l3vpn_to_bgp_vrf: skip mpls vrf ping tests when have old iproute2
  bgp_l3vpn_to_bgp_vrf: prepend rtr name to vrf name, per Philippe
  bgp_l3vpn_to_bgp_vrf: add test to check linux vrf info
  bgp_l3vpn_to_bgp_vrf: required 4.11 kernel on arm processors
  bgp_l3vpn_to_bgp_vrf: centralize iproute2 check, add checks to
    appropriate tests
  lib: ltemplate add common ltemplateRtrCmd and ltemplateVersionCheck
  bgp_l3vpn_to_bgp_vrf: use new ltemplate common functions
  bgp_l3vpn_to_bgp_direct: use new ltemplate common functions
  lib: lutil - fix test counting, add returnJson flag
  bgp_l3vpn_to_bgp_vrf: fix route set on non-vrf interface (thanks ben!)
  bgp_vrf_netns: allow more time for adjacency to come up, report
    unexpected output
  lib: TopoExaBGP.start - report unexpected exabgp output
  bgp_vrf_netns: attempt cleanup of previous test abnormal exit. skip
    test if setup fails
  lib: fix path the led to group_nl_converted being referenced when not
  bgp_l3vpn_to_bgp_vrf: remote static routes left over from old test
  lib: lutil - fix test numbering, add test number to command logging
  bgp_l3vpn_to_bgp_vrf: fix wrong table entries
  bgp_l3vpn_to_bgp_vrf: more pings...
  lib: convert to directories per node
  lib: add check for core and memory issues after routerstop
  lib: limit checkRouterCores output to once per router start
  *: convert startup logs to use per node directories also have startup
    and running log files match
  GUIDELINES.md: update to reflect per node log dirs
  lib: log to start/local (per node) dir, log commands
  lib: use per node log directory when topotest is used without topogen
  lib: allow all rw access to /tmp/topotests (for package support and
  lib: bgprib - get human readable verson of json commands for log
  lib: collect shutdown errors, add assert on single router shutdown
  lib: collect and report shutdown errors across whole topology
  lib: add and use Router.checkRouterVersion (based on bdpd version)
  lib: don't assert on shutdown errors in rel < 5.0
  lib: don't report cores on exit as asserts in 5.0
  lib: more logging to aid in failure debugging
  bgp_l3vpn_to_bgp_vrf: allow some time for updates to propogate
  bgp_l3vpn_to_bgp_vrf: use l3mdev_accept workaround for known kernel
  bgp_l3vpn_to_bgp_direct: imports and more debug Allow for different
    timings on, and number of, import processing Collect more info for
  lib: speedup test exit when startup fails
  bgp_l3vpn_to_bgp_vrf: ignore output of sysctl, reenables test!
  bgp_l3vpn_to_bgp_vrf: allow for long adjancies, seen with
  bgp_rfapi_basic_sanity: added basic rfapi sanity topotest
  bgp_rfapi_basic_sanity: address PR comments (copyright, switch)
  bgp_rfapi_basic_sanity: added close check
  bgp_rfapi_basic_sanity: added check_timeout (uses FRR PR#2934)
  bgp_rfapi_basic_sanity: wait for clean exit
  bgp_rfapi_basic_sanity: added multi-path and updated responses
  bgp_rfapi_basic_sanity: added cost to 2nd MP route
  bgp_rfapi_basic_sanity: added multi-path to timeout test
  bgp_rfapi_basic_sanity: added query only NVE
  bgp_rfapi_basic_sanity_config2: added rfapi test with partial table
    download This is identical to bgp_rfapi_basic_sanity with the
    exception of non-default config
  bgp_rfapi_basic_sanity_config2: allow for slow CI
  bgpd: partially revert e23b9ef6d271223d29c7f91a10d98aa6dcd252b3
    previous change was to fix rnh module in Zebra for leaked routes
      this reverts that fix, so probably reintroduces the problem.
  topotest: remove sleep on staticd startup
  topotests/lib: help script writers understand wrong VRF failure
  topotest: bgp_l3vpn_to_bgp_vrf put ce4 into vrf (without a default)
  bgpd: don't use BGP_ATTR_VNC(255) unless ENABLE_BGP_VNC_ATTR is
  bgp_rfapi_basic_sanity: delayed timeouts not supported without VNC
  bgp_rfapi_basic_sanity_config2: delayed timeouts not supported without
    VNC attr

Marcel Röthke (2):
  bgpd: fix "show rpki cache-server" for ssh caches
  bgpd: fix crash when trying to remove non-existing rpki cache

Mark Stapp (51):
  libs: add atomic xxx_and_fetch apis
  libs: fix missing atomics for some gcc versions
  lib: fix use of frrpthread os_name
  zebra: Create zebra_dplane.c and .h
  zebra: Start abstraction of zebra_dplane_info for context passing
  zebra: add 'debug dplane' support and cli
  zebra: fix debug dplane cli
  zebra: start dataplane layer work
  zebra: wip: early version of dplane result handler
  zebra: update dplane route api return type
  zebra: use async dplane route updates
  zebra: capture old data for route delete
  zebra: set SELECTED flag in rib_process
  zebra: start sketching dataplane provider api
  zebra: resolve style issues in dplane commit
  zebra: ensure redist of system routes
  zebra: Fix style issues
  zebra: netlink fuzzing path correction
  zebra: add shutdown callback for dplane providers
  zebra: update routing socket path
  zebra: add dplane show commands
  zebra: add handy res2str utility
  zebra: support zebra shutdown and cleanup
  zebra: remove old apis after new dplane work
  zebra: revise struct names to resolve review comments
  zebra: limit queued route updates
  zebra: improve safety of netns_notify_close()
  zebra: rebase dataplane, align with master
  zebra: only perform shutdown signal processing once
  zebra: only uninstall once, when closing rib table
  zebra: temporary workaround for a clang issue with atomics
  zebra: Fix netlink installation of recursive ecmp routes
  libs: rename two id_alloc macros to resolve bsd conflict
  zebra: introduce dedicated dataplane pthread
  zebra: fix get_old_instance api
  zebra: dataplane provider enhancements
  zebra: reorg dataplane pthread start
  zebra: add initial error handling to dplane loop
  zebra: revise dplane dequeue api
  zebra: improve dataplane shutdown checks
  zebra: dplane lock and thread_master apis
  zebra: separate netlink socket for dataplane
  zebra: add dataplane routing socket
  isis-topo1: make isis topology match .dot file
  lib,bgpd: remove deprecated stream lib macros
  zebra: make incoming zserv message-processing a singleton event
  libs: support timeout for workqueue retries
  zebra: use a small retry timeout for the rib workqueue
  zebra: include lib/queue.h in zebra dataplane
  zebra: reduce rib workqueue retry timeout
  zebra: unlock route-node when processing dplane results

Martin Winter (114):
  configure: Update version to 6.1-dev
  redhat: Add fabricd to RPM package
  bgpd: Fix for large AS paths which are split into segments
  redhat: Added libyang dependencies to package
  debianpkg: Add yang files to packages
  debianpkg: fix lintian warn: No need to keep .la libs for packages
  Initial commit with first OSPFv6 Topology Test
  Cleanup README and a reference to License
  ospf6-test1: Look for test config in directories relative to main
    script location
  ospf6-test1: Renamed testscript to have test_ prefix for pytest
  Renamed Test Directory: ospf6-test1 -> ospf6_topo1
  test_ospf6_topo1: Restructure to run under pytest
  Add .gitignore
  ospf6-topo1: Cleanup log messages
  ospf6-topo1: Less chatty timeout messages during convergence
  ospf6-topo1: Code cleanup
  bgp_multiview_topo1: Add "bgp multiview" simple topology to test.
    Initial commit
  bgp_multiview_topo1: Skip remaining on fatal error and try to get more
    crash info of daemon is not running
  Update Documentation
  example-test: Add simple example pytest for documentation (and exclude
    it from running in pytest.ini)
  bgp_multiview_topo1: Rename received bgp route log with .log for easy
    clean between runs
  bgp_multiview_topo1: Fix limit to create coredumps on quagga crashes
  bgp_multiview_topo1: Added Network Diagram as comment
  ospf6-topo1: Enable coredumps for Quagga Daemons and add logic to skip
    remaining test in case of fatal error
  ospf6-topo1: Add check for Linux Kernel Routing Table as well and
    change to better human readable context diff
  bgp_multiview_topo1: Change from unified to context diff for better
  README: Add example configure statement for building test quagga code
  bgp_multiview_topo1: Add Markdown doc for test
  bgp_multiview_topo1: Rename test_description.md to README.md for
    automatic rendering in online git
  ospf6-topo1: Add Markdown doc with testdescription
  change in checkRunning: Check all daemons on all nodes before aborting
    with an assert
  Add support for FRR in addition to Quagga
  bgp_multiview_topo1: Fix bad check for running daemons
  ldp-topo1: Add new LDP Topology Test
  Move common function and class to topotest library
  Added optional output for memleaks at the end of test. Enable them by
    setting the environment variable TOPOTESTS_CHECK_STDERR to some
  bgp_multiview_topo1: Mask out BGP Table version in comparison
  Update Readme to reflect FreeRangeRouting name
  ldp-topo1: Delete accidentally include tar file
  ldp-topo1: Fix ordering of reference output to check against
  Fix README incorrect reference to Quagga
  LDP-Topo1: Update test to accept new format of LDP output
  bgp_multiview_topo1: Fix case of tests hanging if convergence is not
  topotest library: Fix creation of /etc/XXX/vtysh.conf
  ripng_topo1: Adding new test for RIPng Topology
  rip_topo1: Adding new test for RIPv2 Topology
  Update FreeRangeRouting -> FRRouting name
  lib: Add function to check for daemon available (i.e. LDPd) and
    function to return typ (quagga or frr)
  all-protocol-startup: Add test suite which runs all protocols at once
    and verifies startup and spurious errors of each
  ripng-topo1: Fix duplicate IP (Thanks Renato!) and documentation typos
  all-protocol-startup: Add option to skip currently broken checks and
    relax BGP check
  all-protocol-startup: Fix pref commit - bamboo prefix is lower case
  all-protocol-startup: Fix bad assert in case of failed vtysh output
  ospf6-topo1: Update to ignore the proto type in linux kernel table
  lib: Fix version check in previous kernel compare
  lib: Fix another typo on kernel compare
  Fix memory leak detection and reporting which accidentally was dropped
    a month ago
  ldp-topo1: Adjust to accept new format in "show ip route" as
    introduced with PR 495 (extra comma)
  Add support for collecting AddressSanitizer output. See README.md for
  Doc: Update manual sample build instruction with symlink for vtysh and
    reference to user creation
  lib: Move updated topotest.py lib with AddressSanitizer to correct
    directory (fix mistake from 2 commits ago)
  lib: Add different failure comment on processes killed by
  (all tests): Add extra check to make sure daemons are still running
    after each essential stage.
  rip-topo1: Add check to make sure daemons are still running between
    essential tests
  lib: Send Output error from AddressSanitizer to StdErr
  lib: Move AddressSanitizer check to separate procedure and add check
    for errors in vtysh itself as part of checkRouterRunning
  lib: cleanup diff text output formatting issue and move to library
  ospf6_topo1: Remove ff00:/8 routes from Linux Table compare
  lib: Fix stopRouter not to fail for case if daemon was never started
  all_protocol_startup: More tolerant on interface MTU output
  Doc: Update README to specify ExaBGP version as 4.0 is not yet
  ldp-topo1: Make the implicit label optional to pass old frr code as
  ospf-topo: Mask IPv6 local-addressess instead of removing them
  bgp-ecmp-topo1: Add BGP Topology for rcmp testing
  bgp-ecmp-topo1: Check number of routes received for convergence
  ospf-topo1: Remove check for spfLastDurationMsecs value
  lib: Add check for MPLS kernel modules to exist before trying LDP
  lib: Enhance daemon_available() function to check for mpls modules in
    case of LDPd
  lib: add check for mpls kernel modules to diagnose_env()
  lib: Change topology to output INFO and DEBUG to stdout and other
    levels to stderr
  ldp-topo1: Use 'label implicit-null' for implicit labels
  lib: check for eigrpd available and return warning if missing instead
    of failing
  Enable eigrp-topo1
  multiple_topos: Don't report about StdErr Output if there is no output
  lib: Use SIGTERM for killing daemons first and only SIGBUS (7) if the
    daemons fail to exit.
  all-protocol-starup: Fix triple-output of same vtysh stderr/stdout
  eigrp-topo1: Change Route verification to use json
  eigrp-topo1: Cleanup leftover comments from previous commit
  all-protocol-startup/isis: Fix check for "show isis interface" to
    allow different circuit ids than 1
  eigrp-topo1: Remove check for EIGRP distance
  Fix output to allow it on generic Debian
  ldp-vpls-topo1: Allow ospf neighbor json command with list (new) and
    dict (old)
  bgp-ecmp-topo1: Workaround for version check
  ospf-topo1: Add IPv6 addresses to diagram
  ospf-topo1: Allow IPv6 ECMP version to pass
  ldp-vpls-topo1: new format for ospf neighbor json
  ldp-topo1: Support implicit-null and old format on "show_mpls_table"
  Revert previous 2 commits (pushed by mistake)
  lib: Add support for staticd
  lib: Fix staticd extension
  lib: Add support for Ubuntu 18.04 with installed FRR package
  lib: checkRouterVersion to determine version
  pick ospf6 router-id syntax based on version
  doc: Fix path and order in debian package build doc
  debian: Don't create homdirectory for frr user
  snapcraft: Update RTRLIB to 0.6.3
  snapcraft: Don't stage libc6
  snapcraft: Add libyang to snap package
  snapcraft: Add missing staticd.conf.default
  snapcraft: Update bgpd to use newer rpki lib
  snapcraft: Add FabricD to Snap package
  snapcraft: Disable libyang CACHE for snap package (Temp workaround)
  redhat: Require newer libyang (> 0.16.74) for embedded extensions
  FRRouting Release 7.0

Mitch Skiba (2):
  lib: Implement an allocator for 32 bit ID numbers
  bgpd: Re-use TX Addpath IDs where possible

Naveen Thanikachalam (1):
  lib: Trigger callbacks to re-evaluate route-map clauses when "call"
    CLI is executed.

Nitin Soni (3):
  zebra: Add "show evpn vni detail" command
  zebra: Add "show evpn mac vni all detail" command
  zebra: Add "show evpn arp-cache vni all detail" command

Olivier Dugeon (3):
  OSPF: Add support to multi-area to Router Info.
  Add OSPF Segment Routing tests
  Update OSPF-SR tests to handle various version

Philippe Guibert (70):
  zebra: when veth link is used across vrf, the link may not be good
  lib: offer an API to get and set default vrf name
  lib: autocomple vrf list authorises default vrf name
  *: add a vrf update hook to be informed of the vrf name
  zebra: detect if a netns is the default netns
  bgpd: authorize default vrf name usage
  ospfd: adaptations to handle vrf alias
  bgpd: handle vrf aliases in vty API
  lib: set default vrf name at startup
  lib: protect newly created vrfs against default vrf naming.
  lib: avoid default vrf name memory allocation at startup
  doc: add information about dynamic update of default vrf name
  zebra: add an option to zebra command to change default vrf name
  lib: overwrite default vrf name upon zapi vrf add event
  lib: remove spurious message when netns is not available
  zebra: do not update link if interface is veth interface
  doc: fix warning of doc compilation with bgp draft
  bgpd: in case nexthop is ipv6, set nh attribute flag in mpls vpn case
  bgpd: vpn route-map config should be kept, except if vrf list is on
  doc: inform user that expanded communities can not be used in set mode
  zebra: remove kernel routes that are suppressed
  bgpd: fill in prefix for flowspec entry when json format is requested
  ospfd: do not remove area structure, while vls are configured
  lib: distribute-list ipv6 can be (un)configured
  ospfd: permit reconfiguring network after area suppressed
  ospf6d: add missing vty commands to ospf6 area command
  bgpd: allow vrf validity and bgp vrf import/export, when zebra is off
  doc: change workflow to support long term maintenance branches
  lib, zebra: default vrf configured will not be overwritten by
  zebra: delay default vrf name after vrf initialization
  lib: zebra support for vrfwnetns parameter
  bgp_vrf_netns: add basic test to support netns backend with netns
  bgp_vrf_netns: do not run test on 32 bit linux machines
  bgp_vrf_netns: increase bgp convergence timer
  bgp_vrf_netns: revert changes from topotest 77
  bgp_vrf_netns: swap the order of netns destruction
  lib: topogen support for link_enable on other netns
  ospf-topo1-vrf: setup with OSPF VRF
  lib: add ip_route_zebra function
  ospf-topo1-vrf: replace ip_route method with ip_route_zebra
  lib: add zebra api to shutdown an interface
  ospf-topo1-vrf: replace link_enable api with zebra topotest api
  bgp-ecmp-topo1: change default vrf name
  doc: add ldp information over transport connection
  lib: do not convert ip prefixes without '.'
  bgpd: add new draft for redirect ip for flowspec
  bgpd: bgp pbr ignores bgp fs entries with ips written.
  bgpd: reuse bgp_path_info_extra_free() routing in rfapi
  bgpd: delay destruction of label pool
  ospfd: remove call to if_lookup_all_vrf
  zebra: avoid initialising more than one the l3vni hash structure
  doc: add a community rule to permit usage of GPLv3
  bgpd: add show bgp import-check-table
  zebra: add command show ip/ipv6 import-check table
  bgpd: nexthop vrf name set to default vrf
  bgpd: bgp default vrf in show route naming change
  zebra: the default vrf name in vxlan is correctly set
  lib: enforce vrf_name_to_id by returning default_vrf when name is null
  lib, rip, ripng, babel, eigrp: add ctx pointer to distribute api
  zebra: update local ns_id field
  zebra: handle multiple events for netns deletion event
  bgpd: flowspec redirect IP info is retrieved into nh tracking
  zebra: start the netns notification mechanism after ns initialisation
  zebra: do not create vrf if name already set to default vrf at startup
  bgpd: detach vrf labels allocated, when removing bgp instance
  bgpd: do not crash when removing ip vpn entries
  ospf6d: unitialised buffer zone used by socket
  ospf6d: closing server socket when leaving ospf6d
  ospf6d: upon interface deletion, the area if list may be updated
  ospf6d: reset the global ospf6 pointer

Quentin Young (67):
  lib: sort route-maps for display
  doc: rename building_frr_on* -> building_frr_for*
  doc: name correct sphinx package under FreeBSD 11
  doc: update misc build docs
  doc: update subdir.am
  zebra: remove invalid ref "frr-configuration"
  doc: fix building.rst index
  lib: add flog_warn
  zebra: flog_warn conversion
  *: style for flog_warn conversions
  lib: PRIu32 in log.h
  bgpd: remove duplicate log_ref_add()
  zebra: fix includes
  frr: remove stale files, allow non-GNU Automake
  frr: improve README
  frr: add README.md to EXTRA_DIST
  bgpd: BGP_[WARN|ERR] -> EC_BGP
  ospfd: OSPF_[ERR|WARN] -> EC_OSPF
  nhrpd: NHRP_[ERR|WARN] -> EC_NHRP
  babeld: BABEL_[ERR|WARN] -> EC_BABEL
  eigrpd: EIGRP_[ERR|WARN] -> EC_EIGRP
  isisd: ISIS_[ERR|WARN] -> EC_ISIS
  pimd: PIM_[ERR|WARN] -> EC_PIM
  ripd: RIP_[ERR|WARN] -> EC_RIP
  *: style for EC replacements
  doc: document CLI deprecation period length
  ospfd: add docs on multi-instance ospf
  doc: clarify documentation on BGP multiple AS
  doc: add extra information on bgp views and vrfs
  doc: embellish bgp view docs
  bgpd: fix broken show community commands
  bgpd: complete description code for communities
  tools: reindent frr
  staticd: add ability to create onlink static route
  vtysh: fix exit-vrf printing
  staticd: finish missing onlink pieces
  lib: change M:A:C to X:X:X:X:X:X
  doc: strip trailing whitespace
  doc: add missing docs for ipv6 isis router cmd
  doc: ignore libyang-building.rst in sources
  doc: fix code-block syntax errors
  doc: include maintainer release procedure in docs
  .github: remove style reminder from PR template
  frr: ignore libtool.orig
  lib: remove agentx already enabled warning
  zebra: cleanup some leftovers from removed cmds
  doc: remove mention of 'secondary' ip[v6] commands
  doc: update zebra protocol documentation
  zebra: fix zebra router memleaks
  zebra: force neighbor entry reinstallation
  doc: use correct specifier for code block
  doc: add dev doc for vtysh
  bgpd: fix small error in community-list patch
  doc: add section on protocol
  *: only use 32-bit atomics
  tools: add non-32 bit atomic warning to checkpatch
  staticd: fix null0 routes (again)
  update ref file for cidr mask display
  .github: add core guidelines to issue template
  bgpd: fix json double free when showing neighbors
  doc: add `ip nht resolve-via-default`
  doc: exclude snmptrap.rst from build
  tools: fix systemd dependency graph
  bgpd: fix as-path prepend heap uaf

Rafael Zalamena (162):
  bfdd: remove global variables and improve logs
  bfdd: remove VxLAN code
  bfdd: make bfd_recv_* more generic
  bfdd: enumerate all diagnositic codes
  bfdd: use UDP sockets instead of raw
  bfdd: use THREAD_OFF() instead of thread_cancel()
  bfdd: fix crash when receiving invalid echo packet
  bfdd: disable echo on neighbor request
  bfdd: allow timer deactivation on shutdown
  lib: fix a memory leak in FreeBSD
  lib: refactor thread_execute
  bfdd: fix multi hop hash lookup
  bfdd: fix BGP unnumbered peer setup
  lib: assert sysctl values
  topogen: first code import
  topotest: parameterize daemon's path
  Topogen: document new options
  topogen: add support for setting link state
  topogen: implement memory leak test call
  example: add missing __init__.py
  topogen: implement __str__ for TopoGear objects
  topotest: add guidelines
  topogen: use shorter names for equipments
  topotest: rename guidelines equipment names
  topotest: small guidelines fixes
  topotest: added two new sections to guidelines
  template: change the default dot file
  topotest: implement json_cmp function
  topogen: added JSON output support for vtysh_cmd
  template: allow test to be run without pytest
  topogen: don't backtrace when topogen is not used
  topotest: improve json_cmp assert output
  topotest: add writing tests tips
  topogen: support configuration file
  topogen: add memory leak report configuration
  topolog: implement a logging abstraction
  topolog: support adding loggers during runtime
  topotest: use topolog instead of print
  topogen: add per router logging
  template: update test template
  topogen: configure daemon logging files
  topogen: implement start/stop methods for TopoGear
  topogen: add error functions
  topogen: add support for ExaBGP peers
  topotest: add JSON list comparation support
  topogen: fix topogen memleak activation
  topogen: implement router check method
  topogen: handle JSON decode failures
  template: add router check test
  topotest: add text normalization function
  topotest: add version comparison function
  topogen: add equipment version handling
  bgp_multiview_topo1: fix exabgp configuration
  topotest: implement environment diagnostics
  topotest: simplify ldp kernel check
  topotests: make 'quagga' check optional
  ospf: added convergence test for IPv4
  ospf: added a convergence test for link failure
  ospf: add memory leak test
  ospf: add 'show ip ospf json' test
  ospf: add some log calls to show activity
  ospf: add IPv6 OSPF convergence test
  topotest: implement 'ip route' functions
  ospf: test route kernel installation
  topogen: allow daemon spec in vtysh_cmd
  ospf-topo: remove log file specification
  ospf-topo: skip on tests on router failure
  ospf-topo: show areas in the topology dot/jpg
  bgp-ecmp-topo1: fix exabgp configuration file
  bgp-ecmp-topo1: convert to topogen
  bgp-ecmp-topo1: add convergence test
  topotest: log sleep function
  bgp-ecmp-topo: use the new sleep function
  bgp-ecmp-topo: test BGP convergence
  bgp-ecmp-topo: add support for FRR 2.0
  topotests: make asserts show up in stderr
  topotests: add topology name to assert output
  ldp_vpls_topo1: set an error instead of exit
  topogen: show pretty output for skipped messages
  topogen: treat some corner cases on vtysh failure
  topogen: router startup failure triggers errors
  topogen: add support for eigrpd and nhrp
  eigrp-topo1: convert to topogen
  topogen: log diagnostics to file
  topogen: save zebra version output
  topogen: fix diagnostics failure
  topotest: remove unused json_cmp unused parameter
  topotest: allow passing options to difflib
  topotest: json_cmp_result split error lines
  topotest: improve json error messages
  eigrp-topo1: solve output ordering problem
  ldp-vpls-topo1: fix a json_cmp result assert
  topotest: fix a regression in version_cmp
  topotest/topogen: demote some messages level
  doc: update README and add code snippets
  topotest: specify why we are waiting
  topotest: always show diff on json_cmp failure
  topotest: show the user that we are waiting
  topotest: improve informational messages
  topotest: remove pid files
  isis-topo1: import topology
  isis-topo1: add topology graph
  isis-topo1: test ISIS topology convergence
  isis-topo1: test ISIS route installation
  isis-topo1: check ISIS kernel route installation
  isis-topo1: add support for stable versions
  isis-topo1: add IPv6 ISIS topology test
  isis-topo1: skip test on FRR 2.0
  isis-topo1: check ipv6 zebra route installation
  isis-topo1: simplify dictionary key removal code
  isis-topo1: check IPv6 linux route install
  topogen: import pytest assert function
  topogen: fix assertion on `routers_have_failure`
  ldp-vpls-topo1: support new OSPF JSON format
  ldp-topo1: fix ip mpls route output format
  *: ignore .pytest_cache directories
  lib: improve json_cmp
  topotests: fix json_cmp wrong list handling
  isis-topo1: improve topology parser
  isis-topo1: remove pseudo_TE-IS entries from check
  isis-topo1: fix IPv6 changes and remove metric
  lib: show run_and_expect spent time
  lib: improve normalize_text with another case
  lib: implement standardized compare functions
  isis-topo1: use `run_and_expect`
  ospf-topo1: use new output compare functions
  bgp-ecmp-topo1: remove sleep and reduce code
  bgp_vrf_netns: reduce code duplication
  ldp-vpls-topo1: remove duplicated code and sleep
  ospf-topo1-vrf: show errors and reduce code
  lib: fix `ip4_route_zebra` header removal code
  topogen/topotest: add support for BFDd
  bfd-topo1: add convergence tests
  bfd-topo1: add fast reconvergence test
  bfd-topo1: import topology picture
  bgp-ecmp-topo1: fix vrf default change
  bgp-ecmp-topo1: fix some pylint warnings
  docker: add support for running inside container
  bfdd: fix multihop on FreeBSD
  zebra: always define ROUNDUP and ROUND_TYPE
  zebra: refactor route socket message handling
  zebra: don't log errors on unsupported medias
  bgpd: don't show default value in configuration
  ldpd: add support for FreeBSD IP_BINDANY
  zebra: fix compilation on OpenBSD
  ldpd: fix startup on OpenBSD
  zebra: remove duplicated code
  zebra: replace zlog_err with flog_err
  zebra: implement FreeBSD route attr handling
  zebra: fix FreeBSD warning on fresh OS boot
  zebra: fix another FreeBSD warning message
  zebra: use proper sockaddr size in kernel_rtm
  zebra: remove unused functions
  zebra: fix routing socket AF_LINK handling on NETMASK
  zebra: use rta_getattr for NETMASK
  zebra: fix debug messages with prefixes
  zebra: fix debug prefix string size
  zebra: fix debug messages in ifam_read_mesg
  zebra: make routing socket debug user friendlier
  ospf6d: don't queue interface events
  ospf6d: keep track of the socket set thread
  ospf6d: fix FreeBSD IPv6 multicast group join race

Renato Westphal (135):
  ospfd: remove unnecessary housekeeping code when using linked lists
  doc: remove LibXML from the list of dependencies
  doc: update build instructions for Debian 9
  doc: simplify build instructions
  bfdd: do not allow multihop peers without a local-address
  bgpd: fix cleanup of dampening configuration
  bgpd: handle NULL pointers in lcommunity_cmp()
  bgpd: fix the "no neighbor A.B.C.D maximum-prefix" command
  bgpd: fix some NULL pointer dereference bugs
  bgpd: fix crashes caused by missing input validation
  bgpd: add a NULL check to prevent a crash in the rfapi code
  bgpd: fix NULL pointer dereference bug
  bgpd: remove wrong assert
  bgpd: fix bug while iterating over VPN table
  bgpd: use the vrf_bitmap_*() helper functions when necessary
  lib: fix the "no match ipv6 next-hop type" command
  ospf6d: fix two "show" commands
  ospfd: fix issue with the "no segment-routing prefix A.B.C.D/M"
  lib: introduce new northbound API
  *: add empty array of YANG modules
  lib: add a new northbound plugin for ConfD
  lib: add a new northbound plugin for Sysrepo
  yang, lib: add 'frr-interface.yang' and associated stub callbacks
  lib: retrofit interface commands to the new northbound model
  yang, ripd: add 'frr-ripd.yang' and associated stub callbacks
  ripd: retrofit the 'router rip' command to the new northbound model
  ripd: retrofit the 'allow-ecmp' command to the new northbound model
  ripd: retrofit the 'default-information' command to the new northbound
  ripd: retrofit the 'default-metric' command to the new northbound
  ripd: retrofit the 'distance' command to the new northbound model
  ripd: retrofit the 'distance source' commands to the new northbound
  ripd: retrofit the 'neighbor' command to the new northbound model
  ripd: retrofit the 'network' command to the new northbound model
  ripd: retrofit the 'offset-list' command to the new northbound model
  ripd: retrofit the 'passive-interface' command to the new northbound
  ripd: retrofit the 'redistribute' commands to the new northbound model
  ripd: retrofit the 'route' command to the new northbound model
  ripd: retrofit the 'timer basic' command to the new northbound model
  ripd: retrofit the 'version' command to the new northbound model
  ripd: no need to use qobj anymore to keep track of "router rip"
  ripd: retrofit all RIP interface commands to the new northbound model
  ripd: fix memory leaks when interfaces are deleted
  ripd: fix SIGHUP handling
  ripd: remove vty configuration lock
  ripd: reduce excessive indentation in a few places
  ripd: implement northbound callbacks to fetch neighbor information
  ripd: implement northbound callbacks to fetch route information
  ripd: implement the 'clear-rip-route' YANG RPC
  ripd: implement two YANG notifications
  yang: add a module translator for ietf-rip.yang
  doc: add build instructions for libyang
  tools: update checkpatch to allow indented labels
  doc: update libyang build instructions
  zebra: improve identification of loopback interfaces in the router-id
  lib: set YANG search directory when creating libyang context
  build: fix detection of the confd binary
  lib: improve error handling when connection to confd is lost
  lib: introduce function to retrieve the schema name of a data node
  lib: make yang_dnode_get_entry() more flexible
  ripd: fix display of the "distance" command
  lib, ripd: rework API for converted CLI commands
  *: remove the configuration lock from all daemons
  tests: fix warning related to change in the hash API
  lib: use prefixconstptr instead of const prefixptr
  lib: don't fetch schema information when creating yang_data structures
  lib: make it possible to create YANG data nodes containing state data
  lib, tools: use CHECK_FLAG/SET_FLAG more often in the northbound code
  lib: remove entire data tree on yang_dnode_free()
  lib: introduce function that loads all FRR native YANG modules
  lib: rework the yang schema node iteration functions
  lib: add support for YANG lists with mixed config and state data
  lib: do not subscribe to config changes on a state data tree (confd
  lib, tests: major rework in the operational-data callbacks
  ripd: fix operational-data northbound callbacks
  ldp-topo1: add some debug commands to facilitate troubleshooting
  ldp-topo1: sync with PR#710 in FRR
  ldp_vpls_topo1: add new topology for ldp pseudowires
  ldp_vpls_topo1: skip all tests on stable/2.0
  ldp_vpls_topo1: don't use pytest.mark.skipif
  ldp-topo1: Remove check for protocol in installed LSPs
  yang, ripngd: add 'frr-ripngd.yang' and associated stub callbacks
  ripngd: retrofit the 'router ripng' command to the new northbound
  ripngd: retrofit the 'allow-ecmp' command to the new northbound model
  ripngd: retrofit the 'default-information' command to the new
    northbound model
  ripngd: retrofit the 'default-metric' command to the new northbound
  ripngd: retrofit the 'network' command to the new northbound model
  ripngd: retrofit the 'offset-list' command to the new northbound model
  ripngd: retrofit the 'passive-interface' command to the new northbound
  ripngd: retrofit the 'redistribute' commands to the new northbound
  ripngd: retrofit the 'route' command to the new northbound model
  ripngd: retrofit the 'aggregate-address' command to the new northbound
  ripngd: retrofit the 'timer basic' command to the new northbound model
  ripngd: retrofit the 'split-horizon' command to the new northbound
  ripngd: fix SIGHUP handling
  ripngd: implement the 'clear-ripng-route' YANG RPC
  ripngd: implement northbound callbacks to fetch neighbor information
  ripngd: implement northbound callbacks to fetch route information
  build: update vtysh scan list for ripd and ripngd
  ripd: remove leftovers from the old sighup handler
  ripd: fix minor issues from the northbound conversion
  lib: add support for confirmed commits
  lib: implement the "show" command
  lib: fix NETCONF network-wide transactions for confd and sysrepo
  staticd: fix static analysis warnings
  lib, tests: add support for keyless YANG lists
  tools: update checkpatch to stop suggesting the use of kstrto()
  ripd, ripngd: fix memleaks when deleting routing instance
  ospfd: fix wrong argv index in the "show ip ospf neighbor" command
  ospfd: convert a couple of "show" commands to DEFPY
  zebra, lib: fix the ZEBRA_INTERFACE_VRF_UPDATE zapi message
  zebra: silence harmless ioctl warning when retrieving interface speed
  bgpd: fix parsing of community number in the "show bgp community"
  lib: fix segfault on freebsd when using vsnprintf() incorrectly
  ldpd: fix corner case in which we wouldn't respect the max pdu length
  lib, zebra: add AFI parameter to the ZEBRA_REDISTRIBUTE_DEFAULT_*
  lib: fix "may be used uninitialized" build warning
  lib: fix "use of uninitialised value" valgrind warning
  lib: don't abort when incomplete xpath is given by the user
  lib: update suggestions related to some northbound errors
  doc: update build instructions for freebsd on how to obtain libyang
  lib: fix checking of clients subscribed to receive default routes
  lib: use the correct VRF ID when parsing INTERFACE_LINK_PARAMS
  zebra: send link parameters to zclients once they request interface
  doc: fix small inconsistencies in the table of zapi command values
  lib: reset the vty xpath index when entering the config mode
  lib: simplify detection of when the user is leaving the CLI config
  zebra, lib: send VRF backend to the client daemons
  lib: remove the vrf_is_mapped_on_netns() function
  python: make DEFPY provide the text token of fixed parameters
  zebra: fix the "show ip import-check" command
  pbrd: fix removal of ipv6 nexthops
  pbrd: add missing newline at the end of warning message
  isisd: fix crash when entering "no ip[v6] router isis" twice
  bgpd: fix null pointer dereference bug
  bgpd: fix the add-path code to understand the mpls-vpn safi

Rodny Molina (2):
  fabricd: Disabling OpenFabric optimization to avoid considering T0
    devices only as DNRs
  Minor adjustments to address CI warnings

Ruben Kerkhof (2):
  configure.ac: fix a typo in an error message
  configure.ac: consistently quote all m4 macros

Sarita Patra (3):
  pimd: fix indentation warnings
  ospfd: handling of OSPF_AREA_RANGE_ADVERTISE flag
  bgpd: remove ip prefix from as-path, <large,ext>community-list

Simonas (1):
  Fix typos in BGPd sample configuration file

Sri Mohana Singamsetty (3):
  bgpd:Fixing the signature of community_free function
  watchfrr: replace /usr/sbin/service frr with /usr/lib/frr/frr script
  watchfrr: Echo statements are blocking the execution of frr script

Thibaut Collet (4):
  vrf: return vrf implementation for default vrf
  zebra: fix crash when interface vrf changes
  lib/if.c: fix CLANG warning
  zebra/lib: code cleaning

Tim Bray (1):
  Link-detect documentation

Tore Anderson (1):
  doc: correct route map match for prefix lists

Vincent Bernat (1):
  bgpd: fix IPv6 next-hop field name for routes in JSON

Wilhelm Wijkander (1):
  Update RPM building instructions

dturlupov (1):
  eigrp: opnional metric in 'no redistribute'

jpmondet (1):
  frr-reload.py: Add python2 & python3 compatibility.

paco (2):
  bgpd, doc, ldpd, lib, tests, zebra: LM fixes
  lib, lm-proxy-topo1: label manager proxy test

rgirada (2):
  ospfd: default route got flushed after lsa refresh timer.
  ospfd: issue with the "default-information originate always" command

root (2):
  pimd: create a new command "ip pim" configuring pim sm
  bgpd: Creating Loopback Interface Flaps BGPd (#2865)

vishaldhingra (4):
  zebra: vrf aware routmap is missing in Zebra #2802(Part 1 of 4)
  zebra: vrf aware routmap is missing in Zebra #2802(Part 2 of 4)
  zebra: vrf aware routmap is missing in Zebra #2802(Part 3 of 4)
  zebra: vrf aware routmap is missing in Zebra #2802(Part 4 of 4)

vivek (9):
  zebra: Update neighbor state correctly upon move
  bgpd, zebra: EVPN extended mobility support
  zebra: Enhancements to EVPN operational commands
  bgpd, zebra: Fix warnings
  zebra: Fix warnings
  zebra: Remove unused parameter in MAC delete
  zebra: Uninstall remote MACs from kernel appropriately
  zebra: Use boolean for certain VxLAN-EVPN flags
  zebra: Fix neighbor update to BGP

More information about the dev mailing list