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

Jia Chen jchen1 at paloaltonetworks.com
Fri Mar 1 16:24:08 EST 2019

Great job, thank you! We all can benefit from lots of the new changes/enhancements. 


On 3/1/19, 5:21 AM, "dev on behalf of Donald Sharp" <dev-bounces at lists.frrouting.org on behalf of sharpd at cumulusnetworks.com> wrote:

    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
      watchfrr: WATCHFRR_[ERR|WARN] -> EC_WATCHFRR
      zebra: ZEBRA_[ERR|WARN] -> EC_ZEBRA
      *: LIB_[ERR|WARN] -> EC_LIB
      *: 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
    dev mailing list
    dev at lists.frrouting.org

More information about the dev mailing list