FRR Mirror
  1. FRR Mirror

FRR

Public
AuthorCommitMessageCommit dateIssues
Donald SharpGitHubDonald Sharp
4b658647dd4MMerge pull request #21293 from enkechen-panw/zebra-tagzebra: fix spurious tag mismatch in rib_route_match_ctx()
Donald SharpGitHubDonald Sharp
3526e67c8c0MMerge pull request #21289 from mjstapp/fix_bgp_ls_admin_groupbgpd: call init, term, copy LS attr admin_group
Enke ChenEnke Chen
9b3489d043dzebra: fix spurious tag mismatch in rib_route_match_ctx()rib_route_match_ctx() matches a returning dplane result back to the correct route_entry. For ZEBRA_ROUTE_STATIC it narrowed the match using both distance and tag. However, tag is an attribute of the route_entry, not part of its identity — a tag change modifies the route_entry in place without creating a new one. Including tag in the match creates a race: if a tag update arrives and modifies ...
Jafar Al-GharaibehGitHubJafar Al-Gharaibeh
300c04b70fcMMerge pull request #21278 from donaldsharp/tests_wucmp_slowertests: Give more time for interface information to show up
Donald SharpGitHubDonald Sharp
743405c3c8cMMerge pull request #21216 from Jafaral/pim-sm-rppimd: In sparse-dense mode, treat a group as sparse if an RP is configured
Mark StappMark Stapp
014469cdb32bgpd: properly copy ls attr's admin_groupthe bgp_ls_attr_copy() function must make a separate copy of the embedded admin_group in the bgp_ls_attr. Signed-off-by: Mark Stapp <mjs@cisco.com>
Mark StappMark Stapp
d0cff44d314bgpd: call init and term funcs for LS attr admin_groupThere's an admin group struct embedded in the BGP LS attr; it needs to be init'd and freed. Reported-by: Haruto Kimura (Stella) <harutokimura0608@gmail.com> Signed-off-by: Mark Stapp <mjs@cisco.com>
Donatas AbraitisGitHubDonatas Abraitis
3ee293f404cMMerge pull request #21285 from cscarpitta/fix_bgp_ls_cmp_functionsbgpd: Fix incorrect comparisons in BGP-LS *_cmp() functions
Carmine ScarpittaCarmine Scarpitta
a462e15977cbgpd: Fix incorrect comparisons in BGP-LS *_cmp() functionsComparison functions in bgp_ls_nlri.c return (a - b) on unsigned integer fields. The unsigned subtraction result is then implicitly converted to int (the return type). When the difference exceeds INT_MAX the sign flips, inverting the result: a = 0xFFFFFFFF, b = 0 (uint32_t)a - b = 0xFFFFFFFF -> cast to int gives -1 -> caller sees a < b, which is wrong These functions are expected to ret...
Donald SharpGitHubDonald Sharp
ae7c04c536eMMerge pull request #21283 from cscarpitta/fix_srv6_bgp_grt_rmap_changebgpd: Fix SRv6 SID export route-map update not taking effect
Donald SharpGitHubDonald Sharp
5b86c319bbfMMerge pull request #21284 from cscarpitta/fix_bgp_grt_testtests: Fix wrong expectations in `bgp_srv6_unicast` topotest
Carmine ScarpittaGitHubCarmine Scarpitta
bbc532dbaebMMerge pull request #21076 from hedrok/bgp_ls_ad_prefix_sid_tlv_1158bgpd: BGP-LS: add Prefix SID (TLV 1158)
Carmine ScarpittaCarmine Scarpitta
52e96d2bc6ctests: Fix test_bgp_srv6_sid_unexport expectationsAfter removing sid export on R1, the test checks both 10.0.0.1/32 and 10.0.0.3/32 on R2 with expect_sid="", expecting neither to carry a SRv6 SID. This is wrong: 10.0.0.3/32 is originated by R3 which still has sid export configured, so it should still be seen on R2 with r3_unicast_sid. This wrong expectation was not caught because check_route() did not verify the absence of a SID when expect_s...
Carmine ScarpittaCarmine Scarpitta
543bbb7a9d1tests: Fix check_route not verifying absence of SIDWhen check_route() is called with expect_sid="" to assert that a route has no SRv6 SID, it silently succeeds even if a SID is present. Add an explicit check: when expect_sid is "", return an error if a SRv6 SID is found on the route. Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine ScarpittaCarmine Scarpitta
141ca524899tests: Add test for sid export route-map update in bgp_srv6_unicastAdd test_bgp_srv6_sid_rmap_update() to verify that replacing an already-configured sid export route-map with a different one correctly applies the new policy. The test reconfigures R1 with a new route-map (filter2) that excludes 10.0.0.1/32 from SID assignment, confirms the prefix loses its SRv6 encapsulation on R2 and becomes uninstalled on R3, then restores the original route-map (filter) an...
Carmine ScarpittaCarmine Scarpitta
e1f50172868bgpd: Fix sid export route-map update not taking effectWhen `sid export ... route-map <name>` is reconfigured with a different route-map on an already-configured SID export, the new route-map is silently ignored. The code skips the early-return (rmap_str != rmap_name), but then calls bgp_srv6_unicast_announce() without updating rmap_name, so the old route-map remains in effect. Fix this by replacing rmap_name before triggering the re-announce: dec...
Donald SharpGitHubDonald Sharp
8da35c5888aMMerge pull request #21281 from LabNConsulting/chopps/fix-lyd-new-term-argzebra: lib: use old compatible value for lyd_new_term
Christian HoppsChristian Hopps
38b9fe0d3bbzebra: lib: use old compatible value for lyd_new_termFor now use backward compatible `false` value for the penultimate arg to `lyd_new_term()` to match earlier versions of libyang API. This matches all the other current uses of `lyd_new_term()` in the code. Signed-off-by: Christian Hopps <chopps@labn.net>
Donald SharpGitHubDonald Sharp
a1b5032c7d8MMerge pull request #21065 from LabNConsulting/chopps/nmda+router-id-op-stateEnable RFC8342 YANG NMDA functionality and add router-id oper-state that uses it.
Christian HoppsGitHubChristian Hopps
eace8561461MMerge pull request #21276 from donaldsharp/mgmt_external_routezebra: Move `allow-external-route-update` to mgmt frontend side
Nathan BahrNathan Bahr
d135bbb6a76doc: Update pim mode user documentation.Signed-off-by: Nathan Bahr <nbahr@atcorp.com>
Donald SharpDonald Sharp
551a787919ftests: Give more time for interface information to show upThe test failed in upstream CI because the loopback did not have the address as of yet as part of a `show interface`. The `show run` showed that the address was applied, but the interface information in zebra and from `ip ...` commands showed that the data had not finished being sent to the kernel. Give this test more time to converge. Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Donald SharpDonald Sharp
e4dca9e92f1zebra: Move `allow-external-route-update` to mgmt frontend sideThe `allow-external-route-update` command was being compiled into the zebra side of the nb code. Thus when configuration was being applied that uses mgmtd as a frontend and zebra as the frontend one would get there first and lock the database, preventing the other side from working. Move this command to the correct spot. Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Donatas AbraitisGitHubDonatas Abraitis
1323200beafMMerge pull request #21265 from chiragshah6/zdevzebra: add debug in route install around nhg not ready
Donatas AbraitisGitHubDonatas Abraitis
5b6923f8927MMerge pull request #21264 from soumyar-roy/soumya/cleanupNHTbgpd: fix BNC cleanup for explicit link-local peers
Jafar Al-GharaibehGitHubJafar Al-Gharaibeh
6503ac50956MMerge pull request #21251 from mjstapp/fix_vrrp_pktsvrrrpd: improve error handling in several paths
Chirag ShahChirag Shah
f2e9b0ddfcczebra: add debug route install nhg not readyTicket: #4929905 debug log: 2026/03/20 01:41:09.401823 ZEBRA: [ZSM84-3K06X] dplane_ctx_route_init route 81.0.0.5/32 op ROUTE_UPDATE nhg id 225 flags 0x5 nh 27.0.0.1 if 4 vrfid 0 not installed nor queued Tracepoint: 2026-03-20T01:35:06.111 frr_zebra:dplane_ctx_route_kernel_nhg_not_ready {'op': 2, 'nhe_id': 141, 'nhe_flags': 515, 'vrf_id': 41} 2026-03-20T01:35:10.366 frr_zebra:dplane_ctx_route...
Soumya RoySoumya Roy
8bcc683650ftests: add orphan BNC cleanup test for explicit LL peer deletionVerify that deleting an explicit link-local BGP neighbor leaves no orphan BNC behind. Without the conf_if guard in bgp_unlink_nexthop_by_peer() and bgp_delete_connected_nexthop(), the BNC lookup uses scope_id (non-zero after TCP) while the BNC was created with ifindex 0, causing the cleanup to miss. Signed-off-by: Soumya Roy <souroy@nvidia.com>
Soumya RoySoumya Roy
dbc1354e589bgpd: fix BNC cleanup for explicit link-local peersbgp_unlink_nexthop_by_peer() and bgp_delete_connected_nexthop() look up the BNC using scope_id to derive the ifindex. For explicit LL peers (conf_if NULL) the BNC was created with ifindex 0, but after the TCP handshake scope_id is non-zero. The mismatch causes the lookup to miss, leaving an orphan BNC with a stale nht_info pointer after the peer is deleted. Add the same conf_if guard that pee...
Jafar Al-GharaibehNathan BahrJafar Al-Gharaibeh
6d4e76ff305pimd: if an RP is configured, use SSMWhen an RP is configured, sparse mode should trigger regardless of whether the RP is reachable or not. This behavior is consistent with other implementations/vendors. Signed-off-by: Jafar Al-Gharaibeh <jafar@atcorp.com>
Donatas AbraitisGitHubDonatas Abraitis
9a3093847edMMerge pull request #21192 from chiragshah6/bgp_bp_genbgpd: backpressure generic framework
Mark StappMark Stapp
fa04cad40f8vrrpd: replace some assertsReplace several asserts with error returns, especially in packet-processing paths. Signed-off-by: Mark Stapp <mjs@cisco.com>
Mark StappMark Stapp
ccca97b5a44vrrpd: only support ethernet in GARP codeDon't mix explicit ethernet and per-interface hw values; we only support ethernet for g-ARP messages. Signed-off-by: Mark Stapp <mjs@cisco.com>
Mark StappMark Stapp
f923267f083vrrpd: limit advertised timers to 12-bitsEnsure advertised vrrpv3 timers are limited to 12 bits. Signed-off-by: Mark Stapp <mjs@cisco.com>
Russ WhiteGitHubRuss White
1d91017edfaMMerge pull request #21211 from opensourcerouting/fix/cap_overflow_parsing_unknownbgpd: Check if we are not overusing error_data buffer when unknown cap received
Russ WhiteGitHubRuss White
b771d8fe1c5MMerge pull request #20854 from sougatahitcs/sougatab/static-to-dynamic-bfd-socketsbfdd: moving bfd socket allocation from static to dynamic
Jafar Al-GharaibehGitHubJafar Al-Gharaibeh
d9b35d944b2MMerge pull request #21217 from mjstapp/fix_ripng_miscripngd: fix data handling in several places
Donatas AbraitisGitHubDonatas Abraitis
c6227bbfcfcMMerge pull request #21102 from cscarpitta/fix_bgp_ls_coverity_defectsbgpd: Fix coverity defects in BGP-LS code
Russ WhiteGitHubRuss White
89b87964cb3MMerge pull request #18217 from Shbinging/fix_ip_rip_versionripd: fix ip rip send/receive version command
Donatas AbraitisDonatas Abraitis
5fd5e495446bgpd: Check if we are not overusing error_data buffer when unknown cap receivedThere is no bounds check before the memcpy(). With Extended Message support enabled, incoming OPEN messages can be up to 65535 bytes, so the total size of unknown capability TLVs can far exceed 4096 bytes, overflowing the stack buffer. Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Russ WhiteGitHubRuss White
9530e0ab16bMMerge pull request #21215 from mjstapp/fix_ripd_pktsripd: fix data-handling in several places
Russ WhiteGitHubRuss White
05cdd4a81bfMMerge pull request #21203 from enkechen-panw/bgp-dup-test2tests: bgp_suppress_duplicates: simplify and split into four tests
Russ WhiteGitHubRuss White
735cdb057b8MMerge pull request #21191 from cscarpitta/fix_rmap_cleanup_orderingbgpd: Fix route-map cleanup ordering in SRv6 unicast SID export
Russ WhiteGitHubRuss White
5d28c9ad6b5MMerge pull request #21187 from Jafaral/nhrp-crash[WIP] nhrpd: guard AFI/table lookups in route resolution
Russ WhiteGitHubRuss White
10498c0e9bbMMerge pull request #21166 from enkechen-panw/network-nexthopbgpd: fix BGP_ATTR_NEXT_HOP flag handling in bgp_attr_default_set()
Russ WhiteGitHubRuss White
4825b5ba563MMerge pull request #21098 from mjstapp/fix_bgp_parse_evpn_vncbgpd: improve packet parsing for EVPN and ENCAP/VNC
Russ WhiteGitHubRuss White
3d09b69d358MMerge pull request #21126 from Manpreet-k0/stale_vtep_mrtests: add EVPN VTEP cleanup and recovery test on uplink flap
Russ WhiteGitHubRuss White
efe5c083dabMMerge pull request #21113 from opensourcerouting/fix/bgp_aspath_count_hopsbgpd: Return original as-path when reconciling AS versus AS4
Russ WhiteGitHubRuss White
3a2c202d925MMerge pull request #21097 from Jafaral/nhrp-scannhrpd: harden against malformed packets
Russ WhiteGitHubRuss White
8eb50e82ebeMMerge pull request #21095 from opensourcerouting/fix/bgp_vulnerabilitiesbgpd: harden attribute parsing and packet handling in a few places