FRR Mirror
  1. FRR Mirror

FRR

Public
AuthorCommitMessageCommit dateIssues
Russ WhiteGitHubRuss White
7d94895937cMMerge pull request #21438 from mjstapp/fix_tracepoint_gcc_14bgpd,lib,zebra: use explicit casts in tracepoint definitions
Mark StappGitHubMark Stapp
a9550014bb7MMerge pull request #21443 from cscarpitta/fix_srv6_sid_notify_cidbgpd: Fix copy-paste error in SRv6 DT46 SID duplicate install check (CID 1670455)
Carmine ScarpittaCarmine Scarpitta
0b8b8d3e2c0bgpd: Fix copy-paste error in SRv6 DT46 SID duplicate install checkSRv6 End.DT46 uses a single shared SID for both the IPv4 (AFI_IP) and IPv6 (AFI_IP6) address families within a VRF. When zebra notifies bgpd that a SID has been assigned, bgpd must install it for both AFIs. To avoid sending zebra a duplicate ROUTE_ADD, the AFI_IP6 code path first checks whether AFI_IP has already done the install: 1) do both AFIs currently hold the same SID? 2) has AFI_I...
Carmine ScarpittaGitHubCarmine Scarpitta
4ef1aa852e7MMerge pull request #21432 from iurmanj6WIND/fix-srv6-doc-bisdoc: fix SRv6 route commands (bis)
Mark StappMark Stapp
689d29b8867bgpd,lib,zebra: cast pointers to intptr_t in tracepointsCast pointers in tracepoint arguments to intptr_t explicitly to keep compilers happy. Signed-off-by: Mark Stapp <mjs@cisco.com>
Mark StappMark Stapp
24e6573a20abgpd: fix error in evpn_mac_ip_zsend tracepoint definitionprefix.macip_addr.eth_tag used as a pointer, but actually an int. Signed-off-by: Mark Stapp <mjs@cisco.com>
Mark StappGitHubMark Stapp
b97fb700b35MMerge pull request #21433 from y-bharath14/srib-yang-V14yang: Correct pyang errors in frr-pim-route-map.yang
Mark StappGitHubMark Stapp
f7e66de6235MMerge pull request #21431 from Jafaral/fix-pim-channel-oil-crashpimd: guard channel OIL detach against stale pointers
Y BharathY Bharath
fa5f2f3866eyang: Correct pyang errors in frr-pim-route-map.yangCorrect pyang errors in frr-pim-route-map.yang Signed-off-by: y-bharath14 <y.bharath@samsung.com>
Justin IurmanJustin Iurman
dce6d938517doc: fix SRv6 route commands (bis)Follow-up fix for something I missed earlier. An example uses `ens3`, while others use `sr0`. Keep it consistent and use `sr0` everywhere. Also fix the output of an example showing `ens3` although `sr0` was configured. Fixes: 62465b9 ("doc: Add SRv6 encapsulation behavior configuration to staticd doc") Signed-off-by: Justin Iurman <justin.iurman@6wind.com>
Jafar Al-GharaibehJafar Al-Gharaibeh
887cf38c21cpimd: use upstream-owned pim pointer in register and upstream timersMultiple upstream control paths fetched the PIM instance through up->channel_oil->pim even though upstream already owns a stable up->pim pointer. In teardown/re-eval edge flows, channel_oil can be detached before these paths execute. Dereferencing channel_oil only to access pim adds an avoidable null/stale pointer risk. Switch these call sites to up->pim: - pim_register_join() - pim_upstream_...
Jafar Al-GharaibehJafar Al-Gharaibeh
c8ca2bf02a3pimd: use upstream-owned pim pointer in MSDP update pathsSeveral MSDP helper paths fetched the PIM instance through up->channel_oil->pim even though they only require the upstream's instance context. In teardown/re-evaluation edge flows, channel_oil can be detached before these paths run (for example while IGMP prune side effects and upstream cleanup overlap). Dereferencing up->channel_oil only to access pim then creates an avoidable null/stale poin...
Jafar Al-GharaibehJafar Al-Gharaibeh
b635d87366apimd: avoid JP build deref through channel OILpim_msg_build_jp_groups() fetched the pim instance via source->up->channel_oil->pim for (*,G) entries. That creates an unnecessary dependency on channel_oil lifetime while building JP messages. In teardown/re-evaluation edge flows, channel_oil may already be detached before JP aggregation/encoding finishes, making this path vulnerable to null/stale dereference. Use source->up->pim directly in...
Jafar Al-GharaibehJafar Al-Gharaibeh
54f605713afpimd: guard RP RPF-failure mroute delete on detached OILpim_upstream_update() unconditionally called pim_mroute_del() when pim_rpf_update() returned PIM_RPF_FAILURE. In teardown/re-eval edge cases, overlapping prune/delete side effects can detach up->channel_oil before this path executes. Control flow can reach this from IGMP prune-driven cleanup where ifchannel/upstream teardown races with RP re-evaluation. If up->channel_oil is already NULL, call...
Jafar Al-GharaibehJafar Al-Gharaibeh
a67a8fc4cbdpimd: avoid null deref in upstream delete debug pathThe upstream delete trace log read up->channel_oil->oil_ref_count unconditionally. In teardown edge cases, channel_oil may already be detached before this debug statement executes, turning diagnostic logging into a potential null dereference. Control flow for the crash case is: igmp_source_forward_stop() -> tib_sg_gm_prune() -> pim_ifchannel_local_membership_del() -> delete_on_noinfo() -> pim_...
Jafar Al-GharaibehJafar Al-Gharaibeh
68b752b626epimd: guard channel OIL detach against stale pointersIGMP prune and ifchannel teardown paths can delete the same (S,G) channel OIL before upstream teardown reaches pim_channel_oil_upstream_deref(). When that happens, upstream delete can pass a stale OIL pointer into RB removal, which crashes in typed_rb_remove() during igmp_source_timer-driven cleanup. This can happen via prune side effects in the same event flow: igmp_source_forward_stop() -> t...
Carmine ScarpittaGitHubCarmine Scarpitta
199f5d4aa0dMMerge pull request #21416 from iurmanj6WIND/fix-srv6-docdoc: fix SRv6 route commands
Russ WhiteGitHubRuss White
e8b39317b88MMerge pull request #21389 from ashred-lnx/split/topotest-v4-v6-separation-onlytopotests: split bgp_evpn_mh_v4_v6_num v4/v6 layout
Justin IurmanJustin Iurman
ae1bee1ab0ddoc: fix SRv6 route commandsMove text out of code block, use H_Encaps and H_Encaps_Red in vtysh commands (instead of H.Encaps and H.Encaps.Red), refresh output. Fixes: 62465b9dcc82 ("doc: Add SRv6 encapsulation behavior configuration to staticd doc") Signed-off-by: Justin Iurman <justin.iurman@6wind.com>
Mark StappGitHubMark Stapp
f649f49a789MMerge pull request #21409 from opensourcerouting/fix/drop_deprecated_branch_deletion_for_mergifytools: Upgrade configuration to current format for Mergify
Russ WhiteGitHubRuss White
057dff41b02MMerge pull request #21399 from opensourcerouting/fix/bgp_send_notification_if_orf_length_too_bigbgpd: Do not allow triggering route-refresh path with a malformed ORF length
Russ WhiteGitHubRuss White
31371c316d4MMerge pull request #21398 from anlancs/bgpd/fix-wrong-writtenbgpd: fix wrong overwritten for evpn
Russ WhiteGitHubRuss White
f2f704f9e40MMerge pull request #21395 from opensourcerouting/fix/bgp_ehne_orf_cap_length_checkbgpd: Check dynamic capability action before validating ENHE capability
Russ WhiteGitHubRuss White
f09eb3ac562MMerge pull request #21394 from opensourcerouting/fix/bgp_do_not_allocate_stream_if_rr_cap_not_receivedbgpd: Do not allocate stream if route-refresh capability is not received
Russ WhiteGitHubRuss White
639b4c226e3MMerge pull request #21392 from enkechen-panw/static-disable-vrfstaticd: fix static_disable_vrf() to always send a route DELETE
Russ WhiteGitHubRuss White
270dac8b261MMerge pull request #21391 from chiragshah6/zdev3zebra: EVPN prevent stale mbr_zifs entries from early return
Donatas AbraitisDonatas Abraitis
27f9f629c32tools: Upgrade configuration to current format for MergifyDrop deprecated (soon) fields for Mergifyio. Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Russ WhiteGitHubRuss White
08744af890cMMerge pull request #21383 from nick-bouliane/doc_bgp_interfacedoc: fix BGP interface neighbor IPv4, IPv6, and v6only documentation
Russ WhiteGitHubRuss White
9cce9c05db0MMerge pull request #21378 from hedrok/fix_frr_testtests: Fix time re in all_protocol_startup/test_all_protocol_startup
Russ WhiteGitHubRuss White
f727b034496MMerge pull request #21377 from opensourcerouting/fix/memory_leak_bgp_nhcbgpd: Fix memory leak for nhc attribute if ipv6 is link-local address
Russ WhiteGitHubRuss White
06557a99889MMerge pull request #21372 from mjstapp/fix_pcep_PSTpceplib: add validation to PCEP PST TLV decode
Russ WhiteGitHubRuss White
fad5c9bbbd1MMerge pull request #21357 from donaldsharp/bgp_backpressure_earlybgpd: Modify early route processing to include send to zebra
Russ WhiteGitHubRuss White
12f62a5bbdcMMerge pull request #21350 from opensourcerouting/fix/bgp_flowspec_missing_offset_advance_unknown_typebgpd: Return an error for unknown flowspec component type
Russ WhiteGitHubRuss White
963b99380b1MMerge pull request #21314 from mjstapp/fix_isis_flex_tlvsisisd: improve validation of flex-algo decoder
Russ WhiteGitHubRuss White
ec0274cc6a6MMerge pull request #21309 from enkechen-panw/aggregate-displaybgpd: display aggregate->count in show bgp detail for aggregate route
Russ WhiteGitHubRuss White
680d732b4e6MMerge pull request #21035 from hnattamaisub/flags_addbgpd: add additional attributes for evpn detail/ipv4/ipv6 detail json
Donatas AbraitisDonatas Abraitis
7a110595c51bgpd: Do not allow triggering route-refresh path with a malformed ORF lengthBefore this patch we just continued with the route-refresh flow blindly instead of sending a notification. Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
anlan_csanlan_cs
fdfd2b20516bgpd: larger one field to be 2 bytesThe `struct attr`'s `encap_tunneltype` should be 2 bytes based on current code. Signed-off-by: anlan_cs <anlan_cs@126.com>
anlan_csanlan_cs
b4679999924bgpd: fix wrong overwritten for evpnThe `ecommunity_tunnel_type()` sets the value based on the pointer of `(bgp_encap_types *tunnel_type)`. But the `struct attr`'s `encap_tunneltype` field is `uint8_t` type, it is wrongly as input parameter in `bgp_attr_ext_communities()`, resulting in the subsequent fileds to be overritten. Change `bgp_attr_ext_communities()` to the same style as others: `rfapiGetVncTunnelUnAddr()/rfapiRouteInf...
hariniharini
664c7f0ed32tests: Enhanced existing testsEnhanced existing tests to match their behaviour Signed-off-by: harini <hnattamaisub@nvidia.com>
hariniharini
dc90902c4abbgpd: add additional attributes for evpn detail/ipv4/ipv6 detail jsonAdded no of rotues, pathcount, multipathcount and flags fileds into show bgp ipv4/ipv6 detail json output and show bgp l2vpn evpn route detail json output. Commands: 1)show bgp vrf blue ipv4 unicast json detail 2)show bgp vrf blue ipv6 unicast json detail 3)show bgp l2vpn evpn route detail json Signed-off-by: harini <hnattamaisub@nvidia.com>
Donatas AbraitisDonatas Abraitis
5f9aa98c314bgpd: Check dynamic capability action before validating ENHE capabilityWithout checking the action we cannot reach the path where we unset the capability, because the length is 0 for CAPABILITY_ACTION_UNSET. Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Donatas AbraitisDonatas Abraitis
34c4c7e8d98bgpd: Do not allocate stream if route-refresh capability is not receivedJust allocate the stream only if we have a sanity check regarding the capability. Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Carmine ScarpittaGitHubCarmine Scarpitta
c257a0df5e2MMerge pull request #21349 from opensourcerouting/fix/bgp_ls_nlri_bound_checkbgpd: Check if Local-Node and Remote-Node TLVs length is within boundaries
Carmine ScarpittaGitHubCarmine Scarpitta
1a233b599c6MMerge pull request #21345 from opensourcerouting/fix/bgp_srv6_BGP_PREFIX_SID_SRV6_L3_SERVICE_SID_INFO_lenbgpd: Fix srv6 type parsing and EVPN type-5 NLRI prefix lengh parsing for IPv4
Donatas AbraitisGitHubDonatas Abraitis
edddc1e29a6MMerge pull request #21352 from hnattamaisub/evpn_brief_optbgpd: EVPN json brief optimization
Enke ChenEnke Chen
fb9774fad56staticd: fix static_disable_vrf() to always send a route DELETEstatic_disable_vrf() called static_uninstall_path() to remove routes belonging to a VRF being disabled. However, static_uninstall_path() sends a ZAPI ADD (not a DELETE) when nexthops are still in the list, so the routes were never actually withdrawn from zebra. Replace with static_zebra_route_add(pn, false) to unconditionally send a DELETE for each path, which is the correct behavior when tea...
Ashwini ReddyAshwini Reddy
e1458c34d5ctopotests: split bgp_evpn_mh_v4_v6_num v4/v6 layoutSeparate v4 and v6 topology configs into dedicated directories, keep only shared host configs under common/, and remove ARP redirect-specific tests so this PR contains only test-structure split changes. Drop three unused helper functions from test_evpn_mh_v4_v6_num.py. Signed-off-by: Ashwini Reddy <ashred@nvidia.com> Made-with: Cursor
Chirag ShahChirag Shah
cd74b7de0abzebra: EVPN prevent stale mbr_zifs entries from early returnPrematurely resetting zif->vlan_bitmap in interface_bridge_vlan_update() leads to inconsistent state if the function bails out early because the kernel AF_BRIDGE netlink notification arrived without VLAN info (no IFLA_BRIDGE_VLAN_INFO). Because the old bitmap is replaced by an empty one before the NULL check on bvarray, the early return skips zebra_vlan_mbr_re_eval() and leaks the old bitmap. ...PR-20350
Donatas AbraitisGitHubDonatas Abraitis
978ae4c1361MMerge pull request #21382 from mjstapp/bgp_remove_clearing_dest_listbgpd: remove dest list from batch-clearing code