# changelog

author: Martin Winter <mwinter@opensourcerouting.org> - 7.4
changelog:
  - BGPd
  -    Use sequence numbers for community lists
  -    Fixes to nexthop groups
  -    Add feature to limit outgoing number of routes
  -    Per Neighbor Graceful Restart
  -    Multiple Graceful Restart fixes
  -    Support sub-Type-4 and sub-Type-5 for the VPNv4 SRv6 backend
  -    rfc7606 support: treat certain malformed routes as withdraw
  -    allow origin override for route aggregates
  -    rfc6608 support: Subcodes for BGP Finite State Machine Error
  -    rfc7607 support: Codification of AS 0 Processing
  -    rfc6286 support: Autonomous-System-Wide Unique BGP Identifier for BGP-4
  -    Unequal cost multipath (a.ka. weighted ECMP) with BGP link-bandwidth
  -    Enable rfc8212 by default except datacenter profile
  - staticd
  -    Add debug support
  - vtysh
  -    Add copy command to copy config from file into running config
  - LDPd
  -    adding support for LDP ordered label distribution control
  - ISISd
  -    IS-IS Segment Routing support
  - SHARPd
  -    add initial support to add/remove lsps
  - Zebra
  -    fix broadcast address in IPv4 networks with /31 mask
  -    Add Graceful Restart support for Protocol Daemon restarts
  - lib
  -    migrate route-maps to use northbound interface
  - plus countless bug fixes and other improvements


author: Donald Sharp <sharpd@nvidia.com> - 7.5
changelog:
  - BFD
  -   Profile support
  -   Minimum ttl support
  - BGP
  -   rpki VRF support
  -   GR fixes
  -   Add wide option to display of routes
  -   Add `maximum-prefix <num> force`
  -   Add `bestpath-routes` to neighbor command
  -   Add `bgp shutdown message MSG...` command
  -   Add v6 Flowspec support
  -   Add `neighbor <neigh> shutdown rtt` command
  -   Allow update-delay to be applied globaly
  - EVPN
  -   Beginning of MultiHoming Support
  - ISIS
  -   Segment Routing Support
  -   VRF Support
  -   Guard against adj timer display overflow
  -   Add support for Anycast-SIDs
  -   Add support for Topology Independent LFA (TI-LFA)
  -   Add `lsp-gen-interval 2` to isis configuration
  - OSPF
  -   Segment Routing support for ECMP
  -   Various LSA fixes
  -   Prevent crash if transferring config amongst instances
  - PBR
  -   Adding json support to commands
  -   DSCP/ECN based PBR Matching
  - PIM
  -   Add more json support to commands
  -   Fix missing mesh-group commands
  -   MSDP SA forwarding
  -   Clear (s,g,rpt) ifchannel on (*, G) prune received
  -   Fix igmp querier election and IP address mapping
  -   Crash fix when RP is removed
  - STATIC
  -   Northbound Support
  - YANG
  -   Filter and route-map Support
  -   OSPF model definition
  -   BGP model definition
  - VTYSH
  -   Speed up output across daemons
  -   Fix build-time errors for some --enable flags
  -   Speed up output of configuration across daemons
  - ZEBRA
  -   nexthop group support for FPM
  -   northbound support for rib model
  -   Backup nexthop support
  -   netlink batching support
  -   Allow upper level protocols to request ARP
  -   Add json output for zebra ES, ES-EVI and access vlan dumps
  -
  - Upgrade to using libyang1.0.184
  -
  - RPM
  -   Moved RPKI to subpackage
  -   Added SNMP subpackage
  -
  - As always there are too many bugfixes to list individually.  This release
  - compromises just over 1k of commits by the community, with contributors from
  - 70 people.


author: Martin Winter <mwinter@opensourcerouting.org> - 7.5.1
changelog:
  - BABEL:
  -    Fix connected route leak on change
  - BFD:
  -    Session lookup was sometimes wrong
  -    Memory leak and handling cleanups
  -    In some situations handle vrf appropriately when receiving packets
  - BGP:
  -    Peer Group Inheritance Fixes
  -    Dissallow attempt to peer peers reachable via blackholes
  -    Send BMP down message when reachability fails
  -    Cleanup handling of aggregator data when the AGG AS is 0
  -    Handle `neighbor <peer-group allowas-in` config changes properly
  -    Properly parse community and lcommunity values in some circumstances
  -    Allow peer-groups to configure `ttl-security hops`
  -    Prevent v6 routes with v4 nexthops from being installed
  -    Allow `default-originate` to be cleared from a peer group
  -    Fix evpn route-map vni filter at origin
  -    local routes were using non-default distance
  -    Properly track if the nexthop was updated in some circumstances
  -    Cleanup `show running` when running bgp with `-e X` values
  -    Various Memory leaks in show commands
  -    Properly withdraw exported routes when deleting a VRF
  -    Avoid resetting ebgp-multihop if peer setting is the same as peer-group
  -    Properly encode flowspec rules to zebra in some rare circumstances
  -    Generate statistics for routes in bgp when we have exactly 1 route
  -    Properly apply route-map for the default-originate command
  - EIGRP:
  -    Properly set MTU for eigrp packets sent
  -    Various memory leaks and using uninited data fixes
  - ISIS:
  -    When last area address is removed, resign if we were the DR
  -    Various memory leaks and using uninited data fixes
  - LDP:
  -    Various memory leaks and using uninited data fixes
  - NHRP:
  -    Use onlink routes when prefix == nh
  -    Shortcut routes are installed with proper nexthop
  - OSPF:
  -    Prevent duplicate packet read in multiple vrf situation
  -    Fix area removal at interface level
  -    Restore Point to MultiPoint interface types
  -    Correctly handle MTU change on startup
  -    Multi Instance initialization sometimes was not successful
  -    NSSA translate-always was not working properly
  - OSPFv3:
  -    Don't send hellos on loopback interfaces
  -    Handle ECMP better when a sub-path is removed
  -    Memory leak and handling fixes
  -    Fix Link LSA not updating when router priority is modified
  -    Some output from show commands was wrong
  -    Intra area remote connected prefixes sometimes not installed
  - PBR:
  -    Various memory leaks and using uninited data fixes
  - PIM:
  -    SGRpt prune received during prune didn't override holdtime
  -    Various memory leaks and using uninited data fixes
  - STATIC:
  -    Fix VRF and usage on startup in some instances
  -    Tableid was being mishandled in some cases
  - VTYSH:
  -    Disable bracketed paste in readline.
  - WATCHFRR:
  -    Various memory leaks and using uninited data fixes
  - ZEBRA:
  -    Always install blackhole routes using kernel routes instead of nexthops
  -    Various memory leaks and using uninited data fixes
  -    Dissallow resolution to duplicate nexthops that created infinite nexthops
  -    Apply the route-map delay-timer globally
  -    Some routes were stuck in Queued state when using the FPM
  -    Better handle vrf creation when using namespaces
  -    Set NUD_NOARP on sticky mac entries in addtion to NTF_STICKY
  -    Allow `set src X` to work on startup
  - FRR Library:
  -    Fix a variety of memory leaks
  -    Fix VRF Creation in some instances
  -    RPKI context editing was not properly handled in reload situations
  -    routemap code was not properly handling modification of CLI in some instances
  - SNAPCRAFT:
  -    Update to using rtrlib 0.7.0
  -    Fix passthrough path for Libyang 1.x
  - ALPINE:
  -    Remove old docker deps


