Debian Packages - https://deb.frrouting.org
RPM Packages - https://rpm.frrouting.org
Snaps - https://snapcraft.io/frr
Docker - quay.io/frrouting/frr
Release Overview
New Features Highlight
- LTTng traces for BFD
- Added support for LTTng tracing in BFD, enabling improved observability and debugging capabilities for BFD sessions.
- Extended weights for the next-hop
- Support for 16-bit next-hop weights has been added, aligning with capabilities introduced in Linux kernel v6.12.
FRRouting now supports extended weight values for improved ECMP distribution accuracy.
- Support for 16-bit next-hop weights has been added, aligning with capabilities introduced in Linux kernel v6.12.
- BGP ECMP by using Underlay Weights
- BGP now provides a configuration option to use underlay-computed weights for ECMP path selection.
Traditionally, BGP derives ECMP weights from extended community attributes. With this enhancement, operators may configure BGP to instead use underlay weights when calculating traffic distribution.
- BGP now provides a configuration option to use underlay-computed weights for ECMP path selection.
- BGP ECMP by using Next-next nodes (Next-hop dependent characteristic) count
- An additional ECMP weighting mode has been introduced based on next-hop dependent characteristics (e.g., next-next-hop node count).
- When
bgp bestpath bandwidth ignoreis enabled and next-hop characteristics are present, BGP uses the number of underlying next-next-hop paths to derive ECMP weights.
- BGP software version capability encoding changes
- Encoding has been updated to align with version 15 of draft-abraitis-bgp-version-capability. Starting with this revision:
The TLV length field is no longer explicitly encoded. The capability length field alone determines the encoding size. - A new command has been introduced
bgp default software-version-capability latest-encoding. This enables use of the updated encoding format.
- Encoding has been updated to align with version 15 of draft-abraitis-bgp-version-capability. Starting with this revision:
- BGP SRv6 unicast at the global (default) VRF
- Support has been added for global (default VRF) unicast routing over an SRv6 core:
- Global IPv4 over SRv6 Core (RFC 9252)
- Global IPv6 over SRv6 Core (RFC 9252)
- This enables SRv6-based transport for IPv4 and IPv6 services in the default routing table.
- Support has been added for global (default VRF) unicast routing over an SRv6 core:
- BGP IPv6 VTEP support
- Comprehensive IPv6 VTEP support has been added throughout the EVPN codebase. This enables EVPN deployments using IPv6 tunnel endpoints while maintaining full backward compatibility with IPv4 VTEPs.
- BGP multiple labels support for labeled unicast
- FRRouting now supports multiple MPLS labels in BGP Labeled Unicast.
- Previously: If multiple labels were received, only the bottom label was used.
- Now: Up to 10 labels are supported per prefix.
- This aligns with the maximum label stack depth defined in RFC 3017 and RFC 8277.
- FRRouting now supports multiple MPLS labels in BGP Labeled Unicast.
- BGP graceful restart for EVPN
- Graceful Restart capability has been extended to EVPN address families. This aligns EVPN behavior with existing graceful restart support for IPv4 and IPv6 unicast.
- Implement forwarding-address-self command for OSPFv2
- A new forwarding-address-self command has been implemented for OSPFv2. By default, when redistributing routes into OSPF, the forwarding address field is set based on the original next-hop. When forwarding-address-self is configured, the router sets the forwarding address field to its own address.
- This is particularly useful in multi-homed (ECMP) ASBR deployments where traffic must be directed explicitly to the redistributing router.
- PIM/PIMv6 filter support for IGMP/MLD joins
- Added support for filtering IGMP (IPv4) and MLD (IPv6) joins in PIM and PIMv6.
- libyang3 changes
- Binary packages are now built against libyang3 by default. Users requiring libyang2 may still recompile FRRouting with libyang2 support.
What's Changed
- ospfd: On cleanup, actually free vertexes by @donaldsharp in #19686
- tools: add nhrp support bundle by @Jafaral in #19674
- bgpd: Transfer through the return code by @donaldsharp in #19653
- bgpd, lib, pbrd: Use hash_lookup where appropriate by @donaldsharp in #19652
- eigrpd, ospfd, pimd: Fix usage of packed member unaligned by @donaldsharp in #19663
- Improve handling of vrf backend type by @donaldsharp in #19651
- Revert "ospfd: On cleanup, actually free vertexes" by @donaldsharp in #19691
- build: add warning for extra format args by @mjstapp in #19645
- tests: Corrected unidiomatic-typecheck by @ramapalleti in #19676
- lib, zebra: Add fib installed NH count in json show cmd by @raja-rajasekar in #19656
- bgpd: improve/clarify bgp static tables by @mjstapp in #19640
- tests: Ensure key exists for bgp_evpn_mh by @donaldsharp in #19697
- build: Add warning for address of packed member by @donaldsharp in #19690
- tests: fix memory leaks in
make checkfor ASAN run by @eqvinox in #19701 - ospfd: plug leaks in TI-LFA code by @eqvinox in #19700
- bgpd: display reset cause consistently in bgp_show_failed_summary() by @enkechen-panw in #19711
- Coverity low medium by @donaldsharp in #19627
- bgpd: ensure batch clearing flags are clear by @mjstapp in #19696
- Bgp evpn pass originator by @donaldsharp in #19492
- doc: Fix a bunch of the duplicate commands during build by @donaldsharp in #19703
- *: don't access invalid zapi route msg nexthops by @mjstapp in #19714
- eigrpd: Handling for malformed update packets by @ritika0313 in #19699
- zebra: Cleanup early route Q when removing routes. by @donaldsharp in #19338
- doc: Fix documentation regarding capability link-local by @ton31337 in #19713
- pim6d: don't SEGV on repeated MLD records by @eqvinox in #19732
- zebra: fix neighbor table name length by @kunkku in #18872
- bgpd: type-5 routes were sometimes being injected when they should not by @donaldsharp in #19731
- Allow Route Resolution via same prefix Cross VRF by @donaldsharp in #19718
- *: Support IPv6 VTEP for EVPN single-homing by @mjstapp in #19498
- zebra: Free early route objects after we done only by @ton31337 in #19746
- tests: Stop double run of a large number of commands by @donaldsharp in #19755
- Bgp curr to connection by @donaldsharp in #19753
- Weighted ECMP by using Next-Next Hop Nodes characteristic by @ton31337 in #19633
- gdb: Add a walk_bgp_table macro by @donaldsharp in #19728
- tests: correct one assert for ldp test by @anlancs in #19572
- ospf6d: Fix summary deletion dropping redistributed routes by @donaldsharp in #19733
- bgp_bmp: fix pullwr bump call by @lsang6WIND in #19744
- Items found via valgrind running and gcoverage by @donaldsharp in #19719
- lib,zebra: make nhg nexthop show output consistent by @mjstapp in #19762
- Coverity fix: unchecked return value by @aprathik04 in #19702
- pimd/pim6d: fix router-alert crash by @anlancs in #19757
- zebra: Initialize vtep_ip before passing to dplane_local_mac_add/del by @ton31337 in #19763
- zebra: include EVPN encap info with recursive nexthops by @mjstapp in #19720
- tests: Allow --with-timestamp-precision=X to actually work w/ make check by @donaldsharp in #19772
- lib: fix SA warnings re. typesafe _add return val by @eqvinox in #19771
- bgpd: Fix resource leak coverity by @aprathik04 in #19775
- lib: Remove unnecessary #includes by @jkoshy in #19777
- bgpd: EVPN fix auto derive rd when user cfg removed by @chiragshah6 in #19779
- Test speedups of long running tests by @donaldsharp in #19770
- bgpd: check the peer state when recording the down cause by @enkechen-panw in #19667
- bgpd: ensure evpn prefix locals are inited by @mjstapp in #19790
- zebra: EVPN fix alignment of access-vlan cli output by @chiragshah6 in #19795
- pim6d: drop mismatch report packets by @anlancs in #19198
- Cleanup
show debuggingand isisd, fabricd, bgpd and ospfd debug commands by @kaffarell in #19544 - isis: fix advertise-passive-only routes install by @hedrok in #19593
- zebra: Show prefix on failed lookup by @donaldsharp in #19789
- bgpd: Prevent unnecessary re-install of routes by @donaldsharp in #19788
- lib, build: support gperftools tcmalloc, release free memory to host OS by @mjstapp in #19377
- lib: Add json support for 'show version' command by @donaldsharp in #19803
- zebra: Fix SRv6 explicit SID allocation to use the provided locator by @cscarpitta in #19806
- pimd : Added support for multi-oif static mroute by @e-wing in #19765
- bgpd: EVPN-MH fix ES-EVI memleak during shutdown by @chiragshah6 in #19814
- Bgpd coverity medium issues by @hnattamaisub in #19774
- zebra: workaround for a race condition caused by if_zebra_speed_update timer by @markx-arista in #19794
- bgpd: Do not complain in the logs if we intentionally withdraw specific attrs by @ton31337 in #19821
- bfdd: Turn zlog_fatal into zlog_err by @donaldsharp in #19822
- bgpd: Put local BGP ID when sending NNHN TLV for NH characteristic by @ton31337 in #19808
- doc: Update bgp's treat-as-withdraw command doc by @donaldsharp in #19823
- doc: Update kernel route redistribution doc by @donaldsharp in #19813
- Route-map command to filter out VPN paths based on their origin (MPLS /SRv6 / VXLAN) by @pguibert6WIND in #19717
- bgpd: add SRv6 unicast at default VRF by @lsang6WIND in #19496
- zebra/bgpd: Coverity issues by @hnattamaisub in #19820
- Sphinx issues by @donaldsharp in #19841
- *: modify RANGE vty token to use int64_t type by @pguibert6WIND in #19474
- yang: fix wrong comment to match-condition entry by @pguibert6WIND in #19847
- zebra: fix yang data for mcast-group by @idryzhov in #19845
- bgpd: fix attr intern overhead by @krishna-samy in #19547
- bgpd: changes for code maintainability by @sri-mohan1 in #19857
- Add debug bgp neighbor-events detail command by @Pdoijode in #19843
- zebra: EVPN fix show interface vxlan json by @chiragshah6 in #19846
- bgpd: EVPN fix memleak in adv type5 cli cmd by @chiragshah6 in #19858
- lib : Set the correct timeout attribute in ppoll by @nishant111 in #19715
- ospfd: fix the inconsistency between lsdb and route table by @anlancs in #19745
- Frr headers by @maxime-leroy in #19351
- bgpd: Double check all connection events are stopped on peer shutdown. by @donaldsharp in #19871
- tests: Add a cluster-length test by @donaldsharp in #19870
- bgpd: High coverity changes - Uninitialzed scalar variable by @hnattamaisub in #19869
- pbrd: fix memleak during pbr map deletion by @aprathik04 in #19863
- zebra: Null pointer dereferences (medium) by @hnattamaisub in #19851
- test: bgp_extcomm_list_delete add regex case by @fdumontet6WIND in #19848
- bgpd: BGP_CONFIG_VRF_TO_VRF_IMPORT flag not set correctly by @vijayalaxmi-basavaraj in #19710
- ospfd: Drop support for SSL1 and update to SSL3 by @donaldsharp in #19842
- bgpd: Track route-map references for srv6 when rmap is used by @ton31337 in #19868
- zebra: update dataplane api version for 10.5 release by @mjstapp in #19856
- Interface speed handling improvements by @donaldsharp in #19811
- vrrpd: IPv6 VRRP macvlan doesn't have IPv6 link-local address by @hnattamaisub in #19861
- bgpd: Crash due to usage of freed up evpn_overlay attr by @soumyar-roy in #19879
- bfdd: Return an error before using negative fd for setsockopt() by @ton31337 in #19886
- zebra: fix missing fpm messages by @anlancs in #19807
- zebra: fix for unchecked return value coverity issues by @aprathik04 in #19695
- zebra: Add
show zebra client jsoncommand by @donaldsharp in #19840 - bgpd: Notify all incoming/outgoing on peer group notify unconfig by @donaldsharp in #19891
- Convert a couple of bfd tests to use frr.conf unified config by @donaldsharp in #19597
- pimd: demote a warning to a debug to avoid spamming the logs by @Jafaral in #19902
- zebra: Coverity issue (Null pointer dereference) by @hnattamaisub in #19911
- bgpd: When creating a peer_connection pass in the sockunion for it by @donaldsharp in #19901
- bgpd: check more during flowspec nlri parsing by @mjstapp in #19909
- bgpd: fix routemap evpn type-5 default route check by @chiragshah6 in #19895
- bgpd: Check L3VNI status before adv evpn vrf routes by @chiragshah6 in #19896
- bgpd: fix BGP_ATTR_ORIGINATOR_ID flag in outbound attribute cache by @enkechen-panw in #19918
- bgpd: fix BGP_ATTR_LOCAL_PREF being set appropriately by @donaldsharp in #19927
- bgpd: fix expanded extcomm list delete by @fdumontet6WIND in #19903
- ldpd: fix missing the pw message by @anlancs in #19912
- bgpd: Check MED flag correctly in encap_attr_export() by @ton31337 in #19940
- zebra: Return checks are missing in some spots by @donaldsharp in #19951
- bgpd: Use bgp_attr_[exists/set/unset] helpers when doing attr stuff by @ton31337 in #19953
- doc: add note to the dev guide regrading backports by @Jafaral in #19950
- zebra: Refactor SRv6 netlink code to remove duplication by @cscarpitta in #19955
- bgpd: Do not cast to a larger size than an argument for encode_rd_type() by @ton31337 in #19952
- doc, docker: fix Ubuntu 24.04 snmp issues and enable 24.04 github CI by @Jafaral in #19483
- bgpd: EVPN init local variable by @chiragshah6 in #19960
- lib: fix memleak in nexthop label copy by @chiragshah6 in #19959
- zebra: Check return code to make coverity happy by @donaldsharp in #19965
- Thread event cleanup by @donaldsharp in #19957
- debian, redhat: release updates housekeeping by @Jafaral in #19971
- ospfd: reorder ospf apiserv opaque unregistration by @mjstapp in #19970
- docs: bgp: fix sid-export command formatting by @kaffarell in #19974
- ospfd: Fix crash when entering
ospf authentication key XXby @donaldsharp in #19975 - zebra: move netlink parsing to a separate shared-lib by @mjstapp in #19197
- zebra: increment dplane version number by @mjstapp in #19976
- *: Fix SRv6 uA SID programming with IPv6 link-local addresses by @cscarpitta in #19844
- *: Add commit to .git-blame-ignore-revs by @donaldsharp in #19984
- Big header cleanup by @donaldsharp in #19956
- bgpd: fix show running-config encapsulation-[mpls/srv6] by @pguibert6WIND in #19989
- lib: mgmt_msg: fix bug with disconnect and event scheduling by @choppsv1 in #19994
- bgpd: Convince coverity that dest is still valid by @donaldsharp in #19992
- lib: Properly set event_execute type by @donaldsharp in #19990
- Bgp keepalives data race by @donaldsharp in #20001
- 32bit problems by @donaldsharp in #19991
- lib: hold event loop mutex during show commands by @mjstapp in #19985
- zebra: Coverity issue (Null pointer dereference -med severity) by @hnattamaisub in #19907
- Alpine Docker fix ups for 3.22 by @ton31337 in #20004
- Coverity uninitialized by @donaldsharp in #20006
- bgpd: Activate listening socket for a default VRF when created by @ton31337 in #20012
- lib: Change sizeof(..) to actual byte sizes for addresses by @donaldsharp in #20013
- *:EVPN over IPv6 underlay fabric - single homed by @chiragshah6 in #19721
- zebra: fix import of non zebra extern_learn neighbors by @louis-6wind in #19122
- bgpd: add evpn prefix in json output by @raja-rajasekar in #20024
- lib: ospf_snmp.c is compiling with warnings by @donaldsharp in #20020
- bgpd: fix memory leak in BGP NHC TLV processing by @jaredmauch in #20032
- bgpd: fix uninitialized variable in bgp_need_listening by @jaredmauch in #20035
- bgpd: fix srv6-only command defaulted when 'no segment-routing ipv6' by @pguibert6WIND in #20040
- lib: Support epoll APIs in thread management lib by @mjstapp in #19917
- Some initializations by @ton31337 in #20049
- Coexistence withdraw event by @pguibert6WIND in #20038
- bgpd: Link L2VNI to L3VNI only when it really exists by @raja-rajasekar in #20050
- bgpd: print rd in evpn route output by @raja-rajasekar in #20044
- tests: topotest for EVPNv6 L3 functionality -- single homed by @chiragshah6 in #19915
- bgpd: trigger inbound policy re-evaluation on AS-path list changes by @ashred-lnx in #19832
- Extend show ip route nexthop-group commands (Summary view and ECMP filtering) by @raja-rajasekar in #19833
- vrrpd: [Mem leak] Vrrp interface delete fails to free connected route by @raja-rajasekar in #20058
- bgpd: Fix maximum-prefix session recovery for peers and peer-groups by @raja-rajasekar in #20068
- bgpd: Do not put confederation ASNs into AS-SET, leave them as alone by @ton31337 in #20073
- debian, redhat: update changelog with 10.5.0 release by @Jafaral in #20057
- evpn vxlan fixes batch1 by @soumyar-roy in #20046
- zebra: Check if the netlink socket is active before doing batch ops by @ton31337 in #20059
- zebra: ensure zif mac_list exists before unlinking mac by @soumyar-roy in #20095
- pimd: Prevent crash on interface removal by @soumyar-roy in #20097
- bgpd: bounds-check when parsing incoming label in nlri by @mjstapp in #20062
- lib: Coverity fixes by @krishna-samy in #20082
- ospfd: Fix sign comparison warnings in SNMP code by @jaredmauch in #20029
- lib: NULL-check idalloc pools by @soumyar-roy in #20094
- isisd: use IPv6 MTID for SRv6 locator TLVs when IPv6 MT is enabled by @k-akashi in #20053
- tools: fix checkpatch.pl for 'FOO < BAR && ...' by @hedrok in #20111
- doc:fix isis narrow metric, the correct range should be 0-63 by @Shbinging in #20119
- ospfd/isisd: fix sr local block request bug, bitmap should be uint64_t by @Shbinging in #20118
- ospfd: Implement forwarding-address-self command by @ton31337 in #20077
- ospfd: Fix DO_NOT_AGE flag handling by @arikauppi in #20112
- zebra: fix crash due to lack of control of received number of srv6 SID from netlink by @fdumontet6WIND in #20093
- tools: increase the number of FD in frr.service by @raja-rajasekar in #20115
- bgpd: Allow proper shutdown of bgp dynamic peers in rare case by @donaldsharp in #20120
- bgp: Support multiple labels in BGP-LU by @hedrok in #19961
- bgpd: fix labeled-unicast output by @lsang6WIND in #20018
- bfdd, ripd, ripngd: implement yang:date-and-time by @idryzhov in #20144
- bgpd: Implement "sh bgp l2vpn evpn rt X" by @diego-lopez8 in #20150
- zebra: EVPN L3VNI display vlan and bridge info by @chiragshah6 in #20141
- zebra: avoid using freed vtep pointer in debug log by @raja-rajasekar in #20135
- Some coverity warnings fixes by @raja-rajasekar in #20134
- increasing vtysh cli length constraint by @raja-rajasekar in #20110
- bgpd: Fix Coverity issues after 19506 by @hedrok in #20153
- lib: revert fix nexthop node entry from nhg_list by @aprathik04 in #19862
- docs: bgp: fix typos by @kaffarell in #20173
- bgpd: add remoteTransposedSid value in json output of vpn paths by @pguibert6WIND in #20126
- Revert "bgpd: add remoteTransposedSid value in json output of vpn paths" by @donaldsharp in #20174
- bgpd: add prefix info to bgp update debug by @soumyar-roy in #20175
- ospf6d: Fix LSA scope check in flooding for unknown LSAs by @jaredmauch in #20081
- isisd: update snp end after pdu validate by @mgsmith1000 in #20079
- pimd related fixes by @soumyar-roy in #20109
- Dplane mutex cleanup by @donaldsharp in #20015
- Apply GSHUT to originated routes when neighbor GSHUT configured by @raja-rajasekar in #20179
- doc: correct bfd detect-multiplier behavior by @diego-lopez8 in #20191
- zebra: Crash within bgp_evpn_vxlan_svd_topo1 test by @hnattamaisub in #20192
- bgpd: [TP] Add BGP FSM and session tracing with conditional fsm_event by @raja-rajasekar in #20193
- Simplify and cleanup mgmtd by @choppsv1 in #20088
- bgpd: Fix Coverity issue after 19506 by @hedrok in #20195
- ospfd: Fix ospf mtu-ignore json show command by @raja-rajasekar in #20113
- bgpd: fix peer type for route-map during VRF route leaking by @soumyar-roy in #20197
- lib,bgpd,zebra: add a more efficient hash cleanup api by @mjstapp in #20189
- lib: print ipv4 mapped ipv6 address in mixed notation by @soumyar-roy in #20176
- docker: build/install latest libyang3 in ubuntu test container by @choppsv1 in #20207
- Address some new coverity issues by @choppsv1 in #20209
- bgpd: Fix link-local NH assignment on GUA deletion by @raja-rajasekar in #20180
- Handle RESTCONF RPC/Action input format by @choppsv1 in #20208
- bgpd: Software version old/new encoding by @ton31337 in #20183
- lib: event scheduling lib changes by @mjstapp in #20216
- lib, bgpd: Move BGP-specific funcs out of lib and refactor by @hedrok in #20139
- zebra: Drop deprecated netns command by @ton31337 in #20227
- bgpd: Start BFD hold timer ONLY if hold-time is configured (not zero) by @ton31337 in #20223
- lib: fix some issue with lttng tracing by @mjstapp in #20230
- lib: Print identity for log facility by @ton31337 in #20229
- bgpd: make route redistribution deterministic by @enkechen-panw in #20187
- lib: northbound: fix coverity #1667734 by @choppsv1 in #20231
- lib: fix nb_cli_apply_changes_mgmt() return code by @ak503 in #20226
- build: minor fixes (inet_ntop, no_sanitize, C++ strlcpy) by @eqvinox in #20234
- tests: don't access event struct in grpc unit test by @mjstapp in #20235
- A few small improvements to topotests by @choppsv1 in #20217
- tests: Fix pim_dense by @donaldsharp in #20247
- bgpd: Add more connection direction debugging by @donaldsharp in #20250
- bgpd: Support sending multiple labels in BGP-LU + topotest by @hedrok in #20218
- ripd: Do not send updates on disabled networks by @ton31337 in #20253
- A few small fixes (mgmtd/northbound) from a separate project. by @choppsv1 in #20251
- vtysh: implement clear command by @kaffarell in #20242
- Spelling errors have krept in by @donaldsharp in #20254
- *: only include frr json.h where needed by @mjstapp in #20244
- zebra: fix dvni nexthop install for IPv6 routes with ipv4 VTEP by @Manpreet-k0 in #20228
- tests: A bunch of tests have had debug statements creep in by @donaldsharp in #20258
- bgpd: add remoteTransposedSid value in json output of vpn paths by @pguibert6WIND in #20255
- Some test fixes by @donaldsharp in #20261
- Use underlay weights by @donaldsharp in #20257
- bgpd: correction in json output structure for no data case by @Pdoijode in #20268
- ospfd: fix bug allowing vlink creation on non-ABRs by @diego-lopez8 in #20213
- tests: add topotest for deleting rip instance by @drosarius in #20236
- bgpd: Additional commits for graceful restart by @Pdoijode in #20239
- lib: Fix snprintf buffer overflow in PTM CSV encoding by @soumyar-roy in #20237
- bgpd: Fix route node lock leak in NHT resolved prefix marking by @mike-dubrovsky in #20211
- zebra: ra lifetime and interval check by @soumyar-roy in #20096
- doc: Expand some of the acronyms in EVPN page by @remram44 in #20051
- bgpd: Fix Coverity analysis by @raja-rajasekar in #20293
- tests: add topotest for setting RIP default-metric by @drosarius in #20269
- Bgp peer connection changes by @donaldsharp in #20263
- route-map encapsulation gretap by @pguibert6WIND in #19786
- zebra: notify nht client about protocol type change by @enkechen-panw in #17117
- staticd: Fix SRv6 uA SID installation by @cscarpitta in #19981
- tests: remove incorrect test code by @choppsv1 in #20312
- zebra: add CLI 'no' versions for max-bw and others by @hedrok in #20313
- bgpd: fix coverity "Dereferencing null pointer" by @raja-rajasekar in #20309
- ripd: Speed up convergence of rip_default_metric by @donaldsharp in #20307
- staticd: Prevent deleting a static route if blackhole type is not the same by @ton31337 in #20298
- ospf6d: Fix handling of default-routes by @Max-Mustermann33 in #20296
- zebra: don't access ifp from dplane pthread by @mjstapp in #20289
- bgpd: flood of trace commits by @raja-rajasekar in #20196
- zebra: make nd ra prefix cmd idompotent by @soumyar-roy in #20320
- bgpd: Allow LL peering to update v6 GUA by @donaldsharp in #20315
- ospf6d: Route-Map parameter forwarding-address functionality not work… by @soumyar-roy in #20306
- tests: Add a
show ip ripto test_rip_del_instance by @donaldsharp in #20275 - zebra: flood of trace commits by @raja-rajasekar in #20232
- bgpd: Treat as withdraw iBGP session when total attr length is path attributes by @ton31337 in #20322
- Move client-specific data out of mgmtd source. by @choppsv1 in #20323
- ospfd:add vrf option to clear process and neighbor by @soumyar-roy in #20178
- bfd: store actual timeout information in bfd by @sougatahitcs in #20210
- Peer connection on startup by @donaldsharp in #20265
- bgpd: add 'match as-path-count' command to restrict AS path count by @fdumontet6WIND in #20282
- bgpd: Do not send software-version capability if it's disabled explictly by @ton31337 in #20281
- zebra: Add counter for ND router solicitations received by @soumyar-roy in #20319
- bgpd: Send route-refresh and/or trigger soft reconfig on enforce-first-as by @ton31337 in #20341
- Fix unnecessary mgmtd, daemon connection reset on config validation failure by @choppsv1 in #20332
- various srv6 fixes by @pguibert6WIND in #20256
- Fix mgmtd abort (core) during exit with in-progress config change by @choppsv1 in #20356
- docker: modify libyang version in Dockerfile for centos-8 by @yushoyamaguchi in #20342
- Add error codes and improve operator messaging by @Pdoijode in #20302
- ospfd: fix delete sr-local-label bug by @Shbinging in #20363
- tests: Unreachable code at bgp.py by @y-bharath14 in #20362
- bgpd: Move mpath pointer from bgp_path_info to bgp_dest by @GaladrielZhao in #19880
- bgpd: Do not crash if we receive a next-hop length not as expected for NHC by @ton31337 in #20367
- bgpd: fix import vrf command by @louis-6wind in #20288
- Bgp explicit connection direction by @donaldsharp in #20328
- bgpd: output 'graceful-restart' value for peer group in 'write' command by @hedrok in #20338
- bgpd: update source address for bgp neighbor by @anlancs in #20330
- pimd: Remove weird Hidden message in help string by @donaldsharp in #20368
- lib: adapt to libyang4 NBC API changes by @choppsv1 in #20259
- Graceful restart for EVPN by @Pdoijode in #19778
- docker: Add missing
pytestpackage for Alpine as dependency by @ton31337 in #20369 - zebra: Transform FreeBSD to use the dplane for route changes. by @donaldsharp in #20300
- mgmtd fix init config retry by @choppsv1 in #20387
- zebra: Update promiscuity flag silently without route resets by @raja-rajasekar in #20181
- zebra: Fix coverity reported issue - 1668074 by @raja-rajasekar in #20399
- ci: add retry logic for apt and curl to handle transient failures - default 3 times by @vjardin in #20403
- bgpd: Use the default local-preference value and not 0 when adjusting by @ton31337 in #20400
- yang: Reorderd must constraints in frr-eigrpd module by @y-bharath14 in #20384
- isisd clean up: migrate lists to typesafe DLIST and fix minor memory leaks by @vjardin in #20351
- staticd: Fix CID 1668073 (NULL pointer dereference in SRv6 code) by @cscarpitta in #20405
- eigrpd: Prevent crash in packet handling by @donaldsharp in #20410
- zebra: Remove zrouter.zav.asic_notification_nexthop_control by @donaldsharp in #20377
- tests: add topotest for disabling rip neighbor by @drosarius in #20411
- fix show
frr-vrf:lib/vrf/statequery by @choppsv1 in #20421 - bgpd: Optimize BGP path lookup using typesafe hash for efficient lookup by @krishna-samy in #20331
- doc: fix bgp unnumbered neighbor interface command syntax by @kaffarell in #20422
- tests: show some broken pim behavior by @donaldsharp in #20406
- doc: Exclude 240.0.0.0/4 from allow-reserved-ranges by @ton31337 in #20424
- Gdb macros cleanup and add by @donaldsharp in #20423
- Some test fixes 2 by @donaldsharp in #20264
- Rnh per client by @donaldsharp in #20308
- SID extension to 32bits by @pguibert6WIND in #19223
- ripngd: Fix CLI description default values for a default flush interval by @ton31337 in #20426
- zebra: Modify the function to obtain GR client by @Pdoijode in #20419
- bgpd: don't set ATTR_ES_IS_LOCAL for ESI in bypass by @raja-rajasekar in #20417
- zebra: Fix memory leak when SRv6 explicit SID allocation fails by @cscarpitta in #20429
- tests: rip_topo1: use vtysh_cmd() instead of bare vtysh commands by @vjardin in #20433
- zebra: EVPN fix L3VNI to L2VNI transition by @chiragshah6 in #20334
- bfdd: Lttng traces for bfdd module by @hnattamaisub in #20365
- ripngd: drop listnode, migrate to typesafe container API by @vjardin in #20432
- bgpd: Drop unused BGP_NOTIFY_UPDATE_UNREACH_NEXT_HOP notify subcode by @ton31337 in #20425
- tests: Catching too general exception Exception by @y-bharath14 in #20427
- ripd: drop listnode, migrate to typesafe container API by @vjardin in #20431
- tests: add topotest for rip split-horizon by @drosarius in #20436
- tests: ripng_topo1: use vtysh_cmd() instead of bare vtysh commands by @vjardin in #20434
- zebra: Fix memory leak when SRv6 dynamic SID allocation fails by @cscarpitta in #20445
- bgpd: clear write fifo when disabling io writes by @mjstapp in #20248
- ospfd: Fix NULL Pointer Deference when dumping opaque lsa by @louis-6wind in #19983
- isisd: fix crash when changing isis type by @pguibert6WIND in #20171
- tests: add topotest for rip distance command by @drosarius in #20276
- pimd: capture pim_msg_send_frame return by @soumyar-roy in #20304
- tools: Speed up nested peer-group remote-as search in frr-reload.py by @mwinter-osr in #20390
- ripd: Fix default-route accept and announce by @mwinter-osr in #20416
- ci: add LTTng tracepoint compilation check by @vjardin in #20467
- *:EVPN IPv6 VTEP support - Multihomed by @chiragshah6 in #20116
- zebra: resolve compilation warnings by @mjstapp in #20475
- bgpd: fix compilation with lttng trace by @maxime-leroy in #20474
- Revert RIP/RIPng default flush timer change by @ton31337 in #20456
- cl frr to upstream frr bfd commits by @sougatahitcs in #20327
- tests: add a retry timeout to verify_admin_distance by @mjstapp in #20478
- Fix Batch Clearing to not skip path_info's by @donaldsharp in #20482
- zebra: EVPN spell check mac n mh files by @chiragshah6 in #20465
- zebra: Expand the EVPN help string in
debug zebra evpn..by @donaldsharp in #20483 - tests: comment out debugs in bgp_batch_clearing topotest by @mjstapp in #20485
- zebra: EVPN check l3vni vxlan intf exist in rmac install by @chiragshah6 in #20494
- bgpd: EVPN MH spell check for evpn_mh files by @chiragshah6 in #20480
- ospfd: fixed ospf nssa flush issue by @drosarius in #20428
- ripngd: remove dead assignment in ripng_ecmp_delete - Coverity by @vjardin in #20492
- bgpd: Improve warning message when the neighbor is not active for AFI/SAFI by @ton31337 in #20481
- bgpd: Fix multipath decision when multipath is 1 by @donaldsharp in #20493
- pimd,pim6d: PIM interface timer knobs by @rzalamena in #18278
- zebra: fix spell check in various files by @chiragshah6 in #20513
- lib, vtysh: Fix
log timestamp precisionto actually be carried through by @donaldsharp in #20510 - zebra: fix the access-vlan vni refcount on bridge flap by @raja-rajasekar in #20512
- lib,pimd,pim6d,yang: IPv6 extended access list by @rzalamena in #19581
- pimd, pim6d: display iface ssm mode by @ak503 in #20466
- bgpd: fix bugs with suppress-duplicates by @enkechen-panw in #20325
- zebra: Cleanup the mac & neigh entry on vni transition(l2->l3) by @raja-rajasekar in #20464
- zebra: Allow tentative IPv6 addresses on DOWN interfaces by @routingrocks in #20526
- bgpd: fix MRAI in route withdraw by @enkechen-panw in #20533
- zebra: Fix tentative address handling to respect dplane data model by @routingrocks in #20532
- bgp: ipv4 session comes up before ipv6 address is configured on link (BGP configured to AF6 && AF4) by @enissim in #20360
- Add IPv6 support for ip import-table by @marek22k in #20142
- bgpd: Reevaluate ead-evi routes for all VNI on disable-ead-evi-tx knob flap by @raja-rajasekar in #20479
- bgpd: remove assert in batch-clearing by @mjstapp in #20546
- pimd: compute inherited_olist before checking for (S,G,rpt) prune dec… by @hnattamaisub in #20521
- github: Rename PR template by @ton31337 in #20547
- bgpd: reduce ibuf_work ring buffer size by @ashred-lnx in #20554
- bgpd: remove unused argument in bgp_adj_out_unset_subgroup() by @enkechen-panw in #20555
- zebra: fix crash on inactive VRF and import table by @hedrok in #20525
- yang: Fix pyang errors in frr-filter.yang by @y-bharath14 in #20558
- Send register in fhr lhr case by @donaldsharp in #20575
- pimd: Keep track of how long the S,G rpt Prune has been around by @donaldsharp in #20576
- pimd: Immediately remove the join/prune from the nbr on ifp change, gdb macros update by @donaldsharp in #20586
- tests: Allow connected routes to come up in zebra_rnh_testing by @donaldsharp in #20568
- bgpd: fix spell check in various files by @chiragshah6 in #20590
- pimd, tests: Add pim test showing that registers work with no path -> rp by @donaldsharp in #20577
- bgpd: fix update-group issues with sender-aspath-loop-detection by @enkechen-panw in #20593
- update munet to latest version 0.17.2 by @choppsv1 in #20597
- mgmtd: fix xpath prefix matching, and a NULL ptr deref by @choppsv1 in #20596
- pimd,pim6d: implement PIM join filtering by @rzalamena in #19299
- bgpd: Use src path attr under a knob, for bestpath calculation by @soumyar-roy in #20056
- lib, zebra: support incremental json output [Draft] by @mjstapp in #20166
- zebra: remove unnecessary arg to rib_addnode/rib_link by @DrunkSkipper in #20598
- github: Delete merged branches by @ton31337 in #20603
- bgpd: Do not clear writes on keeper when transferring connection by @donaldsharp in #20602
- zebra: simplify else clause by @DrunkSkipper in #20604
- yang: Imported module ietf-yang-types not used at frr-isisd.yang by @y-bharath14 in #20473
- tests: Removed duplicate imported modules by @y-bharath14 in #20620
- isisd: fix method to access parent structure by @pguibert6WIND in #20612
- zebra: skip kernel provider work when skip_kernel is set by @maxime-leroy in #20621
- lib: fix array-index logic in json lib module by @mjstapp in #20625
- yang: Correct pyang errors in frr-route-map.yang by @y-bharath14 in #20609
- tests: Fix weighted_ecmp,
show nexthop-group rib jsonoutput has ch… by @donaldsharp in #20606 - tests: There is no pytest.mark.zebra by @donaldsharp in #20626
- fix vrf active value in YANG oper-state by @choppsv1 in #20633
- tests: Fix convergence issue in evpn_pim_1 by @donaldsharp in #20635
- zebra: Fix early route processing cleanup when kernel routes are clea… by @donaldsharp in #20641
- Fix for zebra crash and ASAN on es config, bond unlinked to bridge by @raja-rajasekar in #20600
- tests: Add a longer delay for checking vrf state for test_ds_notify.py by @donaldsharp in #20642
- ospfd: fix NULL new_table dereference in get_nexthop_by_addr by @LyZephyr in #20656
- yang: Fix pyang errors in frr-ospf-route-map.yang by @y-bharath14 in #20655
- tests: Fix test_ds_notify.py to wait for mgmtd to fully have requests by @donaldsharp in #20658
- *: various spell fixes round 3 by @chiragshah6 in #20662
- pimd: fix the condition under which we print 'no rp' debug msg by @Jafaral in #20652
- yang: Correct pyang errors in frr-pim.yang by @y-bharath14 in #20664
- pimd: regiface added to ssm group mroute by @soumyar-roy in #20303
- pimd: fix nexthop update issue during link up/down events by @hnattamaisub in #20614
- doc: fix nhrp config typo by @mjstapp in #20667
- tests: log test start, end and result to all log files by @choppsv1 in #20651
- zebra: FRR restart leads to zebra mlag core (backport #20225) by @mergify[bot] in #20677
- bgpd: Fix double-free crash in peer_delete() during doppelganger peer… (backport #20661) by @mergify[bot] in #20688
- staticd: Fix SRv6 SID use-after-free on locator deletion (backport #20660) by @mergify[bot] in #20689
- bgpd: use BGP_PATH_INFO_NUM_LABELS macro in bgp_evpn_path_info_get_l3vni (backport #20679) by @mergify[bot] in #20707
- bgpd: fix md5 password unset on dynamic nbr (backport #20740) by @mergify[bot] in #20741
- bgpd: Show all advertised paths including non-best paths only if addpath is enabled (backport #20618) by @mergify[bot] in #20757
- bgpd: fix batch clearing resume to use correct lookup APIs (backport #20738) by @mergify[bot] in #20748
- ospf6d: Fix FULL adjacency persisting despite MTU mismatch (backport #20681) by @mergify[bot] in #20758
- Non route replace semantics (backport #20725) by @mergify[bot] in #20759
- yang: Fix pyang errors in frr-bgp-filter.yang (backport #20746) by @mergify[bot] in #20766
- bgpd: Ignore transitiveness flag when checking type for link bandwidth (backport #20607) by @mergify[bot] in #20753
- bgpd: EVPN MH fix unimport ES route on vtep change (backport #20730) by @mergify[bot] in #20772
- Zebra fixup nhg handling from kernel (backport #20732) by @mergify[bot] in #20780
- zebra: Updation of ifp->flags (backport #20769) by @mergify[bot] in #20787
- bgpd: unref routes when yielding during clearing iteration (backport #20789) by @mergify[bot] in #20795
- bgpd: validate incoming NOTIFICATION messages (backport #20796) by @mergify[bot] in #20806
- bgpd: fix premature deletion of already-stale routes during GR clearing (backport #20768) by @mergify[bot] in #20801
- Multiple local fix (backport #20798) by @mergify[bot] in #20815
- bgpd: improve flowspec NLRI validation (backport #20814) by @mergify[bot] in #20825
- zebra: EVPN fix access BD deref of mbr intf (backport #20791) by @mergify[bot] in #20833
- Fix ospf checksum #20706 (backport #20729) by @mergify[bot] in #20840
- pimd,ospfd: Passing local source address as part of BFD session creation (backport #20739) by @mergify[bot] in #20848
- babeld: fix NULL pointer dereference in babel_clean_routing_process (backport #20727) by @mergify[bot] in #20849
- debian: prefer libyang3 over libyang2 when building deb packages (backport #20871) by @mergify[bot] in #20873
- tools: Add ldp commands to support bundle generation (backport #20863) by @mergify[bot] in #20876
- ldpd: Reuse port for ldpd sockets that set local ports (backport #20858) by @mergify[bot] in #20878
- tests: Fix grpc-query.py to find micronet (backport #20880) by @mergify[bot] in #20885
- pimd: When address change ensure DR changes too. (backport #20881) by @mergify[bot] in #20890
- lib/typesafe: guard skiplist level generation against ctz(0) UB (backport #20899) by @mergify[bot] in #20903
- tests: fix some python and test syntax (backport #20905) by @mergify[bot] in #20915
- Always compare med fix (backport #20909) by @mergify[bot] in #20916
- ospf6d: recalculate AS-external routes on non-external RIB updates (backport #20882) by @mergify[bot] in #20907
- bgpd: fix memory leak in cluster_intern() (backport #20913) by @mergify[bot] in #20918
- tests: Allow for different bestpaths to be generated. (backport #20889) by @mergify[bot] in #20922
- doc: add some text regarding libyang versions (backport #20862) by @mergify[bot] in #20923
- nhrpd: fix packet and buffer handling errors (backport #20932) by @mergify[bot] in #20940
- eigrpd: handle the gr neighbor list safely in update_receive (backport #20933) by @mergify[bot] in #20937
- lib: display End.DX2 route with appropriate oif attribute (backport #20954) by @mergify[bot] in #20958
- bgpd: Add missing PEER_FLAG_SEND_NHC_ATTRIBUTE for update group flags (backport #20956) by @mergify[bot] in #20969
- bgpd: Fix test for OPEN message with remote-as auto (backport #20963) by @mergify[bot] in #20964
- isisd: Fix remaining buffer size calculation in lsp_bits2string (backport #20984) by @mergify[bot] in #20987
- bgpd: Fix condition when evaluating paths (backport #20975) by @mergify[bot] in #20996
- bgpd: Fix nht to properly notice a change (backport #20986) by @mergify[bot] in #20998
- Add support for libyang5 (backport #20895) by @mergify[bot] in https://github.com/FRRouting/frr/pull/20999
- ospfd: harden TE/SR TLV iteration against malformed lengths (backport #21002) by @mergify[bot] in https://github.com/FRRouting/frr/pull/21012
- GitHub ci improvements (backport #21003) by @mergify[bot] in https://github.com/FRRouting/frr/pull/21021
- ospf6d: clear local ifp per ECMP path rebuild (backport #21037) by @mergify[bot] in https://github.com/FRRouting/frr/pull/21039
- Fix docker (Alpine) compilation (backport #21042) by @mergify[bot] in https://github.com/FRRouting/frr/pull/21046
- bgpd: fix off-by-one error in FlowSpec operator array bounds check (backport #21054) by @mergify[bot] in https://github.com/FRRouting/frr/pull/21058
- lib: fix zclient crash when many peers reconnect after FRR restart (backport #21056) by @mergify[bot] in https://github.com/FRRouting/frr/pull/21069
- lib: fix vty_is_closed() falsely reporting VTY_SHELL as closed (backport #21082) by @mergify[bot] in https://github.com/FRRouting/frr/pull/21090
- bgpd: Check if the NHC length is enough to fill TLV value + TLV header (backport #21074) by @mergify[bot] in https://github.com/FRRouting/frr/pull/21083
- ospfd: fix sequence number check, avoid truncation ambiguity (backport #21096) by @mergify[bot] in https://github.com/FRRouting/frr/pull/21110
- nhrpd: Correct addrlen check in os_recvmsg() (backport #21100) by @mergify[bot] in https://github.com/FRRouting/frr/pull/21119
- ldpd: improve tlv validation in several places (backport #21118) by @mergify[bot] in https://github.com/FRRouting/frr/pull/21129
- bgpd: fix errors in several paths (backport #21101) by @mergify[bot] in https://github.com/FRRouting/frr/pull/21144
- PIM message-handling code fixes (backport #21093) by @mergify[bot] in https://github.com/FRRouting/frr/pull/21136
- tests: Slow down test_config.py to allow for processing time to happen (backport #21127) by @mergify[bot] in https://github.com/FRRouting/frr/pull/21157
- isisd: fix edge condition in max_lsp_count computation (backport #21159) by @mergify[bot] in https://github.com/FRRouting/frr/pull/21160
- lib: fix crash in thread_process_io_inner_loop on stale epoll event (backport #21124) by @mergify[bot] in https://github.com/FRRouting/frr/pull/21156
- bgpd: Return 0 if AS4 capability is malformed (backport #21112) by @mergify[bot] in https://github.com/FRRouting/frr/pull/21168
- tests: Ensure upstream IIF is in correct state after interface events (backport #21114) by @mergify[bot] in https://github.com/FRRouting/frr/pull/21155
- bgpd: Prevent heap use-after-free for tunnel encapsulation attribute (backport #21176) by @mergify[bot] in https://github.com/FRRouting/frr/pull/21177
- CI: fix node js deprecation warning, limit mergify backports github ci runs (backport #21175) by @mergify[bot] in https://github.com/FRRouting/frr/pull/21184
- isisd: fix memory leak in remove_excess_adjs() (backport #21183) by @mergify[bot] in https://github.com/FRRouting/frr/pull/21200
- isisd: Fix missing neighbor address Sub-TLVs after link-params change (backport #21204) by @mergify[bot] in https://github.com/FRRouting/frr/pull/21212
- bgpd: improve packet parsing for EVPN and ENCAP/VNC (backport #21098) by @mergify[bot] in https://github.com/FRRouting/frr/pull/21234
- nhrpd: harden against malformed packets (backport #21097) by @mergify[bot] in https://github.com/FRRouting/frr/pull/21226
- bgpd: harden attribute parsing and packet handling in a few places (backport #21095) by @mergify[bot] in https://github.com/FRRouting/frr/pull/21223
- bgpd: fix NHT for explicit link-local BGP peers (backport #21188) by @mergify[bot] in https://github.com/FRRouting/frr/pull/21218
- ripngd: fix data handling in several places (backport #21217) by @mergify[bot] in https://github.com/FRRouting/frr/pull/21246
- bgpd: Recent bugs for 10.6 by @ton31337 in https://github.com/FRRouting/frr/pull/21256
- vrrrpd: improve error handling in several paths (backport #21251) by @mergify[bot] in https://github.com/FRRouting/frr/pull/21267
- bfdd: harden packet validation and reflector handling (backport #21105) by @Jafaral in https://github.com/FRRouting/frr/pull/21255
- pimd: In sparse-dense mode, treat a group as sparse if an RP is configured (backport #21216) by @mergify[bot] in https://github.com/FRRouting/frr/pull/21291
- tests: Give more time for interface information to show up (backport #21278) by @mergify[bot] in https://github.com/FRRouting/frr/pull/21292
- bgpd: flowspec foobar hardening (backport #21308) by @mergify[bot] in https://github.com/FRRouting/frr/pull/21311
- ospf6d: improve/harden packet processing (backport #21277) by @mergify[bot] in https://github.com/FRRouting/frr/pull/21322
- bgpd: Revalidate locally originated routes against RPKI changes (backport #21302) by @mergify[bot] in https://github.com/FRRouting/frr/pull/21332
- Rpki fix and test improvements (backport #21315) by @mergify[bot] in https://github.com/FRRouting/frr/pull/21327
- pceplib: validate during of_list TLV decoding (backport #21310) by @mergify[bot] in https://github.com/FRRouting/frr/pull/21317
- eigrpd: improve validation and error-handling in tlv parsing (backport #21316) by @mergify[bot] in https://github.com/FRRouting/frr/pull/21362
- pimd: fix crash due to double free (backport #21354) by @mergify[bot] in https://github.com/FRRouting/frr/pull/21358
New Contributors
- @ritika0313 made their first contribution in #19699
- @jkoshy made their first contribution in #19777
- @e-wing made their first contribution in #19765
- @markx-arista made their first contribution in #19794
- @jaredmauch made their first contribution in #20032
- @k-akashi made their first contribution in #20053
- @arikauppi made their first contribution in #20112
- @diego-lopez8 made their first contribution in #20150
- @drosarius made their first contribution in #20236
- @remram44 made their first contribution in #20051
- @yushoyamaguchi made their first contribution in #20342
- @enissim made their first contribution in #20360
- @marek22k made their first contribution in #20142
- @DrunkSkipper made their first contribution in #20598
Full Changelog: frr-10.6.0-dev...frr-10.6.0