FRR Mirror
  1. FRR Mirror

FRR

Public
AuthorCommitMessageCommit dateIssues
Donald SharpGitHubDonald Sharp
6347b261fb8MMerge pull request #21733 from nick-bouliane/evpn_del_fix_flagzebra: fix EVPN MACIP DEL flag mixup in neighbor delete path
Mark StappGitHubMark Stapp
de3c4168a65MMerge pull request #21699 from donaldsharp/bgp_vpnv4_per_nexthop_label_failuretests: Ensure test_bgp_vpnv4_per_nexthop_label.py actually has a chance
Donald SharpGitHubDonald Sharp
dd32f365d01MMerge pull request #21707 from Jafaral/fix-pim-hellopimd: cap PIM Hello secondary address list parsing
Mark StappGitHubMark Stapp
8f34dfbd5baMMerge pull request #21712 from donaldsharp/ospf_te_not_setting_typeospfd: Fix setting of type
Jafar Al-GharaibehGitHubJafar Al-Gharaibeh
a335ed63faeMMerge pull request #21691 from donaldsharp/pim_fixes_in_testPim fixes in test
Nick BoulianeNick Bouliane
19e835883d1zebra: fix EVPN MACIP DEL flag mixup in neighbor delete pathOn ZEBRA_MACIP_DEL, zebra_evpn_neigh_send_del_to_client() was passing ZEBRA_NEIGH_* flags into zebra_evpn_macip_send_msg_to_client(), while debug output decodes those bits as ZEBRA_MACIP_TYPE_* flags. Because bit values overlap, DEL logs could incorrectly print "Sticky MAC". This is a flag-domain mismatch on DEL reporting, not a behavior change in BGP processing (DEL uses state). Fix by sendi...
Donald SharpGitHubDonald Sharp
199199b39acMMerge pull request #21656 from cscarpitta/fix_isis_srv6_reject_duplicate_sid_structureisisd: Reject duplicate SRv6 SID Structure Sub-Sub-TLV
Donald SharpGitHubDonald Sharp
06fb1d31055MMerge pull request #21651 from LabNConsulting/chopps/fix-alignment-buglib: fix mgmt_msg recv to deal with mis-alignment
Donald SharpGitHubDonald Sharp
30cea62767eMMerge pull request #21705 from Jafaral/fix-igmp-buffpimd: reject truncated IP datagrams before IGMP/mtrace handling
Donald SharpDonald Sharp
41d93347360ospfd: Fix setting of typeThere exists a code path where the vertex is already created but the type has not been set. When ospf_te_parse_router_lsa is called it was not updating the type. This caused the test_ospf_te_topo1.py topotest to fail, because it is looking for a type but it is not present. Modify the code to set the type here always. Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Jafar Al-GharaibehJafar Al-Gharaibeh
f14e2a9aebfpimd: reject truncated IP datagrams before IGMP/mtrace handling- Validate IPv4 total length against recv buffer in pim_igmp_verify_header() so downstream code cannot trust ip_hdr->ip_len past the bytes we hold (e.g. mtrace sendto length). - Drop recvmsg results with MSG_TRUNC in pim_socket_recvfromto() so callers never process a truncated buffer as a full datagram. Signed-off-by: Jafar Al-Gharaibeh <jafar@atcorp.com>
Jafar Al-GharaibehJafar Al-Gharaibeh
4f5d5f62f69pimd: cap PIM Hello secondary address list parsingBound how many encoded unicast addresses we accept from a single PIM_MSG_OPTION_TYPE_ADDRESS_LIST TLV. The cap is the minimum of limits derived from interface MTU, TLV length, and PIM_HELLO_SECONDARY_ADDR_MAX. Reject with cleanup when exceeded to avoid unbounded allocation from link-local Hellos. Free the temporary address list on parse failure in pim_hello_recv. Signed-off-by: Jafar Al-Ghara...
Donald SharpDonald Sharp
7cb06168f6ctests: Ensure test_bgp_vpnv4_per_nexthop_label.py actually has a chanceThe test is not actually giving time for the withdrawal to happen, modify the check for the second prefix to be a run_and_expect loop as well. Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Mark StappGitHubMark Stapp
5a2949ebb2aMMerge pull request #21542 from TristanInSec/fix/isis-asla-subsubtlv-boundsisisd: validate ASLA sub-sub-TLV length before consuming bytes
Donald SharpDonald Sharp
c5bf47eec41tests: Fix some pim tests to account for multipathBoth the test_multicast_pim6_static_rp2.py and test_multicast_pim_uplink_topo1.py test scripts have multipath available as possible paths that pim can take. Depending on ordering of how routes are received in the underlay's protocol's. You can very rarely have the streams take unexpected paths from the RP towards the source or from the source towards the RP. Modify the code base to be a bit ...
Donald SharpDonald Sharp
b3b44d9c554tests: Fix verify_upstream_iif error messageThe test is specifying in_interface for the expected value when the failure is detected, but this just happens to be the last value in the loop instead of what it was actually looking for. Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Donald SharpDonald Sharp
80d39290897tests: modify test_pim.py to send more multicast packetsCurrently the send of the multicast stream is 40 * 2ms in length which is only 80ms. If the underlay has not fully converged we may never be able to transition to a correct state. Modify the code to give a bunch more time for sending the multicast stream. Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Russ WhiteGitHubRuss White
2e4f442ea82MMerge pull request #21608 from opensourcerouting/fix/bgp_aigp_fixesbgpd: Add BGP_AIGP_TLV_MIN_LEN constant to easily read what it is
Russ WhiteGitHubRuss White
61ac369b0e5MMerge pull request #21589 from cscarpitta/srv6_isis_fix_unpackisisd: Use LAN End.X context for SRv6 sub-sub-TLV parsing
Russ WhiteGitHubRuss White
4c7c493509dMMerge pull request #21532 from opensourcerouting/fix/bgp_confederation_equal_bgp_externalbgpd: Do not reject the route if confederation AS matches peer AS
Russ WhiteGitHubRuss White
2f052aa754aMMerge pull request #21480 from enkechen-panw/default-originate-testtests: fix uptime check in test_bgp_default_originate_2links.py
Christian HoppsChristian Hopps
ae7d79f8ff2lib: fix mgmt_msg recv to deal with mis-alignmentWe need our messages to start on 64 bit boundaries as the message buffer is accessed directly as structured data. In particular on ARM32 arch using the data this way lead to unaligned access and SIGBUS. The minor optimization of reading multiple messages into a single stream buffer complicated this. Instead we KISS and switch to one message per stream buffer. Fixes #20087. Signed-off-by: Chr...
Russ WhiteGitHubRuss White
a3b5d65b99eMMerge pull request #20726 from cscarpitta/feature/bgp_linkstate_bgp_fabricbgpd: Add support for BGP-LS for BGP fabric
Donatas AbraitisGitHubDonatas Abraitis
c46e6f24bd1MMerge pull request #21430 from karthikeyav/kmuppalla/upstream-advertisement-delaybgpd: add advertisement-delay to hold route advertisements after startup
Russ WhiteGitHubRuss White
afe1ddf1e9fMMerge pull request #21400 from sougatahitcs/sougatab/_static-route-bfd-admin-down-state-handling-improvementsstatic route bfd admin down state handling improvements
Mark StappGitHubMark Stapp
84723a8053dMMerge pull request #21684 from donaldsharp/pytest_mark_updatetests: Update pytestmark value in scripts
Russ WhiteGitHubRuss White
4909b5852beMMerge pull request #21411 from hnattamaisub/bgp_ne_advbgpd: v4/v6 neigh advertised & received routes brief json
Carmine ScarpittaCarmine Scarpitta
8491081a50fdoc: Add documentation for BGP-LS for BGP-only fabricsSigned-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine ScarpittaCarmine Scarpitta
909f90a4e71tests: Add BGP-LS BGP-only fabric topotestThe BGP-only fabric draft (draft-ietf-idr-bgp-ls-bgp-only-fabric) defines advertising topology and reachability via BGP-LS NLRIs. Add a topotest topology with rr (AS65000) collecting BGP-LS from four routers (r1-r4) using mixed iBGP/eBGP peerings and link-state AF. The test verifies baseline Node/Link/Prefix NLRI output against an expected JSON snapshot, and validates originate/withdraw behav...
Carmine ScarpittaCarmine Scarpitta
0f89795bf63bgpd: Add per-neighbor route-map commands under BGP-LS AFEnable per-neighbor route-map configuration under address-family link-state: ``` router bgp <asn> address-family link-state link-state neighbor <peer> route-map <rmap-name> ``` This wires neighbor_route_map_cmd and no_neighbor_route_map_cmd into BGP_LS_NODE so route-map policy can be applied to BGP-LS neighbors consistently with other address families. Signed-off-by: Carmine Scarpitta <cs...
Carmine ScarpittaCarmine Scarpitta
17998404899bgpd: Add per-neighbor BGP-LS local/remote link-id CLIsAdd per-neighbor CLI knobs to set BGP-LS link identifiers: ``` router bgp <asn neighbor <peer> local-link-id <1-4294967295> neighbor <peer> remote-link-id <1-4294967295> ``` These values let operators control link descriptor identifiers for BGP-LS Link NLRIs. If distribution is active, changing or removing either value triggers a withdraw/re-originate cycle so exported topology stays consis...
Carmine ScarpittaCarmine Scarpitta
e15218968f8bgpd: Add CLI to enable BGP-LS distribution for BGP-only fabricsIntroduce a new router-mode command to control BGP-LS export for BGP-only fabrics: ``` router bgp 65001 address-family link-state link-state distribute bgp-fabric-link-state [instance-id WORD] ``` When enabled, bgpd exports the current topology as BGP-LS Node/Link/Prefix NLRIs. When disabled, bgpd withdraws all NLRIs originated through this feature. If the instance-id changes while distrib...
Carmine ScarpittaCarmine Scarpitta
11d9d690a36bgpd: Trigger BGP-LS link originate/withdraw on peer state eventsThe BGP-only fabric draft (draft-ietf-idr-bgp-ls-bgp-only-fabric) defines advertising BGP session topology as BGP-LS Link NLRIs. When a peer session is established, call bgp_ls_originate_bgp_link() to originate the corresponding BGP-LS Link NLRI. When a peer session goes down, call bgp_ls_withdraw_bgp_link() to withdraw the corresponding BGP-LS Link NLRI. Signed-off-by: Carmine Scarpitta <cs...
Carmine ScarpittaCarmine Scarpitta
a6d9b870470bgpd: Re-export BGP-LS topology on router-id and instance eventsThe BGP-only fabric draft (draft-ietf-idr-bgp-ls-bgp-only-fabric) defines topology advertisement using BGP-LS Node and Link NLRIs. When the local router-id changes, withdraw all BGP-LS NLRIs and re-export topology with the new router-id. When a BGP instance is created, call bgp_ls_originate_bgp_node() to originate the corresponding BGP-LS Node NLRI. Signed-off-by: Carmine Scarpitta <cscarpit...
Carmine ScarpittaCarmine Scarpitta
e2532aef6e3bgpd: Trigger BGP-LS prefix originate/withdraw on route eventsThe BGP-only fabric draft (draft-ietf-idr-bgp-ls-bgp-only-fabric) defines advertising unicast prefix reachability as BGP-LS Prefix NLRIs. When a unicast route is added or updated, call bgp_ls_originate_bgp_prefix() to originate the corresponding BGP-LS Prefix NLRI. When a unicast route is deleted, call bgp_ls_withdraw_bgp_prefix() to withdraw the corresponding BGP-LS Prefix NLRI. Signed-off-...
Karthikeya Venkat MuppallaKarthikeya Venkat Muppalla
cfb792a93b2tests: add topotest for bgp advertisement-delayAdd topotest exercising the advertisement-delay feature with a simple r1--r2--r3 topology where r2 is the UUT. Test cases: - Initial convergence without any delay configured - show bgp router json / show bgp summary json show configured value - advertisement-delay in progress: peers Established, pfxSnt=0 - RIB is populated during delay (only advertisements are held) - delay completes: pfxSnt>0...
Karthikeya Venkat MuppallaKarthikeya Venkat Muppalla
51d634d7b34doc: add advertisement-delay documentation to bgp user guideDocument the bgp advertisement-delay CLI (global and per-vrf). Clarify that the delay applies to all AFI/SAFI, re-triggers on clear ip bgp *, and is unrelated to the per-neighbor advertisement-interval. Signed-off-by: Karthikeya Venkat Muppalla <kmuppalla@nvidia.com> Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Carmine ScarpittaCarmine Scarpitta
46197ca9402bgpd: Add BGP-LS originate/withdraw functions for BGP-only fabricAdd functions to originate and withdraw BGP-LS NLRIs representing the local BGP topology for BGP-only fabrics, per draft-ietf-idr-bgp-ls-bgp-only-fabric: - bgp_ls_originate_bgp_node(): originate a Node NLRI for the local BGP router. - bgp_ls_originate_bgp_link(): originate a Link NLRI for a BGP session to a peer. - bgp_ls_originate_bgp_prefix(): originate a Prefix NLRI for a BGP unicast ...
Carmine ScarpittaCarmine Scarpitta
da8f9881084bgpd: Add BGP Route Type TLV support to BGP-LS prefix descriptorImplement support for BGP Route Type TLV in BGP-LS prefix descriptors as specified in draft-ietf-idr-bgp-ls-bgp-only-fabric. This includes: - Encoding/decoding of BGP Route Type TLV (1 byte value) - Support for 5 route type values: Local, Attached, External/Internal BGP, Redistributed - Hash key generation and descriptor comparison - Display and JSON output formatting Signed-off-by: Carmine Sc...
Carmine ScarpittaCarmine Scarpitta
b948650abe9bgpd: Add BGP Router-ID (TLV 516) support to BGP-LS node descriptorAdd full support for the BGP Router-ID sub-TLV (TLV 516) in BGP-LS node descriptors, as required by draft-ietf-idr-bgp-ls-bgp-only-fabric. - Define TLV 516 constant, bit flag, size macro, and add bgp_router_id field to struct bgp_ls_node_descriptor - Encode and decode BGP Router-ID TLV with length validation - Relax NLRI validation to accept BGP Router-ID in place of IGP Router-ID for Node...
Donald SharpDonald Sharp
a1239aca092tests: Update pytestmark value in scriptsNoticed while examining a test today that the pytest marks were not 100% correct. Wrote a script that compared what was loaded via configuration -vs- what the pytestmark values where, then I adjusted all the pytestmark values to be more accurate. There still might be a few that are `wrong` but we are much closer now. Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Karthikeya Venkat MuppallaKarthikeya Venkat Muppalla
25b52f9c9fabgpd: add advertisement-delay to hold route advertisements after startupAdd advertisement-delay CLI and logic that holds route advertisements to peers for a configured number of seconds after the first peer reaches Established state. - Global: bgp advertisement-delay (1-3600) - Per-instance: advertisement-delay (1-3600) - With update-delay: both timers start at T0 (first peer Established). Advertisements released at max(time_FIB_ready, T0 + A). - Without update-...
Donald SharpGitHubDonald Sharp
0a0a8c07552MMerge pull request #21605 from opensourcerouting/fix/bgp_nhc_fixesbgpd: Avoid having a dangling pointer after we free NHC attribute
Donald SharpGitHubDonald Sharp
be771c2508bMMerge pull request #21606 from opensourcerouting/fix/bgp_nhc_fixes_2bgpd: Do not allocate NHC TLV with an extra trailer
Jafar Al-GharaibehGitHubJafar Al-Gharaibeh
85441104dfbMMerge pull request #21649 from donaldsharp/suppress_fib_fixuptests: bgp_suppress_fib was not stable before testing
Donald SharpGitHubDonald Sharp
1de9cf8d02cMMerge pull request #21641 from cscarpitta/fix_srv6_locator_tlv_locsizeisisd: Reject SRv6 Locator TLV with Loc-Size of zero
Mark StappGitHubMark Stapp
f9bf99aacc0MMerge pull request #21611 from opensourcerouting/fix/bgp_nhc_check_bgpid_tlv_against_0bgpd: Validate if NHC BGPID TLV value is non-zero
Donatas AbraitisGitHubDonatas Abraitis
abfc9c597acMMerge pull request #21558 from shashanka-ks/bgpd-gr-stale-route-cleanupbgpd: migrate timers during peer_xfer_conn to fix stale route cleanup
Donatas AbraitisGitHubDonatas Abraitis
a38c32385f0MMerge pull request #21657 from cscarpitta/simplify_bgp_ls_parsingbgpd: Simplify BGP-LS NLRI TLV encoding by inlining helper functions
Christian HoppsGitHubChristian Hopps
e413ac742b1MMerge pull request #21514 from reinaldosaraiva/upstream-submit/ub-11-mgmtd-listen-backloglib: mgmt: use SOMAXCONN for mgmtd socket listen backlog