author: Martin Winter <mwinter@opensourcerouting.org> - 8.0
changelog:
  - Major changes
  -    New daemon pathd for segment routing
  -    EVPN Multihoming is now fully supported
  -    OSPFv3 now supports VRFs
  -    TI-LFA has been implemented in IS-IS and OSPF
  -    Ability for Zebra to dump netlink messages in a human-friendly format
  -    LDP gained SNMP support
  -    libyang minimun version is now 2.0
  - BABEL:
  -    Add `distribute-list` commands
  -    Fix memory leak in connected route handling
  - BGP:
  -    Add support for use of aliases with communities
  -    Add support of tcp-mss for neighbors
  -    Add support for EVPN Multihoming
  -    Add ability to show BGP routes from a particular table version
  -    Add support for for RFC 8050 (MRT add-path)
  -    Add SNMP support for MPLS VPN
  -    Add `show bgp summary wide` command to show more detailed output
       on wide terminals
  -    Add ability for peer-groups to have `ttl-security hops` configured
  -    Add support for conditional Advertisement
  -    Add support for RFC 4271 Delay Open Timer
  -    Add a knob to not advertise until route is installed in fib
  -    Add BGP-wide configuration for graceful shutdown
  -    Add support for RFC 8654 extended messages
  -    Improve RPKI reporting as well as new show commands
  -    Improve handling of VRF route leaking
  -    Improve scaling behavior for dynamic neighbors
  -    Improve LL nexthop tracking to be interface based
  -    Improve route reachability handling with respect to blackhole routes
  -    Improve SNMP traps to RFC 4273 notifications
  -    Improve EVPN routes to use L3 NHG's where applicable
  -    Improvements to EVPN
  -    Improvements to update behavior
  -    Fix various issues with connection resolution
  -    Fix statistics commands in some situations
  -    Fix non-determistic locally-originated paths in bestpath selection
  -    Continue working on transitioning to YANG/Northbound configuration
  -    Various bug fixes and performance improvements
  - EIGRP:
  -    Add `distribute-list` commands
  -    Ensure received AS number is the same as ours in all situations
  -    Properly validate TLV lengths in some situations
  - IS-IS:
  -    Add ldb-sync functionality
  -    Add TI-LFA functionality
  -    Add support for Anycast-SID's
  -    Add support for classic LFA RFC 5286
  -    Add `show isis fast-reroute summary` command
  -    Add support for Remote LFA RFC 7490
  -    Fix Attach-bit processing in some scenarios
  -    Cleanup BFD integration
  -    Various bug fixes and performance improvements
  - LDP:
  -    Add SNMP support
  -    Support for LDP IGP Synchronization
  -    Support for RLFA clients
  -    Various bug fixes and performance improvements
  - LIBFRR:
  -    Various bugfixes and performance improvements
  - NHRP:
  -    Add `nhrp multicast-nflog-group (1-65535)` command
  -    Add configuration options for vici socket path
  -    Add support for forwarding multicast packets
  -    Fix handling of MTU
  -    Fix handling of NAT extension
  -    Retry IPsec under some conditions
  - OSPFv2:
  -    Add OSPF GR helper support
  -    Add JSON support for various commands
  -    Add `summary-address A.B.C.D/M ...` commands
  -    Add `area X nssa suppress-fa` command
  -    Add support for TI-LFA
  -    Add support for BFD profiles
  -    Add support for Traffic Engineering database
  -    Add support for usage of DMPVPN with OSPF
  -    Add `clear ip ospf neighbor` commands
  -    Add YANG support for route-maps
  -    Improvements to SNMP
  -    Fixes for type 5 and type 7 LSA handling
  -    Various bug fixes and performance improvements
  - OSPFv3:
  -    Add support for VRFs
  -    Add JSON support to a bunch of commands
  -    Add ability to control maximum paths for routes
  -    Add `show ipv6 ospf6 vrfs` command
  -    Add support for BFD profiles
  -    Fix to not send hellos on loopbacks
  -    Cleanup area handling around interfaces
  -    YANG support for route-maps
  -    Various bug fixes and performance improvements
  - OSPFCLIENT:
  -    Cleanup trust of user input
  - PATHd:
  -    Add support of SR-TE policy management daemon
  -    Add optional support for PCEP to pathd
  -    Integrate PCEP-LIB into FRR
  - PBR:
  -    Add `set installable` nhg command
  -    Improve interface up/down event handling
  - PIM:
  -    Add YANG integration
  -    Add JSON support to various commands
  -    Add BFD profile support
  -    Fixes to IGMP conformance
  -    Fixes to behavior surrounding Prune and Prune-pending
  -    Various bug fixes and performance improvements
  - RIPNG:
  -    Fix interface wakeup after shutdown
  - SHARP:
  -    Add ability to use Nexthop Groups
  -    Add v4 redistribute watching
  -    Add TED support
  -    Various bug fixes
  - STATIC:
  -    Fix nexthop handling in some situations
  -    Forbid blackhole and non-blackhole nexthops in a single route
  - VRRP:
  -    printf formatting cleanups
  - VTYSH:
  -    Add a `show history` command
  -    Add `show memory <daemon>` support
  -    Start deprecation cycle for `address-family evpn`
  -    Display version with --help
  -    Various bug fixes
  - WATCHFRR:
  -    Fix some crashes
  - ZEBRA:
  -    Add JSON support to various commands
  -    Add Human readable netlink dumps
  -    Add L2 NHG support
  -    Add support for LSPs to FPM dataplane
  -    Add ability for other protocol daemons to install nexthop groups into the kernel
  -    Add YANG support for route-maps
  -    Improve scale performance when handling a large number of VRF's
  -    Improve network namespace handling
  -    Improve asic-offload handling
  -    Improve FreeBSD interface and route handling
  -    Improve handling of neighbors in kernel dataplane plugin
  -    Improve label manager
  -    Improve route-map processing
  -    Improve debug-ability of routes and VRFs
  -    Improve FPM dataplane plugin
  -    Improve handling of reachability / nexthop tracking on shutdown interfaces
  -    Improve EVPN support
  -    Fix startup handling of `set src X`
  -    Various bug fixes and performance improvements


