Summary of Changes:
*:
- Fix overflow in comparator functions used by sorted containers
bfdd:
- Avoid close(-1) in bfd_dplane_finish_late
bgpd:
- Allow GR-helper stale paths through the evaluate_paths peer-down skip
- Backport ieee link-bw disable fixes to 10.5
- Fix route-map use count for EVPN no advertise
- Fix RD route_node refcount leak in bgp_safi_node_lookup()
- Fix link-bandwidth AS truncation for extended encoding
- Fix BAD_COPY_PASTE in bgp_path_info_cmp()
- Check against NULL for bgp_evpn when handling VNI from Zebra
- Make sure we do bgp_dest_unlock_node() after bgp_process()
- Fix link-bandwidth extended community handling above ~34 Gbps
- Fix crash for `no neighbor X path-attribute discard ...`
- Don't emit "no neighbor X capability link-local" for unnumbered peers
- Do not accept AIGP for OAD peers if not enabled
- Fix bmp connect deletion with source-interface
- Ignore parsing ORF route-refresh messages
- Avoid memory leak via EVPN Type-4 nexthop churn
- Avoid using dangling evpn pointr for bgp_debug_rdpfxpath2str()
- Fix strlcat/strlcpy size parameter in NOTIFICATION send path
- Don't advertise LLGR stale routes to non-LLGR peers
- Only use 32-bit AS in aggregator attr when negotiated
- Fix nexthop attr validation
- Fix return NULL in bool function ecommunity_node_target_match
- Add LLGR to capability length validation switch
- Fix community string truncation for big community sets
- Free community json object before regenerating
- Improve handling of single index in ecom2str()
- Avoid cluster list attribute truncation
- Set extended flag for NHC attribute when re-encoding
- Remove unneeded sort of communities in rmap delete
- Start BFD hold timer ONLY if hold-time is configured (not zero)
- Set strict mode flag when we configure BFD hold-timer
- Fix infinite loop in MRT route dump for oversized paths
- Skip route-map LPM optimisation for AF_FLOWSPEC
- Fix use-after-free for ORF case
- BGPd crash due to multiple bnc entry linked to same peer.
- Cancel BFD strict hold timer on peer delete
- Cancel LLGR stale timer on peer AF delete
- Fix crash of bgp_bmp.c with a mirror situation
- Validate EVPN Type-5 NLRI prefix length for IPv4
- Check if sub TLV's length is sufficient for BGP_PREFIX_SID_SRV6_L3_SERVICE_SID_INFO
- Skip route clearing for peers that were never established
- Allow `no network ....` form for safi = EVPN or MPLS_VPN
- Fix EVPN VRF auto RT deletion collision
- Prevent assert on shutdown in evpn setup
- Prevent crash when list is already NULL
- Fix shutdown crash by restricting evpn cleanup to owner instance
- Fix valgrind memory leaks on daemon shutdown
- Define a maximum number of TLVs for ENCAP attribute
- Replace assert() with a boundary check condition
- Move rpki strict check to bgp_accept()
github:
- Drop commitlint check
isisd:
- Consume incomplete Router Capability subTLV header
- Parse zero-length Router Capability subTLVs
- Skip only Router Capability bytes on bad subTLV
- Use subTLV header size in Router Capability parsing
- Validate ASLA sub-sub-TLV length before consuming bytes
- Reject duplicate SRv6 SID Structure Sub-Sub-TLV
ldpd:
- Check fec elem length before accessing
- Allow event_add_read to work properly on initial
lib:
- Clear seg6local context when deleting seg6local state
- Fix ZAPI SRv6 nexthop comparison
- Fix wrong nexthop comparision for SRv6
- Bound masklen values, don't assert
- Test the right bytes in flowspec prefixes
- Fix NULL deref in frr_signal_timer
- Add missing hook_unregister_arg in mgmt_be_client_destroy
lib, zebra:
- Bound SRv6 locator name length in ZAPI
nhrpd:
- Validate strictly in nhrp_cie_pull() code path
- Validate more in parse_ether_packet() path
- Validate header sockunions
ospf6d:
- Bypass MinLSArrival for self-originated MaxAge LSAs
- Check length before accessing grace LSA TLVs
ospfd:
- Validate PREFIX_SID subtlv len before accessing
- Validate extended prefix TLV before accessing prefix SID
- Remove unnecessary space
pimd:
- Use RFC 3973 dm graft retry period for retransmission
- Fix wrong endian convertion
- Fix heap OOB write in BSM fragmenter
- Apply candidate-BSR priority changes directly
- Remove duplicate PIM_BSM_FRAG mtype declarations
- Count BSM stats for unicast Candidate-RP messages
- Free BSR Candidate-RP database on instance teardown
- Handle BSR unicast socket creation failure
- Fix candidate-BSR JSON address formatting
- Fix Candidate-RP group bounds check for PIMv6
- Fix inverted PIM socket receive failure counter
- Refresh i_am_rp after BSR RP mapping updates
- Fix mapping agent AutoRP discovery packet size
- Guard NULL rp lookup in pim_bsm_clear upstream refresh
- Guard NULL rp_all when instating BSM pending RP list
- Guard NULL rp lookup in pim_rp_del upstream refresh
- Fix crash when up->channel_oil is NULL
- MLAG: skip pim_register_join on non-DR
- Cap neighbors and reject PIM when iface has no PIM
- Provide better ordering for calling pim_upstream_use_rpt
- Harden BSM group/RP parsing paths
- Cap PIM Hello secondary address list parsing
- Reject truncated IP datagrams before IGMP/mtrace handling
tests:
- Update IS-IS TLV fuzzing data
- Edit bgp_evpn_rt5_addpath to pass on 10.5 branch
- Cover EVPN advertise route-map counter cleanup
- Fixup frr_load_config to be correct for 10.5 branch
- Check if AIGP attribute is ignored at inbound if not enabled
- Allow bfdd to be part of the unified config world
- Add community unit tests
- Expand PIM candidate BSR/RP topotest coverage
- Add BSR RP daemon-kill failover topotests
- Extend BSR fallback topotests to verify iAmRP
- Add a bgp bmp mirror test
tools:
- Add show neigh to support bundle generation
yang:
- Allow match-metric value of zero
zebra:
- Notify the client when an SRv6 SID allocation fails
- Don't leave stale interface pointers in the VNI databases
- Fix heap use after free link interface invalid when ifp freed
- Fix SRv6 source-address config output
- Fix neighbor entries ns_id
- Tear down old L3VNI before adding new one on VNI value change
Signed-off-by: Jafar Al-Gharaibeh <jafar@atcorp.com>