We are pleased to announce FRR release 10.2.
FRR 10.2 brings a long list of enhancements and fixes with 748 commits from 59 developers. Thanks to all contributors.
Debian Packages - https://deb.frrouting.org
RPM Packages - https://rpm.frrouting.org
Snaps - https://snapcraft.io/frr
Docker - quay.io/frrouting/frr
Release Overview
Breaking changes
- New "router pim" config node now contains all pim commands similar to other protocols. Existing global PIM commands are deprecated, and may be removed in the future. [#16269]
New Features Highlight:
- PIM candidate BSR/RP [#16438]
- Static IGMP join without an IGMP report [#16450]
- PIM AutoRP discovery/announcements [#16634]
- IGMP proxy [#16861]
- SRv6 SID Manager [#15604]
- Add
bgp ipv6-auto-ra
command [#16354] - Implement
neighbor x remote-as auto
for BGP [#16345] - Implement
bgp dual-as
for BGP [#16816] - Implement BGP-wide configuration for graceful restart [#16099]
- Handle kernel routes appropriately (should fix recent NOPREFIXROUTE issue) [#16300]
- Add
cisco-authentication
password support for NHRP [#16172]
What's Changed
- mgmtd: add notification selection to front-end API by @choppsv1 in #16184
- yang: fix wrong check for isis metric style by @anlancs in #16188
- tests: suppress unused variables at topotests by @y-bharath14 in #16202
- zebra: Use built in data structure counter by @donaldsharp in #16221
- doc: fix one ldp neighbor command by @anlancs in #16225
- ospfd: Drop
interfaceIp
fromshow ip ospf neigh json
by @ton31337 in #16195 - bgpd: Do not start BGP session if BFD profile is in shutdown state by @ton31337 in #16194
- isisd: fix 'show isis route prefix-sid backup' command by @pguibert6WIND in #16179
- nhrpd: add cisco-authentication password support by @dleroy in #16172
- bgpd: fix do not skip paths with same nexthop by @pguibert6WIND in #16153
- zebra: Set the weight for non-recursive next-hop by @ton31337 in #16236
- isisd: After the router switches IS-IS type several times, the neighbor adjacency cannot be established. by @zhou-run in #16230
- Add support for SRv6 SID Manager by @cscarpitta in #15604
- lib: add json API to dump and override row naming convention by @pguibert6WIND in #16237
- tests: Avoid importing unused modules by @y-bharath14 in #16227
- bgpd: Convert over to using vrf name instead of id by @donaldsharp in #16223
- zebra: Prevent starvation in dplane_thread_loop by @donaldsharp in #16224
- bgpd: backpressure - fix evpn route sync to zebra by @chiragshah6 in #16234
- doc: Document the usage of --enable-undefined-sanitizer by @donaldsharp in #16243
- bgpd: fixed failing to remove VRF if there is a stale l3vni by @kacpekwasny in #16059
- bgpd: fix do not use api.backup_nexthop in ZAPI message by @pguibert6WIND in #16260
- zebra: fix evpn mh bond member proto reinstall by @chiragshah6 in #16252
- ospfd: Improve OSPF neighbor retransmission list granularity and pacing by @aceelindem in #16128
- pimd: Candidate RP/BSR preparation by @eqvinox in #16259
- bgpd: Set last reset reason to admin shutdown if it was manually by @ton31337 in #16242
- bgpd: Check if we have really enough data before doing memcpy for software version by @ton31337 in #16211
- bgpd: Check if we have really enough data before doing memcpy for FQDN capability by @ton31337 in #16213
- bgpd: fix "bgp as-pah access-list" with "set aspath exclude" set/unset issue by @fdumontet6WIND in #15838
- docker: Adopt for Alpine Linux 3.20 by @ton31337 in #16222
- isisd: fix crash in display srv6 sid structure in json by @louis-6wind in #16267
- zebra: clear evpn dup-addr return error-msg when there is no vni by @chiragshah6 in #16261
- zebra: Fix coverity issues by @cscarpitta in #16270
- bgpd: Relax OAD (One-Administration-Domain) for RFC8212 by @ton31337 in #16273
- bgpd: A couple more fixes for Tunnel encapsulation handling by @ton31337 in #16214
- Isis show route paths json by @pguibert6WIND in #16182
- bgpd: avoid clearing routes for peers that were never established by @lsang6WIND in #16271
- pimd: fix misplaced braces/logic error in pim_rp_set_upstream_addr by @eqvinox in #16299
- doc: reformat Sphinx conf.py files by @qlyoung in #16301
- doc: improve table-of-contents organization by @qlyoung in #16297
- doc: add ability to disambiguate clicmds by @qlyoung in #14509
- bgpd: Ignore routes from evpn if VRF is unknown by @piotrsuchy in #16068
- bgpd: Ignore RFC8212 for BGP Confederations by @ton31337 in #16305
- ripd/ripd.c - rip_auth_md5 : Change the start value of sequence 1 to 0 by @T-Nicolas in #16233
- isisd: Fix memory leaks when the transition of neighbor state from non-UP to DOWN by @zhou-run in #15716
- Add option to build pkg with grpc support by @mwinter-osr in #16094
- isisd: fix crash when obtaining the next hop to calculate LFA on LAN links by @zhou-run in #16303
- isisd: Extend IS-IS to communicate with the SRv6 SID Manager to allocate/release SRv6 SIDs by @cscarpitta in #15677
- Implement BGP-wide configuration for graceful restart by @Pdoijode in #16099
- ldpd: fix wrong gtsm count by @anlancs in #16226
- tests: Add basic BGP per-safi dampening topotest by @ton31337 in #16331
- bgpd: Drop memset() before encoding EVPN extended communities by @ton31337 in #16333
- yang: Corrected typo at yang file by @y-bharath14 in #16339
- bgpd: Move sticky, default_gw, router_flag into a single flags variable by @ton31337 in #16334
- bgpd: Implement
neighbor X remote-as auto
by @ton31337 in #16345 - sharpd: fix set ZAPI_MESSAGE_NEXTHOP in nhg only when nexthops used by @pguibert6WIND in #16346
- isisd: When operating multiple areas, the system ID behaves abnormally. by @zhou-run in #16090
- tests: Extended bgp_remote_as_auto topotest with unnumbered case by @ton31337 in #16348
- ospfd: Fix several problems with direct and delayed acknowledgments by @aceelindem in #16351
- tests: Rename BGP OAD test function by @ton31337 in #16352
- bgpd: Print tableid when sending (add/remove) routes to Zebra by @ton31337 in #16353
- lib, tests: fix some b0rked tests, then fix TSAN warnings by @eqvinox in #16258
- isisd: The neighbor entry still displays the deleted hostname of the neighbor. by @zhou-run in #16241
- Duplicate fib proposal by @pguibert6WIND in #16342
- ripd/ripngd: use common header for display command by @anlancs in #16229
- lib: Discourage usage of deprecated data structures by @donaldsharp in #16140
- yang: Added default value to leaf by @y-bharath14 in #16369
- tests: tweak timers to avoid frequent failures on slow CI hardware by @Jafaral in #16363
- zebra: Fix to avoid two Vrfs with same table ids by @raja-rajasekar in #16350
- staticd: fix missing static routes by @anlancs in #16373
- isisd: fix crash when calculating the neighbor spanning tree based on the fragmented LSP by @zhou-run in #16365
- bgpd: Mark VRF instance as auto created if import vrf is configured for this instance by @ton31337 in #16374
- bgpd: backpressure - fix to properly remove dest for bgp under deletion by @raja-rajasekar in #16368
- ospfd: fix state location mixup by @eqvinox in #16361
- bfdd: changes for code maintainability by @sri-mohan1 in #16394
- doc: adjust some commands for pim/pimv6 bsr by @anlancs in #16411
- Router pim config by @nabahr in #16269
- nhrpd: Fixes auth config change bug by @dleroy in #16417
- tests: OSPFv3 hello tests investigation, make assert output unique by @nabahr in #16415
- build: display local state dir configuration by @louis-6wind in #16409
- nhrpd: Fixes auth no redirect bug by @dleroy in #16422
- Drop deprecation for
show thread ...
by @ton31337 in #16406 - bgpd: Show extended parameters support for the OPEN messages by @ton31337 in #16423
- yang: Corrected range in yang file by @y-bharath14 in #16392
- yang: Fixed pyang warnings at frr-bfdd yang file by @y-bharath14 in #16412
- tests: Fix topotest warnings by @cscarpitta in #16426
- tools: Do not append an empty list (pim_vrfs) to the config lines by @ton31337 in #16425
- zebra: evpn: not coerce VTEP IP to IPv4 in nh_list by @crosser in #16341
- bgpd: changes for code maintainability by @sri-mohan1 in #16408
- lib: move non-error from __log_err to __dbg by @choppsv1 in #16429
- pimd: fix crash on non-existent interface by @louis-6wind in #16309
- tools: Ignore ALIAS_* macros for clang-formatter by @ton31337 in #16407
- pimd: fix compile warnings by @Jafaral in #16432
- bgpd: backpressure - Avoid use after free by @raja-rajasekar in #16437
- zebra: Properly note that a nhg's nexthop has gone down by @donaldsharp in #16330
- ospfd: fix internal ldp-sync state flags when feature is disabled by @c-po in #16376
- bgpd: fix label lost when vrf loopback comes back by @lsang6WIND in #16403
- zebra: add nexthop counter to 'show zebra dplane' command by @pguibert6WIND in #16410
- yang: Added missed prefix to the frr-deviations-ietf-routing yang file by @y-bharath14 in #16428
- lib: mgmtd: fix too early daemon detach of mgmtd by @choppsv1 in #16451
- tests: Avoid using unused modules and variables at FRR test suites by @y-bharath14 in #16240
- isisd: Even after configuring "no hostname dynamic", the topology still displays the hostname. by @zhou-run in #16232
- bgpd: Pass a connection struct directly for EVENT_OFF() by @ton31337 in #16456
- tests: Delay initial OPEN after we do
clear bgp
by @ton31337 in #16455 - doc: Add RFC 5701 to the supported RFCs list by @ton31337 in #16469
- build: fix a few python string escape warnings by @eqvinox in #16449
- zebra: Remove duplicate
#include
s by @cscarpitta in #16464 - zebra: changes for code maintainability by @sri-mohan1 in #16041
- bgpd: Keep the last reset reason before we reset the peer by @ton31337 in #16470
- pimd: Fix msdp setting of sa->rp by @donaldsharp in #16472
- bgpd: backpressure - fix ret value and log err for evpn by @raja-rajasekar in #16416
- bgpd: Show software version in bgp summary by @ton31337 in #16473
- bgpd: Do not increment treat-as-withdraw counters if debug is enabled by @ton31337 in #16471
- isisd: fix building flex-algo asla at init by @louis-6wind in #16467
- bfdd: remove obsolete control socket by @rzalamena in #16463
- isis, lib: add isis srv6 end sid to ls_prefix by @pguibert6WIND in #15797
- Test fixes by @donaldsharp in #16485
- bgpd: Do not process VRF import/export to/from auto created VRF instances by @ton31337 in #16491
- tests: Test MSDP RPF by @adrianomarto in #16490
- tests: topotests/lib: add wait to RequireVpnRoutes, RequireUnicastRoutes by @paulzlabn in #16492
- pimd: MSDP SA filtering support by @rzalamena in #12484
- nhrpd: fixes duplicate auth extension by @dleroy in #16480
- pimd: MSDP peer MD5 authentication by @rzalamena in #12459
- zebra: Fix removal of routes on MetaQ when client goes down by @donaldsharp in #16494
- babel: Added null check after retrieving babel_ifp by @y-bharath14 in #16178
- doc: Add some topotest documentation about how to reproduce failures by @donaldsharp in #16496
- bgpd: Check the actual remaining stream length before taking TLV value by @ton31337 in #16497
- bgpd: Show which AFI is affected when prefix-list is not found by @ton31337 in #16500
- bgpd: Use bgp_session_reset_safe() for GR update all peers by @ton31337 in #16499
- pimd: fix possible NULL dereference by @rzalamena in #16509
- Test timing fixes by @donaldsharp in #16510
- Preprocess vtysh by @donaldsharp in #16501
- bgpd: Clear previously allocated capabilities values before parsing a new OPEN by @ton31337 in #16521
- tests: wait for test client to connect before running test by @choppsv1 in #16523
- bgpd: Remove BGP_UPDATE_DELAY_MIN/MAX by @ton31337 in #16525
- lib: fix crash on distribute-list delete by @idryzhov in #16530
- tools: Fix python string escape warnings for frr-reload.py by @ton31337 in #16526
- ripd: fix show run output for distribute-list by @idryzhov in #16531
- lib: add seg6localContext json attribute in nexthop information by @pguibert6WIND in #16535
- Tests memory shut by @donaldsharp in #16539
- Fix LYD_NEW_PATH_OUTPUT issue to support libyang v3.x by @oplklum in #16511
- mgmtd: don't add implicit state data when reading config from file by @idryzhov in #16529
- lib: fix distribute-list deletion by @idryzhov in #16551
- Shrink a couple bytes of struct attr by @ton31337 in #16548
- lib: Don't print warning if not a daemon by @donaldsharp in #16542
- zebra: Ensure non-equal id's are not same nhg's by @donaldsharp in #16554
- bgpd: add bgp snmp traps rfc4382 command by @pguibert6WIND in #16420
- mgmtd: Add to .gitignore for mgmtd_testc program by @donaldsharp in #16556
- isisd: fix memory handling in isis_adj_process_threeway() by @mjstapp in #16545
- bgpd: fixes for ipv4 mapped ipv6 address by @louis-6wind in #16439
- doc: Document on how to start specific daemons with unified config in topotests by @ton31337 in #16534
- lib: Fix memory leak in snmp on shutdown by @donaldsharp in #16555
- pathd: Cleanup shutdown memory leaks by @donaldsharp in #16557
- doc: Fix up pim user docs. by @nabahr in #16558
- tests: Fix bgp_duplicate_nexthop python warning by @donaldsharp in #16559
- zebra: Do not forget to free opaque data for route entry by @ton31337 in #16576
- doc: Add doc to show sysctl setting for Sanitizers by @donaldsharp in #16575
- bgpd: Avoid use-after-free when doing
no router bgp
with auto created instances by @ton31337 in #16579 - bgpd: Free up non-freed json memory on function return by @donaldsharp in #16574
- tests: add retries to nhg tests in all_proto_startup by @mjstapp in #16583
- More memory leaks on shutdown by @donaldsharp in #16578
- bgpd: fix memory type for static->prd_pretty by @pguibert6WIND in #16585
- bgpd: Move evpn_overlay to a pointer by @ton31337 in #16549
- tests: Fix route_scale startup issues by @donaldsharp in #16586
- ospfd: Remove deprecated router_info_area_id_cmd by @ton31337 in #16589
- *: Fix spelling errors found by @donaldsharp in #16590
- pimd: fix missing checking the return value for igmp command by @anlancs in #16599
- ospfd: Fix SA warnings in ospf_packet.c and ospf_vty.c by @aceelindem in #16601
- lib, zebra: Fix a couple compilation warnings by @cscarpitta in #16603
- mgmtd: fix a couple compilation warnings. by @choppsv1 in #16602
- Spelling in master 2 by @donaldsharp in #16605
- zebra: fix loading kernel routes without netlink by @kprovost in #16597
- bgpd: fix crash at no rpki by @louis-6wind in #16608
- doc: update sphinx configs for RTD changes by @qlyoung in #16619
- bgpd: fix, do not access peer->notify.data when it is null by @dmytroshytyi-6WIND in #16546
- tests: dont print sys.path when running grpc-query.py by @choppsv1 in #16621
- tests: update munet to 0.14.10 by @choppsv1 in #16620
- Weight issues by @donaldsharp in #16613
- PIM: Implement static IGMP joins without an IGMP report by @nabahr in #16450
- Babel metric by @donaldsharp in #16630
- Revert ipv4-mapped ipv6 and 6vpe nexthop in BGP by @Jafaral in #16615
- Sa warnings from upstream by @donaldsharp in #16632
- Mimic GNU basename() API for non-glibc library e.g. musl by @kraj in #15561
- config: fix missing case when reporting version 'configured with' by @Jafaral in #16633
- nhrpd: fix sending /32 shortcut by @louis-6wind in #16640
- Reduce the number of Singleton objects when using weight for NHG's by @donaldsharp in #16609
- bgpd: add json support for BGP L3NHG values by @pguibert6WIND in #16631
- pimd: Fix crash in pimd by @csiltala in #16646
- bgpd: Free epvn_overlay memory on error by @ton31337 in #16649
- tests: Fix frequent ospfv3 basic functionality test failure by @Jafaral in #16657
- tests: Allow convergence before adding multicast routes by @donaldsharp in #16656
- zebra: be consistent about v6 nexthops for v4 routes by @mjstapp in #16103
- tools, ospfclient: add a config option to skip installing python scripts by @Jafaral in #16610
- bgpd: Filter Prefix-SID, Encap, PMSI Tunnel by @ton31337 in #16652
- isisd: fix crash at flex-algo without mpls-te by @louis-6wind in #16665
- bgpd: Respect BLACKHOLE community for internal BGP peering also by @ton31337 in #16651
- bgpd: fix labels static-analyser by @louis-6wind in #16655
- mgmtd: Ensure map is NULL by @donaldsharp in #16677
- Lua stack dumping by @ton31337 in #16676
- Local connected by @donaldsharp in #16300
- doc: Update topotest doc to include iptables is needed by @donaldsharp in #16679
- lib: Memory spike reduction for sh cmds at scale by @raja-rajasekar in #16672
- tests: Fix bgp_default_originate_topo1_3 by @donaldsharp in #16673
- zebra: Move prefix lookup to outside re loop by @donaldsharp in #16681
- tests: Ensure bgp suppress fib has a chance to transmit data to peer by @donaldsharp in #16682
- tests: ospf_netns_vrf should give more time for coming up by @donaldsharp in #16683
- tests: Fix route-scale at higher ecmp by @donaldsharp in #16680
- doc: Document the git revert flow by @ton31337 in #16685
- *: simplify frrlib debug by @mjstapp in #16664
- tests: increase the timeout for packet padding check by @Jafaral in #16687
- zebra: Convince SA that the ng will always be valid by @donaldsharp in #16692
- Blackhole and afi by @donaldsharp in #16689
- No connected/local/kernel nexthops at first by @donaldsharp in #16688
- tests: detect all daemons correctly when using frr.conf by @Jafaral in #16701
- nhrpd, test: fix nhrp_redundancy topotest by @louis-6wind in #16698
- Memory type stuff by @donaldsharp in #16711
- fix native munet topotest by @choppsv1 in #16726
- bgpd: fix proper json format for unicast statistics for non exists vrf by @chiragshah6 in #16725
- bgpd: Ensure evpn local table display shows route send status by @donaldsharp in #15605
- bgpd: Print errors as error not as information when parsing OPEN message by @ton31337 in #16713
- isisd: fix update link params after circuit is up by @louis-6wind in #16667
- bgpd: Do not send route-refresh if it wasn't negotiated in capabilities by @ton31337 in #16712
- bgpd: fix duplicated test clause by @mjstapp in #16736
- tools: fix invalid escape on regex string by @gtataranni in #16733
- isisd: Add missing
exit
statement toshow running-config
output by @cscarpitta in #16724 - bgpd: remove redundant loopback check in label update by @lsang6WIND in #16743
- bgpd: Retry connecting to label manager if failed by @ton31337 in #16749
- bgpd: Extend BGP to communicate with the SRv6 SID Manager to allocate/release SRv6 SIDs by @cscarpitta in #15676
- tests: Skip bgp_l3vpn vrf tests on 32bit systems by @mwinter-osr in #16752
- bgpd: Some peer-groups related changes/fixes by @ton31337 in #16751
- Zebra fpm backpressure by @donaldsharp in #16220
- babeld: changes for code maintainability by @sri-mohan1 in #16754
- tests: nhrp, use unified config, remove misleading error log by @Jafaral in #16746
- ospfd: add assert to resolve SA warning by @mjstapp in #16757
- bgpd: Reduce # of iterations when doing llgr by @donaldsharp in #16758
- bgpd: Drop unused route-map types by @ton31337 in #16721
- improve @Retry decorator by @choppsv1 in #16762
- bgpd: changes for code maintainability by @sri-mohan1 in #16756
- tests: Add topotest to validate the sharing of an SRv6 locator among multiple protocols by @cscarpitta in #15679
- lib: fix clang SA warnings by @choppsv1 in #16764
- tests: add asyncio default config param to quiet warning by @choppsv1 in #16777
- bgpd: changes for code maintainability by @sri-mohan1 in #16768
- zebra: add LSP entry to nexthop via recursive (part 2) by @dmytroshytyi-6WIND in #15259
- bgpd: Validate imported routes next-hop that is in a default VRF by @ton31337 in #16748
- ospfd: logging behavior for area id mismatches by @lsang6WIND in #16759
- isisd: fix crash at flex-algo affinity setting by @louis-6wind in #16772
- nhrpd: Added a command "no tunnel protection vici profile PROFILE" by @aapostoliuk in #16778
- isisd: fix crash when reading asla by @louis-6wind in #16718
- doc: add some text about using git forks by @mjstapp in #16789
- zebra: Add more vrf name to debugs by @donaldsharp in #16798
- pimd: fix crash for two commands by @anlancs in #16810
- tests: fix isis_lsp_bits_topo1 race condition by @louis-6wind in #16807
- ospfd: An OSPF Ack should be sent when P2MP reflooding is delayed by @aceelindem in #16799
- bgpd: changes for code maintainability by @sri-mohan1 in #16792
- bgpd: fix as-path exclude modify crash by @louis-6wind in #16779
- nhrpd: fixes duplicate auth extension by @garyachy in #16808
- tests: Adjust minimum wait/count timers for run_and_expect() if they are too low by @ton31337 in #16815
- ospfd: missing '[no]ip ospf graceful-restart hello-delay ' commands by @ak503 in #16818
- PIM candidate BSR/RP support by @Jafaral in #16438
- pimd: use vty_json by @Jafaral in #16829
- improvements for xdist mode by @choppsv1 in #16827
- bgpd, lib: Include SID structure in seg6local nexthop by @cscarpitta in #16835
- zebra: include the prefix in nht show command by @enkechen-panw in #16828
- Add
created
andchanged
booleans toedit-reply
message by @choppsv1 in #16839 - isisd: fix rcap tlv double-free crash by @louis-6wind in #16809
- Bgp give some ordering increases by @donaldsharp in #16774
- bgpd: add counters for redistributed and aggregated routes by @enkechen-panw in #16850
- bgpd: changes for code maintainability by @sri-mohan1 in #16852
- add ietf-yang-library support by @choppsv1 in #16840
- bgpd: Remove deprecated RPKI command by @ton31337 in #16849
- bgpd: Do not scan update-groups if default-originate timer is set to 0 by @ton31337 in #16720
- bgpd: Implement BGP dual-as feature by @ton31337 in #16816
- bgpd: remove bgpd.h from bgp script header by @mjstapp in #16841
- ospfd: Add vrf name to debug functions in ospf_zebra.c by @donaldsharp in #16856
- Zebra evpn mac cleanup by @donaldsharp in #16846
- tests: use logger.warning not logger.warn by @donaldsharp in #16857
- ospfd: Fix heap corruption vulnerability when parsing SR-Algorithm TLV by @aceelindem in #16860
- bgpd: changes for code maintainability by @sri-mohan1 in #16868
- bgpd: define val in ecommunity_val as uint8_t by @enkechen-panw in #16848
- zebra: Remove nl_addraw_l by @donaldsharp in #16872
- bgpd: fix 'nexthop_set failed' error message often displayed by @pguibert6WIND in #16782
- lib: Attach stdout to child only if --log=stdout and stdout FD is a tty by @odivlad in #16738
- isisd: Remove deprecated JSON fields by @ton31337 in #16875
- bgpd: fix misplaced arguments in bgp_redistribute_add() by @enkechen-panw in #16874
- zebra: Send a correct size of ctx->nh6 for SRv6 SEG6_LOCAL_ACTION_END_DX6 by @ton31337 in #16876
- zebra: Pass in ZEBRA_ROUTE_MAX instead of true by @donaldsharp in #16881
- tests: Add a very basic
dump bgp PATH..
topotest by @donaldsharp in #16883 - tests: Remove
log monitor XX
from topotests by @cscarpitta in #16888 - tests: Remove duplicate
check_ping
import by @cscarpitta in #16889 - tests: Add more SRv6 testcases by @cscarpitta in #16892
- yang: added as-notation leaf to global-bgp-config by @Ali-aqrabawi in #16891
- ospfd: Interface 'ip ospf neighbor-filter' startup config not applied. by @aceelindem in #16886
- isisd: Fix infinity flag not being set successfully by @zhou-run in #16887
- zebra: unlock if_table route_nodes by @mjstapp in #16882
- yang: use relative path for route-map by @louis-6wind in #16873
- bgpd: cancel events once in peer_free() by @mjstapp in #16859
- tests: Add v4/v6 forwarding off/on by @donaldsharp in #16902
- bgpd - Exclude case for remote prefix w/o link-local #16198 by @cunningr in #16219
- OSPF6: Refactor to prepare for E-LSA handling by @acooks-at-bda in #16533
- Refreshement of BGP multi ASNs by @ton31337 in #16838
- ospfd: reset spf_hold_multiplier when current SPF delay state is changed by @Shbinging in #16851
- ospfd: fix snytax of some no commands by @Shbinging in #16853
- tests: Simplify BGP dual-as topotest by @ton31337 in #16895
- tests: fix zebra_rib range by @louis-6wind in #16904
- bgpd: Return NOMATCH only if both conf_if/group does not exist by @ton31337 in #16906
- lib: Load built-in Lua functions by @ton31337 in #16907
- isisd: Fix NHLFE entry memory leaks by @zhou-run in #16855
- nhrpd: Implement retrying resolution request by @jmuthiilabn in #16788
- Add igmp proxy support by @btrent98 in #16861
- ospf6d: Remove unguarded debugs in ospf6_snmp.c by @donaldsharp in #16908
- PIM: Implement AutoRP functionality by @nabahr in #16634
- Command node is fun by @donaldsharp in #16911
- lib: Help text correction by @donaldsharp in #16909
- bgpd: changes for code maintainability by @sri-mohan1 in #16912
- bgpd: Remove dead code from recent commit by @donaldsharp in #16915
- pimd: Fix new issues found in coverity by @nabahr in #16916
- zebra snmp fixes by @donaldsharp in #16918
- bgpd: EVPN fix per rd specific type-2 json output by @chiragshah6 in #16913
- pimd: fix a possible use after free bug when doing pim trace by @Jafaral in #16929
- bgpd: changes for code maintainability by @sri-mohan1 in #16931
- *: Modify clang-format column limit to 100 by @donaldsharp in #16934
- bgpd: changes for code maintainability by @sri-mohan1 in #16939
- pimd: enhance topotest of autorp, fix autorp cli bug by @btrent98 in #16938
- pimd: miscellaneous fixes by @rzalamena in #16957
- lib: fix calloc warning on recent compiler by @rzalamena in #16958
- pimd: fix missing IPV4 check by @anlancs in #16955
- tools: fix missing check interfaces for reloading pim by @anlancs in #16952
- Mp info changes by @donaldsharp in #16961
- bfdd: add no variants to interval configurations by @rzalamena in #16968
- lib: nexthop code should use uint16_t for nexthop counting by @donaldsharp in #16967
- bgpd: Actually make
--v6-with-v4-nexthops
it work by @ton31337 in #16971 - bgpd: fix printfrr_bp for non initialized peers by @louis-6wind in #16977
- bgpd: Remove unused bgp_mp_dmed_deselect function by @donaldsharp in #16978
- bgpd: Print debug message about reaching maximum allowed multi paths by @ton31337 in #16989
- bgpd: changes for code maintainability by @sri-mohan1 in #16992
- bfdd: add no variants to all configurations by @louis-6wind in #16993
- bgpd: export labels to pre-policy bmp by @louis-6wind in #16994
- zebra: Fix crash during reconnect by @fsb4000 in #17000
- Nhg reuse intf down up by @donaldsharp in #16800
- tools: fix some special commands for reloading pim by @anlancs in #17010
- zebra: remove unused function rib_lookup_ipv4 by @dksharp5 in #17012
- Removal functions by @dksharp5 in #17013
- lib: add flag to have libyang load internal ietf-yang-library module by @choppsv1 in #17015
- pimd: fix a possible crash when enabling debug autorp by @Jafaral in #17024
- isisd: fix wrong check for MT commands by @anlancs in #17014
- tests: catch exception during switch shutdown by @y-bharath14 in #15903
- vrrpd: iterate over all ancillary messages by @rzalamena in #17022
- bgpd: Relax the same prefix and nexthop to be valid by @ton31337 in #16941
- TI-LFA incorrectly included pseudo-nodes when calculating PQ space. by @baozhen-H3C in #16942
- bgpd: Show unmodified version of received-routes per neighbor by @ton31337 in #16945
- Pw cleanup by @donaldsharp in #17009
- zebra: Allow dplane to pass larger number of nexthops down to dataplane by @donaldsharp in #17023
Full Changelog: frr-10.2-dev...frr-10.2