author: Jafar Al-Gharaibeh <jafar@atcorp.com> - 8.1
changelog:
  -    FRR 8.1 brings a long list of enhancements and fixes with 1200 commits from
  -    75 developers. Thanks to all contributers.
  - New Features:
  -    Lua hooks are now feature complete, with one hook available for use (http://docs.frrouting.org/en/latest/scripting.html)
  -    Improvements to SRv6 (Segment Routing over IPv6) (http://docs.frrouting.org/en/latest/zebra.html#segment-routing-ipv6)
  -    Improvements to Prefix-SID (Type 5)
  -    EVPN route type-5 gateway IP overlay Index (http://docs.frrouting.org/en/latest/bgp.html#evpn-overlay-index-gateway-ip)
  -    OSPFv3 NSSA and NSSA totally stub areas (http://docs.frrouting.org/en/latest/ospf6d.html#ospf6-area)
  -    OSPFv3 ASBR summarization (http://docs.frrouting.org/en/latest/ospf6d.html#asbr-summarisation-support-in-ospfv3)
  -    OSPFv3 Graceful Restart (http://docs.frrouting.org/en/latest/ospf6d.html#graceful-restart)
  -    OSPFv2 Graceful Restart (restarting mode added, helper was already implemented) (http://docs.frrouting.org/en/latest/ospfd.html#graceful-restart)
  - Behavior Changes
  -    Every node in running config now has an explicit "exit" tag
  -    Link bandwidth in BGP is now correctly encoded according to IEEE 754. To stay with old incorrect encoding use:
  -    `neighbor PEER disable-link-bw-encoding-ieee`
  - Changelog
  - alpine:
      Fix path for daemons file install
  - BGP:
  -    Add "json" option to "show bgp as-path-access-list"
  -    Add `disable-addpath-rx` knob
  -    Add an ability to set extcommunity to none in route-maps
  -    Add counter of displayed show bgp summary when filtering
  -    Add knob to config cond-adv scanner period
  -    Add route-map `match alias` command
  -    Add rpki source address configuration
  -    Add show bgp summary filter by neighbor or as
  -    Add terse display option on show bgp summary
  -    Allow for auto-completion of community alias's created
  -    Bgp knob to teardown session immediately when peer is unreachable
  -    Expand 'bgp default <afi>-<safi>' cmds
  -    Extend evpn next hop tracking to type-1 and type-4 routes
  -    Fix "no router bgp x vrf default"
  -    Flowspec redirect vrf uses vrf table instead of allocated table id
  -    Handle quick flaps of an evpn prefix properly
  -    Initial batch of evpn lttng tracepoints
  -    Limit processing to what is needed in rpki validation
  -    Modify vrf/view display in show bgp summary
  -    Set 4096 instead of 65535 as new max packet size for a new peer
  -    Set extended msg size only if we advertised and received capability
  -    Show bgp community alias in json community list output
  -    Show bgp prefixes by community alias
  -    Show max packet size per update-group
  -    Split soft reconfigure table task into several jobs to not block vtysh
  -    Store distance received from a redistribute statement
  -    Update route-type-1 legend to match output
  - ISIS:
  -    Fix sending of lsp with null seqno
  - lib:
  -    Add "json" option to "show ip[v6] access-list"
  -    Add "json" option to "show ip[v6] prefix-list"
  -    Add "json" option to "show route-map"
  -    Prevent grpc assert on missing yang node
  - NHRP:
  -    Clear cache when shortcuts are cleared
  -    Fix corrupt address being shown for shortcuts with no cache entry
  -    Set prefix correctly in resolution request
  - OSPF6:
  -    Add debug commands for lsa all and route all
  -    Add warning log for late hello packets
  -    Add write-multiplier configuration
  -    Don't update router-id if at least one adjacency is full
  -    Extend the "redistribute" command with more options
  -    Fix issue when displaying the redistribute command
  -    Fix logging of border router routes
  -    Json output for database dump show command
  -    Link state id in lsa database json output
  -    Send lsa update immediately when ospf instance is deleted
  - OSPF:
  -    Fix crash when creating vlink in unknown vrf
  -    Gr conformance fix for hello packet dr election
  -    Print extra lsa information in some log messages
  -    Rfc conformance test case 25.23 issue fix
  -    Show ip ospf route json does not shown metric and tag
  -    Summary lsa is not originated when process is reset
  - pathd:
  -    Handle pcinitiated configuration, main thread
  -    Handle pcinitiated messages, thread controller
  -    Handle srp_id correctly
  -    If pce ret no-path to pcreq don't retry pcreq nor delegate
  - PBR:
  -    Add `match ip-protocol [tcp|udp]`
  -    Add ability to set/unset src and dest ports
  -    Nhg "add" edge case for last in table range
  -    Start inclusion of src and dst ports for pbrd
  - PIM:
  -    Add tos/ttl check for igmp conformance
  -    Allow join prune intervals to be as small as 5 seconds
  -    Allow msdp group name 'default'
  -    Fix register suppress timer code
  -    Fix uaf/heap corruption in bsm code
  -    Fix command "no ip msdp mesh-group member"
  -    Igmp groups are not getting timeout
  -    Igmp memberships are not querier specific
  -    Igmp sockets need to be iface-bound too
  -    Prevent uninited usage of nexthop
  -    Support msdp global timers configuration
  - vtysh
  -    Add cli timestamp '-t' flag
  -    Add error code if daemon is not running
  -    Fix searching commands in parent nodes
  - yang:
  -    Add msdp timer configuration
  -    Fix bgp multicast prefix type
  -    Mark a couple of prefix-list/access-list leafs as mandatory
  -    Move multicast prefix type definition
  -    Replace an empty pattern with a zero-length restriction
  -    Rework pim msdp mesh group
  -    Simplify msdp peer handling
  - zebra :
  -    Add "json" option to "show interface"
  -    Various improvment to dataplane interface
  -    Add message counts for `show zebra client`
  -    Add nhg id to show ip route json
  -    Add show command for ra interface lists
  -    Fix ipv4 routes with ipv6 link local next hops install in fpm
  -    Handle bridge mac address update in evpn contexts
  -    Move individual lines to table in `show zebra client` command
  -    Refresh vxlan evpn contexts, when bridge interface goes up
  -    Update zl3vni when bridge link refreshed in other namespaces


author: Jafar Al-Gharaibeh <jafar@atcorp.com> - 8.2
changelog:
  - The FRRouting community would like to announce FRR Release 8.2.
  - This release consists of just over 800 commits from 62 authors.
  - Selected features and bug fixes are listed below.
  - babeld:
  -    Fix the checks for truncated packets
  - bfdd:
  -    Correct one spelling error of comment
  -    Fix detection timeout update
  -    Fix possibly wrong counter of control packets
  - bgpd:
  -    Add "json" option to a few more show commands
  -    Add 'show bgp <afi> <safi> json detail' header data
  -    Add a 6 hour warning to missing policy
  -    Add an ability to match ipv6 next-hop by prefix-list
  -    Add autocomplete for access-list under bmp node
  -    Add autocomplete for as-path filters
  -    Add autocomplete for set/match community/large/ext lists
  -    Add long-lived graceful restart capability
  -    Add peer-groups to neighbor autocomplete
  -    Adjust symbolic names for cease notifications according to rfc4486
  -    Deprecate dpa, advertiser and rcid_path path attributes
  -    Extended bgp administrative shutdown communication
  -    Fix crash when using "show bgp vrf all"
  -    Fix inconsistency of match ip/ipv6 next-hop commands
  -    Fix missing name of default vrf
  -    Handle TCP connection errors with connection callbacks for RPKI
  -    Implement llgr helper mode
  -    Implement rfc9072
  -    Support redirect import more than one route-target ipv6
  - docker:
  -    Update alpine build enable set own version
  - isisd:
  -    Add link state traffic engineering support
  -    Fix router capability tlv parsing issues
  -    Fix running-config for fast-reroute
  -    Make isis work with default vrf name different than 'default'
  - ospf6d
  -    Add missing vrf parameter to "clear ipv6 ospf6 interface"
  -    Add prompt for commands with non-exist vrf
  -    Add support for nssa type-7 address ranges
  -    Add the ability of specifying router-id/area-id in no debug ospf6
  -    Do not originate type-4 lsa when nssa
  -    Do not send type-5 into stub area
  -    Fix ecmp inter-area route nexthop update
  -    Fix memory leak for `show ipv6 ospf6 zebra json`
  - ospfd
  -    Fix wrong comparison of routemap name
  -    Fix crash on "ospf send-extra-data zebra"
  -    Fix incorrect detection of topology changes in helper mode
  -    Fix loss of mixed form in "range" command
  -    Fix no-form of "graceful-restart" command
  -    Fix summary-address deletion
  -    Fix wrong parsing of te subtlv
  - pbrd
  -    Add vlan actions to vty
  -    Pbr route maps get addr family of nhgs
  -    Protect from a possible null dereference
  - pimd
  -    Do not allow 224.0.0.0/24 range in igmp join
  -    Fix igmp user config
  -    Fix msdp mesh grp with wildcard member addr
  -    Fix stale forwarding entries left around after join goes away
  -    Fix FRR drops IGMP packets for TOS value other than 0XC0
  - redhat
  -    Check if frr.conf already exists
  -    Logrotate file has typo for staticd
  - ripd
  -    Fix packet send for non primary addresses
  - vtysh
  -    Add missing rpki node when showing config
  -    Improve startup time by ca. ×6
  -    remove `address-family evpn`
  - watchfrr
  -    Allow an integrated config to work within a namespace
  - zebra
  -    Add optional nhg id output to `show ip ro`
  -    Add resolver flag for nexthop in json
  -    Add support for json output in srv6 locator detail command
  -    Don't lose next hop weights while exporting via fpm
  -    Fix buffer overflow
  -    Fix netns deletion
  -    Fix route-map application when when using vrfs


author: Jafar Al-Gharaibeh <jafar@atcorp.com> - 8.3
changelog:
  - General:
  -    Add camelcase json keys in addition to pascalcase (Wrong JSON keys will be depracated)
  -    Fix corruption when route-map delete/add sequence happens (fast re-add)
  -    Reworked gRPC
  -    RFC5424 & journald extended syslog target
  - bfdd:
  -    Fix broken FSM in active/passive modes
  - bgpd:
  -    Notification Message Support for BGP Graceful Restart (rfc8538)
  -    BGP Cease Notification Subcode For BFD
  -    Send Hold Timer for BGP (own implementation without an additional knob)
  -    New `set as-path replace` command for BGP route-map
  -    New `match peer` command for BGP route-map
  -    New `ead-es-frag evi-limit` command for EVPN
  -    New `match evpn route-type` command for EVPN route-map to match Type-1/Type-4
  -    JSON outputs for all RPKI show commands
  -    Set attributes via route-map for BGP conditional advertisements
  -    Pass non-transitive extended communities between RS and RS-clients
  -    Send MED attribute when aggregate prefix is created
  -    Fix aspath memory leak in aggr_suppress_map_test
  -    Fix crash for `show ip bgp vrf all all neighbors 192.168.0.1 ...`
  -    Fix crash for `show ip bgp vrf all all`
  -    Fix memory leak for BGP Community Alias in CLI
  -    Fix memory leak when setting BGP community at egress
  -    Fix memory leak when setting BGP large-community at egress
  -    Fix SR color nexthop processing in BGP
  -    Fix setting local-preference in route-map using +/-
  -    Fix crash using Lua and route-map to set attributes via scripts
  -    Fix crash when issuing various forms of `bgp no-rib`
  - isisd:
  -    JSON output for show summary command
  -    Fix crash when MTU mismatch occurs
  -    Fix crash with xfrm interface type
  -    Fix infinite loop when parsing LSPs
  -    Fix router capability TLV parsing issues
  - vtysh:
  -    New `show thread timers` command
  - ospfd6:
  -    Add LSA statistics to LSA database
  -    Add LSA stats to `show area json` output
  -    Show time left in hello timer for `show ipv6 ospf6 int`
  -    Restart SPF when distance is updated
  -    Support keychain for ospf6 authentication
  - ospfd:
  -    New `show ip ospf reachable-routers` command
  -    Restart SPF when distance is updated
  -    Use consistent JSON keys for `show ip ospf neighbor` and detail version
  - pimd:
  -    Add additional IGMP stats
  -    Add IGMP join sent/failed statistics
  -    Add IGMP total groups and total source groups to statistics
  -    New `debug igmp trace detail` command
  -    New `ip pim passive` command
  -    JSON support added for command `show ip igmp sources`
  -    Allow the LPM match work properly with prefix lists and normal RPs
  -    Do not allow 224.0.0.0/24 range in IGMP join
  -    Fix IGMP packet/query check
  -    Handle PIM join/prune receive flow for IPv6
  -    Handle receive of (*,G) register stop with source address as 0
  -    Handle of exclude mode IGMPv3 report messages for SSM-aware group
  -    Handle of IGMPv2 report message for SSM-aware group range
  -    Send immediate join with possible sg rpt prune bit set
  -    Show group-type under `show ip pim rp-info`
  -    Show total received messages IGMP stats
  - staticd:
  -    Capture zebra advertised ECMP limit
  -    Do not register existing nexthop to Zebra
  -    Reject route config with too many nexthops
  -    Track nexthops per-safi
  - watchfrr:
  -    Add some more information to `show watchfrr`
  -    Send operational state to systemd
  - zebra:
  -    Add ability to know when FRR is not ASIC offloaded
  -    Add command for setting protodown bit
  -    Add dplane type for netconf data
  -    Add ECMP supported to `show zebra`
  -    Add EVPN status to `show zebra`
  -    Add if v4/v6 forwarding is turned on/off to `show zebra`
  -    Add initial zebra tracepoint support
  -    Add kernel nexthop group support to `show zebra`
  -    Add knowledge about ra and rfc 5549 to `show zebra`
  -    Add mpls status to `show zebra`
  -    Add netlink debug dump for netconf messages
  -    Add netlink debugs for ip rules
  -    Add OS and version to `show zebra`
  -    Add support for end.dt4
  -    Add to `show zebra` the type of vrf devices being used
  -    Allow *BSD to specify a receive buffer size
  -    Allow multiple connected routes to be choosen for kernel routes
  -    Allow system routes to recurse through themselves
  -    Do not send RAs w/o link-local v6 or on bridge-ports
  -    Evpn disable remove l2vni from l3vni list
  -    Evpn-mh bonds protodown check for set
  -    Evpn-mh use protodown update reason api
  -    Fix cleanup of meta queues on vrf disable
  -    Fix crash in evpn neigh cleanup all
  -    Fix missing delete vtep during vni transition
  -    Fix missing vrf change of l2vni on vxlan interface
  -    Fix rtadv startup when config read in is before interface up
  -    Fix use after deletion event in FreeBSD
  -    Fix v6 route replace failure turned into success
  -    Get zebra graceful restart working when restarting on *BSD
  -    Handle FreeBSD routing socket enobufs
  -    Handle protodown netlink for vxlan device
  -    Include mpls enabled status in interface output
  -    Include old reason in evpn-mh bond update
  -    Keep the interface flags safe on multiple ioctl calls
  -    Let /32 host route with same ip cross vrf
  -    Make router advertisement warnings show up once every 6 hours
  -    Prevent crash if zebra_route_all is used for a route type
  -    Prevent installation of connected multiple times
  -    Protodown-up event trigger interface up
  -    Register nht nexthops with proper safi
  -    Update advertise-svi-ip macips w/ new mac
  -    When handling unprocessed messages from kernel print usable string
  -    New `show ip nht mrib` command
  -    Handle ENOBUFS errors for FreeBSD


author: Jafar Al-Gharaibeh <jafar@atcorp.com> - 8.4
changelog:
  - New BGP command (neighbor PEER soo) to configure SoO to prevent routing loops and suboptimal routing on dual-homed sites.
  - Command debug bgp allow-martian replaced to bgp allow-martian-nexthop because previously we allowed using martian next-hops when debug is turned on.
  - Implement BGP Prefix Origin Validation State Extended Community rfc8097
  - Implement Route Leak Prevention and Detection Using Roles in UPDATE and OPEN Messages rfc9234
  - BMP L3VPN support
  - PIMv6 support
  - MLD support
  - New command to enable using reserved IPv4 ranges as normal addresses for BGP next-hops, interface addresses, etc.
  - For a full list of bug fixes, please refer to https://frrouting.org/release/


author: Jafar Al-Gharaibeh <jafar@atcorp.com> - 8.5
changelog:
  - Major Highlights:
  -   Add support for per-VRF SRv6 SID
  -   Add BGP labeled-unicast Add-Path functionality
  -   Implementation of SNMP BGP4v2-MIB (IPv6 support) for better network management and monitoring
  -   Add BGP new command neighbor path-attribute discard
  -   Add BGP new command neighbor path-attribute treat-as-withdraw
  -   Implement L3 route-target auto/wildcard configuration
  -   Implement BGP ACCEPT_OWN Community Attribute (rfc7611)
  -   Implement The Accumulated IGP Metric Attribute for BGP (rfc7311)
  -   Implement graceful-shutdown command per neighbor
  -   Add BGP new command to configure TCP keepalives for a peer bgp tcp-keepalive
  -   Traffic control (TC) ZAPI implementation
  -   SRv6 uSID (microSID) implementation
  -   Start deprecating start-shell, ssh, and telnet commands due to security reasons
  -   Add VRRPv3 an ability to disable IPv4 pseudo-header checksum
  -   BFD integration for static routes
  -   Allow protocols to configure BFD sessions with automatic source selection
  -   Allow zero-length opaque LSAs for OSPF (rfc5250)
  -   Add ISIS new command set-overload-bit on-startup
  -   PIMv6 BSM support
  - For a full list of new features and bug fixes, please refer to:
  -   https://frrouting.org/release/


author: Martin Winter <mwinter@opensourcerouting.org> - 9.0
changelog:
  * Wed Jul 26 2023 Jafar Al-Gharaibeh <jafar@atcorp.com> - 9.0
  - Major Highlights:
  -   Introduce `mgmtd` daemon
  -   Add BGP `neighbor path-attribute treat-as-withdraw` command
  -   Add BGP ASN dot notation support (RFC 5396)
  -   Add BGP Software Version capability
  -   Allow BGP peering via 127.0.0.0/8
  -   Deprecate BGP `internet` community - this is the Cisco-specific community, which is never been RFC-defined and confusing
  -   Implement `match source-protocol` for BGP route maps
  -   Implement BGP Node Target extended communities (draft-ietf-idr-node-target-ext-comm)
  -   Implement Flex-Algo for SR-MPLS (RFC 9350)
  -   Add support for IS-IS `advertise-passive-only`
  -   Add IS-IS `affinity-map` support
  -   Add the `graceful-restart hello-delay` OSPFv2/OSPFv3 command
  -   Add the `ipv6 mld join` PIMv6 command
  -   Add `allow-ecmp x` RIP/RIPng Command
  -   Add BFD support for RIP
  - For a full list of new features and bug fixes, please refer to:
  -   https://frrouting.org/release/


author: Jafar Al-Gharaibeh <jafar@atcorp.com> - 9.0
changelog:
  - Major Highlights:
  -   Introduce `mgmtd` daemon
  -   Add BGP `neighbor path-attribute treat-as-withdraw` command
  -   Add BGP ASN dot notation support (RFC 5396)
  -   Add BGP Software Version capability
  -   Allow BGP peering via 127.0.0.0/8
  -   Deprecate BGP `internet` community - this is the Cisco-specific community, which is never been RFC-defined and confusing
  -   Implement `match source-protocol` for BGP route maps
  -   Implement BGP Node Target extended communities (draft-ietf-idr-node-target-ext-comm)
  -   Implement Flex-Algo for SR-MPLS (RFC 9350)
  -   Add support for IS-IS `advertise-passive-only`
  -   Add IS-IS `affinity-map` support
  -   Add the `graceful-restart hello-delay` OSPFv2/OSPFv3 command
  -   Add the `ipv6 mld join` PIMv6 command
  -   Add `allow-ecmp x` RIP/RIPng Command
  -   Add BFD support for RIP
  - For a full list of new features and bug fixes, please refer to:
  -   https://frrouting.org/release/


author: Martin Winter <mwinter@opensourcerouting.org> - 9.0.1
changelog:
  * Fri Sep 01 2023 Jafar Al-Gharaibeh <jafar@atcorp.com> - 9.0.1
  - bgpd
  -    Add peers back to peer hash when peer_xfer_conn fails
  -    Check the length of the rcv software version
  -    Do not explicitly print maxttl value for ebgp-multihop vty output
  -    Do not process nlris if the attribute length is zero
  -    Don't read the first byte of orf header if we are ahead of stream
  -    Evpn code was not properly unlocking rd_dest
  -    Fix `show bgp all rpki notfound`
  -    Make sure we have enough data to read two bytes when validating aigp
  -    Use treat-as-withdraw for tunnel encapsulation attribute
  - zebra
  -    Fix evpn nexthop config order
  - lib
  -    Allow unsetting walltime-warning and cpu-warning
  - ospfd
  -    Prevent use after free( and crash of ospf ) when no router ospf
  - pimd
  -    Prevent crash when receiving register message when the rp() is unknown
  -    When receiving a packet be more careful with length in pim_pim_packet
  - vtysh
  -    Print uniq lines when parsing `no service ...`


author: Jafar Al-Gharaibeh <jafar@atcorp.com> - 9.0.1
changelog:
  - bgpd
  -    Add peers back to peer hash when peer_xfer_conn fails
  -    Check the length of the rcv software version
  -    Do not explicitly print maxttl value for ebgp-multihop vty output
  -    Do not process nlris if the attribute length is zero
  -    Don't read the first byte of orf header if we are ahead of stream
  -    Evpn code was not properly unlocking rd_dest
  -    Fix `show bgp all rpki notfound`
  -    Make sure we have enough data to read two bytes when validating aigp
  -    Use treat-as-withdraw for tunnel encapsulation attribute
  - zebra
  -    Fix evpn nexthop config order
  - lib
  -    Allow unsetting walltime-warning and cpu-warning
  - ospfd
  -    Prevent use after free( and crash of ospf ) when no router ospf
  - pimd
  -    Prevent crash when receiving register message when the rp() is unknown
  -    When receiving a packet be more careful with length in pim_pim_packet
  - vtysh
  -    Print uniq lines when parsing `no service ...`


author: Martin Winter <mwinter@opensourcerouting.org> - 9.0.2
changelog:
  * Fri Dec 01 2023 Donatas Abraitis <donatas@opensourcerouting.org> - 9.0.2
  - bgpd
  -    Fix aggregate-address summary-only suppressed export to EVPN
  -    Allow using attribute number 255 for path attr discard/withdraw cmds
  -    Check mandatory attributes more carefully for the UPDATE message
  -    Do not suppress conditional advertisement updates if triggered
  -    Fix Extended community memory leak
  -    Fix the no set as-path prepend command
  -    Fix heap-use-after-free for bgp_best_selection()
  -    Fix crash in SNMP BGP4V2-MIB bgpv2PeerErrorsTable()
  -    Fix clear bgp ipv6 unicast ... command
  -    Flush attributes only if we don't have to announce a conditional route (avoid use-after-free)
  -    Free memory for SRv6 functions and locator chunks
  -    Handle MP_UNREACH_NLRI malformed packets with session reset
  -    Ignore handling NLRIs if we received the MP_UNREACH_NLRI attribute
  -    Initialise timebuf arrays to zeros for dampening reuse timer
  -    Initialise buffer in bgp_notify_admin_message() before using it
  -    LTTng add EVPN route trace events
  -    Make sure dampening is enabled for the specified AFI/SAFI
  -    Use proper AFI when dumping information for dampening stuff
  -    Treat the AS4-PATH attribute as withdrawn if malformed
  -    Treat PMSI tunnel attribute as withdrawn if malformed
  -    Treat EOR as withdrawn to avoid unwanted handling of malformed attrs
  - eigrpd
  -    Use the correct memory pool on interface deletion
  - mgmtd
  -    Change mgmtd_vty_port to 2623
  -    Fix crash on show mgmtd datastore-contents
  - ospf6d
  -    Fix setting of the forwarding address in as-external LSAs
  -    Set loopback interface cost to 0
  - ospfd
  -    Fixing infinite loop when listing OSPF interfaces
  - pathd
  -    Add no msd command
  -    Add no pcep command
  - pbrd
  -    Fix show pbr map detail json command
  -    Free memory in pbr_map_delete()
  - pim6d
  -    Fix valgrind issues
  - pimd
  -    Fix missing pimreg interface
  - tools
  -    Fix the frr-reload interface description command
  -    Fix the frr-reload route-map description command
  -    Make --quiet actually suppress output
  - vtysh
  -    Fix entering configuration node in file-lock mode
  -    Fix configure terminal argument descriptions
  -    Fix working in file-lock mode
  -    Fix show route map json output
  - zebra
  -    Add encap type when building packet for FPM
  -    Display ptmStatus order in interface JSON
  -    Fix connected route deletion when multiple entry exists
  -    Fix FPM multipath encap addition
  -    Fix link update for veth interfaces
  -    Fix zebra crash when replacing nhe during shutdown
  -    Prevent null pointer dereference


author: Donatas Abraitis <donatas@opensourcerouting.org> - 9.0.2
changelog:
  - bgpd
  -    Fix aggregate-address summary-only suppressed export to EVPN
  -    Allow using attribute number 255 for path attr discard/withdraw cmds
  -    Check mandatory attributes more carefully for the UPDATE message
  -    Do not suppress conditional advertisement updates if triggered
  -    Fix Extended community memory leak
  -    Fix the no set as-path prepend command
  -    Fix heap-use-after-free for bgp_best_selection()
  -    Fix crash in SNMP BGP4V2-MIB bgpv2PeerErrorsTable()
  -    Fix clear bgp ipv6 unicast ... command
  -    Flush attributes only if we don't have to announce a conditional route (avoid use-after-free)
  -    Free memory for SRv6 functions and locator chunks
  -    Handle MP_UNREACH_NLRI malformed packets with session reset
  -    Ignore handling NLRIs if we received the MP_UNREACH_NLRI attribute
  -    Initialise timebuf arrays to zeros for dampening reuse timer
  -    Initialise buffer in bgp_notify_admin_message() before using it
  -    LTTng add EVPN route trace events
  -    Make sure dampening is enabled for the specified AFI/SAFI
  -    Use proper AFI when dumping information for dampening stuff
  -    Treat the AS4-PATH attribute as withdrawn if malformed
  -    Treat PMSI tunnel attribute as withdrawn if malformed
  -    Treat EOR as withdrawn to avoid unwanted handling of malformed attrs
  - eigrpd
  -    Use the correct memory pool on interface deletion
  - mgmtd
  -    Change mgmtd_vty_port to 2623
  -    Fix crash on show mgmtd datastore-contents
  - ospf6d
  -    Fix setting of the forwarding address in as-external LSAs
  -    Set loopback interface cost to 0
  - ospfd
  -    Fixing infinite loop when listing OSPF interfaces
  - pathd
  -    Add no msd command
  -    Add no pcep command
  - pbrd
  -    Fix show pbr map detail json command
  -    Free memory in pbr_map_delete()
  - pim6d
  -    Fix valgrind issues
  - pimd
  -    Fix missing pimreg interface
  - tools
  -    Fix the frr-reload interface description command
  -    Fix the frr-reload route-map description command
  -    Make --quiet actually suppress output
  - vtysh
  -    Fix entering configuration node in file-lock mode
  -    Fix configure terminal argument descriptions
  -    Fix working in file-lock mode
  -    Fix show route map json output
  - zebra
  -    Add encap type when building packet for FPM
  -    Display ptmStatus order in interface JSON
  -    Fix connected route deletion when multiple entry exists
  -    Fix FPM multipath encap addition
  -    Fix link update for veth interfaces
  -    Fix zebra crash when replacing nhe during shutdown
  -    Prevent null pointer dereference


author: Martin Winter <mwinter@opensourcerouting.org> - 9.0.3
changelog:
  * Thu Jun 06 2024 Jafar Al-Gharaibeh <jafar@atcorp.com> - 9.0.3
  - bgpd
  -    "default-originate" shouldn't withdraw non-default routes
  -    Arrange peer notification to after zebra announce
  -    Convert the bgp_advertise_attr->adv to a fifo
  -    Ensure community data is freed in some cases.
  -    Ensure that the correct aspath is free'd
  -    Fix `match peer` when switching between ipv4/ipv6/interface
  -    Fix display when using `missing-as-worst`
  -    Fix error handling when receiving bgp prefix sid attribute
  -    Fix format overflow for graceful-restart debug logs
  -    Fix route-map match probability deconfiguration callback
  -    Fix srv6 memory leak detection
  -    Include unsuppress-map as a valid outgoing policy
  -    Note when receiving but not understanding a route notification
  -    Prevent from one more cve triggering this place
  -    Set correct ttl for the dynamic neighbor peers
  -    Update default-originate route-map actual map structure
  - doc
  -    Add param range for graceful-restart helper supported-grace-time
  - isisd
  -    Fix dislaying lsp id
  -    Fix heap-after-free with prefix sid
  -    Fix ip/ipv6 reachability tlvs
  - lib
  -    Check for not being a blackhole route
  -    Do not convert evpn prefixes into ipv4/ipv6 if not needed
  -    Replace deprecated ares_gethostbyname
  -    Replace deprecated ares_process()
  - nhrpd
  -    Fix nhrp_peer leak
  -    Fix race condition
  - ospf6d
  -    Ospfv3 route change comparision fixed for asbr-only change
  -    Prevent heap-buffer-overflow with unknown type
  - ospfd
  -    Add support for "no router-info [<area|as>] command"
  -    Can not delete "segment-routing node-msd" when sr if off
  -    Correct lsa parser which fulfill the ted
  -    Correct opaque lsa extended parser
  -    Correct sid check size
  -    Fix ospf dead-interval minimal hello-multiplier param range
  -    Fix the bug where ip_ospf_dead-interval_minimal_hello-multiplier did not reset hello timer
  -    Protect call to get_edge() in ospf_te.c
  -    Solved crash in ospf te parsing
  -    Solved crash in ri parsing with ospf te
  - pbrd
  -    Fix map seq installed flag in json
  -    Fix pbr handling for last rule deletion
  - pimd
  -    Fix crash unconfiguring rp keepalive timer
  -    Fix crash when configuring ssmpingd
  -    Fix dr-priority range
  -    Fix null register before aging out reg-stop
  -    Fix order of operations for evaluating join
  -    Re-evaluated s,g oils upon rp changes and for empty sg upstream oils
  -    Fix crash when mixing ssm/any-source joins
  - staticd
  -    Fix changing to source auto in bfd monitor
  - tests
  -    Check for 0.0.0.0/1 in bgp_default_route
  -    Update ospf te topotests
  - tools
  -    Always append "exit" in frr-reload.py
  -    Apply black formatting for tools/frr-reload.py
  -    Fix frr-reload multiple no description cmds
  -    Fix key chain reload removal
  -    Fix ospf area stub summary in frr-reload
  -    Fix pim interface config deletion
  -    Use error log level when failing to execute commands via frr-reload.py
  - topotests
  -    Redispatch tests in bfd_topo3
  -    Test wrong bfd source in bfd_topo3
  - vtysh
  -    Show `ip ospf network ...` even if it's not the same as the interface type
  - zebra
  -    Add missing whitespace when printing route entry status
  -    Deny the routes if ip protocol cli refers to an undefined rmap
  -    Fix crash if macvlan link in another netns
  -    Fix crash on macvlan link down/up
  -    Fix nhg out of sync between zebra and kernel
  -    The dplane_fpm_nl return path leaks memory


author: Jafar Al-Gharaibeh <jafar@atcorp.com> - 9.0.3
changelog:
  - bgpd
  -    "default-originate" shouldn't withdraw non-default routes
  -    Arrange peer notification to after zebra announce
  -    Convert the bgp_advertise_attr->adv to a fifo
  -    Ensure community data is freed in some cases.
  -    Ensure that the correct aspath is free'd
  -    Fix `match peer` when switching between ipv4/ipv6/interface
  -    Fix display when using `missing-as-worst`
  -    Fix error handling when receiving bgp prefix sid attribute
  -    Fix format overflow for graceful-restart debug logs
  -    Fix route-map match probability deconfiguration callback
  -    Fix srv6 memory leak detection
  -    Include unsuppress-map as a valid outgoing policy
  -    Note when receiving but not understanding a route notification
  -    Prevent from one more cve triggering this place
  -    Set correct ttl for the dynamic neighbor peers
  -    Update default-originate route-map actual map structure
  - doc
  -    Add param range for graceful-restart helper supported-grace-time
  - isisd
  -    Fix dislaying lsp id
  -    Fix heap-after-free with prefix sid
  -    Fix ip/ipv6 reachability tlvs
  - lib
  -    Check for not being a blackhole route
  -    Do not convert evpn prefixes into ipv4/ipv6 if not needed
  -    Replace deprecated ares_gethostbyname
  -    Replace deprecated ares_process()
  - nhrpd
  -    Fix nhrp_peer leak
  -    Fix race condition
  - ospf6d
  -    Ospfv3 route change comparision fixed for asbr-only change
  -    Prevent heap-buffer-overflow with unknown type
  - ospfd
  -    Add support for "no router-info [<area|as>] command"
  -    Can not delete "segment-routing node-msd" when sr if off
  -    Correct lsa parser which fulfill the ted
  -    Correct opaque lsa extended parser
  -    Correct sid check size
  -    Fix ospf dead-interval minimal hello-multiplier param range
  -    Fix the bug where ip_ospf_dead-interval_minimal_hello-multiplier did not reset hello timer
  -    Protect call to get_edge() in ospf_te.c
  -    Solved crash in ospf te parsing
  -    Solved crash in ri parsing with ospf te
  - pbrd
  -    Fix map seq installed flag in json
  -    Fix pbr handling for last rule deletion
  - pimd
  -    Fix crash unconfiguring rp keepalive timer
  -    Fix crash when configuring ssmpingd
  -    Fix dr-priority range
  -    Fix null register before aging out reg-stop
  -    Fix order of operations for evaluating join
  -    Re-evaluated s,g oils upon rp changes and for empty sg upstream oils
  -    Fix crash when mixing ssm/any-source joins
  - staticd
  -    Fix changing to source auto in bfd monitor
  - tests
  -    Check for 0.0.0.0/1 in bgp_default_route
  -    Update ospf te topotests
  - tools
  -    Always append "exit" in frr-reload.py
  -    Apply black formatting for tools/frr-reload.py
  -    Fix frr-reload multiple no description cmds
  -    Fix key chain reload removal
  -    Fix ospf area stub summary in frr-reload
  -    Fix pim interface config deletion
  -    Use error log level when failing to execute commands via frr-reload.py
  - topotests
  -    Redispatch tests in bfd_topo3
  -    Test wrong bfd source in bfd_topo3
  - vtysh
  -    Show `ip ospf network ...` even if it's not the same as the interface type
  - zebra
  -    Add missing whitespace when printing route entry status
  -    Deny the routes if ip protocol cli refers to an undefined rmap
  -    Fix crash if macvlan link in another netns
  -    Fix crash on macvlan link down/up
  -    Fix nhg out of sync between zebra and kernel
  -    The dplane_fpm_nl return path leaks memory


author: Martin Winter <mwinter@opensourcerouting.org> - 9.0.4
changelog:
  * Wed Sep 11 2024 Donatas Abraitis <donatas@opensourcerouting.org> - 9.0.4
  - bgpd
  -    Fix crash at no rpki
  -    Fix, do not access peer->notify.data when it is null
  -    Fix for CVE-2024-44070
  -    Ignore RFC8212 for BGP Confederations
  -    Set last reset reason to admin shutdown if it was manually
  - isisd
  -    Fix crash when reading ASLA
  -    Fix update link params after circuit is up
  -    Fix crash when calculating the neighbor spanning tree based on the fragmented LSP
  - ripd
  -    Change the start value of sequence 1 to 0
  - tools
  -    Ignore errors for frr reload stuff
  - ospfd
  -    Fix internal ldp-sync state flags when feature is disabled
  - pimd
  -    Fix crash on non-existent interface
  - zebra
  -    Fix missing static routes
  -    Ensure non-equal id's are not same nhg's
  - ldpd
  -    Fix wrong gtsm count


author: Donatas Abraitis <donatas@opensourcerouting.org> - 9.0.4
changelog:
  - bgpd
  -    Fix crash at no rpki
  -    Fix, do not access peer->notify.data when it is null
  -    Fix for CVE-2024-44070
  -    Ignore RFC8212 for BGP Confederations
  -    Set last reset reason to admin shutdown if it was manually
  - isisd
  -    Fix crash when reading ASLA
  -    Fix update link params after circuit is up
  -    Fix crash when calculating the neighbor spanning tree based on the fragmented LSP
  - ripd
  -    Change the start value of sequence 1 to 0
  - tools
  -    Ignore errors for frr reload stuff
  - ospfd
  -    Fix internal ldp-sync state flags when feature is disabled
  - pimd
  -    Fix crash on non-existent interface
  - zebra
  -    Fix missing static routes
  -    Ensure non-equal id's are not same nhg's
  - ldpd
  -    Fix wrong gtsm count


author: Martin Winter <mwinter@opensourcerouting.org> - 9.0.5
changelog:
  * Mon Dec 23 2024 Donatas Abraitis <donatas@opensourcerouting.org> - 9.0.5
  - bgpd
  -   Allow value 0 in aigp-metric setting
  -   Clear all paths including addpath once GR expires
  -   Compare aigp after local route check in bgp_path_info_cmp()
  -   EVPN fix per rd specific type-2 json output
  -   Fix bgp core with a possible Intf delete
  -   Fix blank line in running-config with bmp listener cmd
  -   Fix crash when polling bgp4v2PathAttrTable
  -   Fix display of local label in show bgp
  -   Fix for match source-protocol in route-map for redistribute cmd
  -   Fix memory leak when creating BMP connection with a source interface
  -   Fix route selection with AIGP
  -   Fix unconfigure asdot neighbor
  -   Include structure when installing End.DT4/6 SID
  -   Include structure when installing End.DT46 SID
  -   Include structure when removing End.DT4/6 SID
  -   Include structure when removing End.DT46 SID
  -   Move some non BGP-specific route-map functions to lib
  -   Set LLGR stale routes for all the paths including addpath
  -   Treat numbered community-list only if it's in a range 1-500
  -   Validate both nexthop information (NEXTHOP and NLRI)
  - lib
  -   Include SID structure in seg6local nexthop
  -   Take ge/le into consideration when checking the prefix with the prefix-list
  - nhrpd
  -   Fixes duplicate auth extension
  - ospfd
  -   Fix heap corruption vulnerability when parsing SR-Algorithm TLV
  -   Fix missing '[no]ip ospf graceful-restart hello-delay <N>' commands
  - pimd
  -   Allow resolving bsr via directly connected secondary address
  -   Fix access-list memory leak in pimd
  - vrrpd
  -   Iterate over all ancillary messages
  - zebra
  -   Add missing proto translations
  -   Correctly report metrics
  -   Fix crash during reconnect
  -   Fix snmp walk of zebra rib
  -   Let's use memset instead of walking bytes and setting to 0
  -   Separate zebra ZAPI server open and accept
  -   Unlock node only after operation in zebra_free_rnh()


author: Jafar Al-Gharaibeh <jafar@atcorp.com> - 9.0
changelog:
  - Major highlights:
  -   Centralized Management Daemon (mgmtd)
  -   Switched to libyang minimum version 2.1.80
  -   Memory footprint for BGP reduced drastically
  -   Add BGP `neighbor path-attribute treat-as-withdraw` command
  -   Add BGP ASN dot notation support (RFC 5396)
  -   Add BGP Software Version capability (draft-abraitis-bgp-version-capability)
  -   Allow BGP peering via 127.0.0.0/8
  -   Deprecate BGP internet community - this is the Cisco-specific community, which is never been RFC-defined and confusing
  -   Implement `match source-protocol` for BGP route maps
  -   Implement BGP Node Target extended communities (draft-ietf-idr-node-target-ext-comm)
  -   Implement Flex-Algo for SR-MPLS (RFC 9350)
  -   Add support for IS-IS advertise-passive-only
  -   Add IS-IS affinity-map support
  -   Add the graceful-restart hello-delay OSPFv2/OSPFv3 command
  -   Add the `ipv6 mld join` PIMv6 command
  -   Add `allow-ecmp x` RIP/RIPng command
  -   Add BFD support for RIP


author: Donatas Abraitis <donatas@opensourcerouting.org> - 9.1
changelog:
  * Thu Oct 09 2023 Donatas Abraitis <donatas@opensourcerouting.org> - 9.1
  - Major highlights:
  -   OSPFv2 HMAC-SHA Cryptographic Authentication
  -   BGP MAC-VRF Site-Of-Origin support
  -   BGP Dynamic capability support
  -   IS-IS SRv6 uSID support (RFC 9352)
  -   Change next-hop resolution via the default route for a traditional profile
  -   Add support for VLAN, ECN, DSCP mangling/filtering
  -   Zebra support for route replace semantics in FPM
  -   New command for BGP `neighbor x addpath-tx-best-selected`
  -   New command for BGP `mpls bgp l3vpn-multi-domain-switching`
  -   A couple more new BGP route-map commands for as-path, communities manipulation


author: Donatas Abraitis <donatas@opensourcerouting.org> - 9.1
changelog:
  - Major highlights:
  -   OSPFv2 HMAC-SHA Cryptographic Authentication
  -   BGP MAC-VRF Site-Of-Origin support
  -   BGP Dynamic capability support
  -   IS-IS SRv6 uSID support (RFC 9352)
  -   Change next-hop resolution via the default route for a traditional profile
  -   Add support for VLAN, ECN, DSCP mangling/filtering
  -   Zebra support for route replace semantics in FPM
  -   New command for BGP `neighbor x addpath-tx-best-selected`
  -   New command for BGP `mpls bgp l3vpn-multi-domain-switching`
  -   A couple more new BGP route-map commands for as-path, communities manipulation


author: Jafar Al-Gharaibeh <jafar@atcorp.com> - 9.1.1
changelog:
  * Thu Jun 06 2024 Jafar Al-Gharaibeh <jafar@atcorp.com> - 9.1.1
  - bgpd
  -    "default-originate" shouldn't withdraw non-default routes
  -    Aggr summary-only suppressed export to evpn
  -    Allow using optional table id for negative `no set table x` command
  -    Arrange peer notification to after zebra announce
  -    Check bgp evpn instance presence in soo
  -    Convert the bgp_advertise_attr->adv to a fifo
  -    Do not show tcp mss if the socket is broken
  -    Ensure bgp does not stop monitoring nexthops
  -    Ensure community data is freed in some cases.
  -    Ensure that the correct aspath is free'd
  -    Fix `match peer` when switching between ipv4/ipv6/interface
  -    Fix `no set as-path prepend asnum...`
  -    Fix bgp_best_selection heap-use-after-free
  -    Fix crash when deleting the srv6 locator
  -    Fix display when using `missing-as-worst`
  -    Fix dynamic peer graceful restart race condition
  -    Fix ecommunity_fill_pbr_action heap-buffer-overflow
  -    Fix error handling when receiving bgp prefix sid attribute
  -    Fix errors handling for mp/gr capabilities as dynamic capability
  -    Fix format overflow for graceful-restart debug logs
  -    Fix logging message when receiving a software version capability
  -    Fix no bgp as-path access-list  issue
  -    Fix route-map match probability deconfiguration callback
  -    Fix srv6 memory leak detection
  -    Fix the order of null check and zapi decode
  -    Fix vrf leaking with 'no bgp network import-check
  -    Free memory for srv6 functions and locator chunks
  -    Ignore validating the attribute flags if path-attribute is configured
  -    Include unsuppress-map as a valid outgoing policy
  -    Lttng tp add evpn route events
  -    Make `suppress-fib-pending` clear peering
  -    Note when receiving but not understanding a route notification
  -    Prevent from one more cve triggering this place
  -    Set correct ttl for the dynamic neighbor peers
  -    Update default-originate route-map actual map structure
  -    Revert "Fix pointer arithmetic in bgp snmp module"
  - doc
  -    Add param range for graceful-restart helper supported-grace-time
  -    Remove duplicated show route-map
  - isisd
  -    Fix _isis_spftree_del heap-use-after-free
  -    Fix dislaying lsp id
  -    Fix heap-after-free with prefix sid
  -    Fix ip/ipv6 reachability tlvs
  - lib
  -    Check for not being a blackhole route
  -    Fix show route map json output
  -    Do not convert evpn prefixes into ipv4/ipv6 if not needed
  -    Replace deprecated ares_gethostbyname
  -    Replace deprecated ares_process()
  - nhrpd
  -    Fix nhrp_peer leak
  -    Fix race condition
  -    Fix core dump on shutdown
  - ospf6d
  -    Ospfv3 route change comparision fixed for asbr-only change
  -    Prevent heap-buffer-overflow with unknown type
  - ospfd
  -    Add support for "no router-info [<area|as>] command"
  -    Can not delete "segment-routing node-msd" when sr if off
  -    Correct lsa parser which fulfill the ted
  -    Correct opaque lsa extended parser
  -    Correct sid check size
  -    Fix ospf dead-interval minimal hello-multiplier param range
  -    Fix the bug where ip_ospf_dead-interval_minimal_hello-multiplier did not reset hello timer
  -    Protect call to get_edge() in ospf_te.c
  -    Solved crash in ospf te parsing
  -    Solved crash in ri parsing with ospf te
  -    Revert "Fix some dicey pointer arith in snmp module"
  - pbrd
  -    Fix map seq installed flag in json
  -    Fix pbr handling for last rule deletion
  - pimd
  -    Fix crash unconfiguring rp keepalive timer
  -    Fix crash when configuring ssmpingd
  -    Fix dr-priority range
  -    Fix null register before aging out reg-stop
  -    Fix order of operations for evaluating join
  -    Re-evaluated s,g oils upon rp changes and for empty sg upstream oils
  -    Fix crash when mixing ssm/any-source joins
  - staticd
  -    Fix changing to source auto in bfd monitor
  - tests
  -    Check for 0.0.0.0/1 in bgp_default_route
  -    Check if ibgp session can drop invalid aigp attribute
  -    Extend tests for aspath exclude
  -    Update ospf te topotests
  - tools
  -    Apply black formatting for tools/frr-reload.py
  -    Fix frr-reload interface desc cmd
  -    Fix frr-reload multiple no description cmds
  -    Fix frr-reload multiple no description cmds
  -    Use error log level when failing to execute commands via frr-reload.py
  - topotests
  -    Do not check table version
  -    Redispatch tests in bfd_topo3
  -    Test wrong bfd source in bfd_topo3
  -    Vpnv4 route leaking with no import-check
  - vtysh
  -    Show `ip ospf network ...` even if it's not the same as the interface type
  - zebra
  -    Add missing whitespace when printing route entry status
  -    Deny the routes if ip protocol cli refers to an undefined rmap
  -    Don't deref vxlan-vni array
  -    Fix crash if macvlan link in another netns
  -    Fix crash on macvlan link down/up
  -    Fix evpn svd based remote nh neigh del
  -    Fix mpls command
  -    Fix route deletion during zebra shutdown
  -    The dplane_fpm_nl return path leaks memory


author: Jafar Al-Gharaibeh <jafar@atcorp.com> - 9.1.1
changelog:
  - bgpd
  -    "default-originate" shouldn't withdraw non-default routes
  -    Aggr summary-only suppressed export to evpn
  -    Allow using optional table id for negative `no set table x` command
  -    Arrange peer notification to after zebra announce
  -    Check bgp evpn instance presence in soo
  -    Convert the bgp_advertise_attr->adv to a fifo
  -    Do not show tcp mss if the socket is broken
  -    Ensure bgp does not stop monitoring nexthops
  -    Ensure community data is freed in some cases.
  -    Ensure that the correct aspath is free'd
  -    Fix `match peer` when switching between ipv4/ipv6/interface
  -    Fix `no set as-path prepend asnum...`
  -    Fix bgp_best_selection heap-use-after-free
  -    Fix crash when deleting the srv6 locator
  -    Fix display when using `missing-as-worst`
  -    Fix dynamic peer graceful restart race condition
  -    Fix ecommunity_fill_pbr_action heap-buffer-overflow
  -    Fix error handling when receiving bgp prefix sid attribute
  -    Fix errors handling for mp/gr capabilities as dynamic capability
  -    Fix format overflow for graceful-restart debug logs
  -    Fix logging message when receiving a software version capability
  -    Fix no bgp as-path access-list  issue
  -    Fix route-map match probability deconfiguration callback
  -    Fix srv6 memory leak detection
  -    Fix the order of null check and zapi decode
  -    Fix vrf leaking with 'no bgp network import-check
  -    Free memory for srv6 functions and locator chunks
  -    Ignore validating the attribute flags if path-attribute is configured
  -    Include unsuppress-map as a valid outgoing policy
  -    Lttng tp add evpn route events
  -    Make `suppress-fib-pending` clear peering
  -    Note when receiving but not understanding a route notification
  -    Prevent from one more cve triggering this place
  -    Set correct ttl for the dynamic neighbor peers
  -    Update default-originate route-map actual map structure
  -    Revert "Fix pointer arithmetic in bgp snmp module"
  - doc
  -    Add param range for graceful-restart helper supported-grace-time
  -    Remove duplicated show route-map
  - isisd
  -    Fix _isis_spftree_del heap-use-after-free
  -    Fix dislaying lsp id
  -    Fix heap-after-free with prefix sid
  -    Fix ip/ipv6 reachability tlvs
  - lib
  -    Check for not being a blackhole route
  -    Fix show route map json output
  -    Do not convert evpn prefixes into ipv4/ipv6 if not needed
  -    Replace deprecated ares_gethostbyname
  -    Replace deprecated ares_process()
  - nhrpd
  -    Fix nhrp_peer leak
  -    Fix race condition
  -    Fix core dump on shutdown
  - ospf6d
  -    Ospfv3 route change comparision fixed for asbr-only change
  -    Prevent heap-buffer-overflow with unknown type
  - ospfd
  -    Add support for "no router-info [<area|as>] command"
  -    Can not delete "segment-routing node-msd" when sr if off
  -    Correct lsa parser which fulfill the ted
  -    Correct opaque lsa extended parser
  -    Correct sid check size
  -    Fix ospf dead-interval minimal hello-multiplier param range
  -    Fix the bug where ip_ospf_dead-interval_minimal_hello-multiplier did not reset hello timer
  -    Protect call to get_edge() in ospf_te.c
  -    Solved crash in ospf te parsing
  -    Solved crash in ri parsing with ospf te
  -    Revert "Fix some dicey pointer arith in snmp module"
  - pbrd
  -    Fix map seq installed flag in json
  -    Fix pbr handling for last rule deletion
  - pimd
  -    Fix crash unconfiguring rp keepalive timer
  -    Fix crash when configuring ssmpingd
  -    Fix dr-priority range
  -    Fix null register before aging out reg-stop
  -    Fix order of operations for evaluating join
  -    Re-evaluated s,g oils upon rp changes and for empty sg upstream oils
  -    Fix crash when mixing ssm/any-source joins
  - staticd
  -    Fix changing to source auto in bfd monitor
  - tests
  -    Check for 0.0.0.0/1 in bgp_default_route
  -    Check if ibgp session can drop invalid aigp attribute
  -    Extend tests for aspath exclude
  -    Update ospf te topotests
  - tools
  -    Apply black formatting for tools/frr-reload.py
  -    Fix frr-reload interface desc cmd
  -    Fix frr-reload multiple no description cmds
  -    Fix frr-reload multiple no description cmds
  -    Use error log level when failing to execute commands via frr-reload.py
  - topotests
  -    Do not check table version
  -    Redispatch tests in bfd_topo3
  -    Test wrong bfd source in bfd_topo3
  -    Vpnv4 route leaking with no import-check
  - vtysh
  -    Show `ip ospf network ...` even if it's not the same as the interface type
  - zebra
  -    Add missing whitespace when printing route entry status
  -    Deny the routes if ip protocol cli refers to an undefined rmap
  -    Don't deref vxlan-vni array
  -    Fix crash if macvlan link in another netns
  -    Fix crash on macvlan link down/up
  -    Fix evpn svd based remote nh neigh del
  -    Fix mpls command
  -    Fix route deletion during zebra shutdown
  -    The dplane_fpm_nl return path leaks memory


author: Martin Winter <mwinter@opensourcerouting.org> - 9.1.2
changelog:
  * Wed Sep 11 2024 Donatas Abraitis <donatas@opensourcerouting.org> - 9.1.2
  - bgpd
  -    Fix crash at no rpki
  -    Fix, do not access peer->notify.data when it is null
  -    Fix for CVE-2024-44070
  -    Ignore RFC8212 for BGP Confederations
  -    Check if we have really enough data before doing memcpy for software version
  -    Set last reset reason to admin shutdown if it was manually
  - isisd
  -    Fix crash when reading asla
  -    Add missing `exit` statement
  -    Fix update link params after circuit is up
  -    Fix crash when calculating the neighbor spanning tree based on the fragmented LSP
  - zebra
  -    Ensure non-equal id's are not same nhg's
  - pimd
  -    Fix msdp setting of sa->rp
  -    Fix crash on non-existent interface
  - ospfd
  -    Fix internal ldp-sync state flags when feature is disabled
  - zebra
  -    Fix missing static routes
  -    Fix to avoid two Vrfs with same table ids
  -    Fix evpn mh bond member proto reinstall
  - ldpd
  -    Fix wrong gtsm count
  - ripd
  -    Change the start value of sequence 1 to 0


author: Donatas Abraitis <donatas@opensourcerouting.org> - 9.1.2
changelog:
  - bgpd
  -    Fix crash at no rpki
  -    Fix, do not access peer->notify.data when it is null
  -    Fix for CVE-2024-44070
  -    Ignore RFC8212 for BGP Confederations
  -    Check if we have really enough data before doing memcpy for software version
  -    Set last reset reason to admin shutdown if it was manually
  - isisd
  -    Fix crash when reading asla
  -    Add missing `exit` statement
  -    Fix update link params after circuit is up
  -    Fix crash when calculating the neighbor spanning tree based on the fragmented LSP
  - zebra
  -    Ensure non-equal id's are not same nhg's
  - pimd
  -    Fix msdp setting of sa->rp
  -    Fix crash on non-existent interface
  - ospfd
  -    Fix internal ldp-sync state flags when feature is disabled
  - zebra
  -    Fix missing static routes
  -    Fix to avoid two Vrfs with same table ids
  -    Fix evpn mh bond member proto reinstall
  - ldpd
  -    Fix wrong gtsm count
  - ripd
  -    Change the start value of sequence 1 to 0


author: Martin Winter <mwinter@opensourcerouting.org> - 9.1.3
changelog:
  * Mon Dec 23 2024 Donatas Abraitis <donatas@opensourcerouting.org> - 9.1.3
  - bfdd
  -   Add no variants to interval configurations
  - bgpd
  -   Actually make ` --v6-with-v4-nexthops` it work
  -   Add `bgp ipv6-auto-ra` command
  -   Allow value 0 in aigp-metric setting
  -   Clear all paths including addpath once GR expires
  -   Compare aigp after local route check in bgp_path_info_cmp()
  -   EVPN fix per rd specific type-2 json output
  -   Fix addressing information of non established outgoing sessions
  -   Fix bgp core with a possible Intf delete
  -   Fix blank line in running-config with bmp listener cmd
  -   Fix crash when polling bgp4v2PathAttrTable
  -   Fix display of local label in show bgp
  -   Fix for match source-protocol in route-map for redistribute cmd
  -   Fix memory leak when creating BMP connection with a source interface
  -   Fix printfrr_bp for non initialized peers
  -   Fix route selection with AIGP
  -   Fix several issues in sourcing AIGP attribute
  -   Fix unconfigure asdot neighbor
  -   Include structure when installing End.DT4/6 SID
  -   Include structure when installing End.DT46 SID
  -   Include structure when removing End.DT4/6 SID
  -   Include structure when removing End.DT46 SID
  -   Move some non BGP-specific route-map functions to lib
  -   Remove useless control checks about TCP connection
  -   Set LLGR stale routes for all the paths including addpath
  -   Treat numbered community-list only if it's in a range 1-500
  -   Validate both nexthop information (NEXTHOP and NLRI)
  - isisd
  -   Fix rcap tlv double-free crash
  - lib
  -   Include SID structure in seg6local nexthop
  -   Take ge/le into consideration when checking the prefix with the prefix-list
  -   Keep `zebra on-rib-process script` in frr.conf
  - nhrpd
  -   Fixes duplicate auth extension
  - ospfd
  -   Fix missing '[no]ip ospf graceful-restart hello-delay <N>' commands
  - pimd
  -   Allow resolving bsr via directly connected secondary address
  -   Fix access-list memory leak in pimd
  - vrrpd
  -   Iterate over all ancillary messages
  - zebra
  -   Add missing new line for help string
  -   Add missing proto translations
  -   Correctly report metrics
  -   Fix crash during reconnect
  -   Fix snmp walk of zebra rib
  -   Let's use memset instead of walking bytes and setting to 0
  -   Separate zebra ZAPI server open and accept
  -   Unlock node only after operation in zebra_free_rnh()


