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! donald ------------ 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 commands 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 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 check fabricd: add support for completely unnumbered operation isisd: fix warnings by removing union isis_N and going to void * instead 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 <mac> bgpd: make name of default vrf/bgp instance consistent staticd: install static routes in a vrf when next-hop interface comes up 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: Add OSPF_WARN_OPAQUE_REGISTRATION 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 well" Revert "bgpd: Set attributes according route-maps if applied for default-originate" 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 happen *: 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 large-comm-list' 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 options 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 chars 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 global 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 syntax 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 behavior 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; formatting 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@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 versions 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 adjacencies 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 available 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 changes 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 check bgp_l3vpn_to_bgp_vrf: add basic data path checks prior to adjacency check 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 available 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 set bgp_l3vpn_to_bgp_vrf: remote static routes left over from old test versions 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 debug) 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 bug bgp_l3vpn_to_bgp_direct: imports and more debug Allow for different timings on, and number of, import processing Collect more info for debugging 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 l3mdev_accept=1 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 defined bgp_rfapi_basic_sanity: delayed timeouts not supported without VNC attr 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 discovery 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 readability 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 value 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 successful. 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 test 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 details 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 AddressSanitizer (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 supported ldp-topo1: Make the implicit label optional to pass old frr code as well 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 tests 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 messages. 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 discovery 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 0.0.0.0 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" command 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 model ripd: retrofit the 'default-metric' command to the new northbound model ripd: retrofit the 'distance' command to the new northbound model ripd: retrofit the 'distance source' commands to the new northbound model 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 model 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 code 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 plugin) 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 model 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 model 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 model ripngd: retrofit the 'redistribute' commands to the new northbound model ripngd: retrofit the 'route' command to the new northbound model ripngd: retrofit the 'aggregate-address' command to the new northbound model ripngd: retrofit the 'timer basic' command to the new northbound model ripngd: retrofit the 'split-horizon' command to the new northbound model 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" command 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_* messages 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 messages zebra: send link parameters to zclients once they request interface info 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 mode 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 #2980 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