FRR Mirror
  1. FRR Mirror

FRR

Public
AuthorCommitMessageCommit dateIssues
Donatas AbraitisGitHubDonatas Abraitis
61b552f09a9MMerge pull request #21755 from cscarpitta/bgp_ls_replace_tlv_flagsbgpd: Replace `BGP_LS_TLV_*` macros with standard FRR `FLAG` macros
Carmine ScarpittaCarmine Scarpitta
f3e1af27ccbbgpd: Replace BGP_LS_TLV_ macros with standard FRR FLAG macrosbgp_ls_nlri.h defines four local helpers: #define BGP_LS_TLV_SET(bitmap, bit) ((bitmap) |= (1ULL << (bit))) #define BGP_LS_TLV_CHECK(bitmap, bit) ((bitmap) & (1ULL << (bit))) #define BGP_LS_TLV_UNSET(bitmap, bit) ((bitmap) &= ~(1ULL << (bit))) #define BGP_LS_TLV_RESET(bitmap) ((bitmap) = 0) These duplicate the SET_FLAG / CHECK_FLAG / UNSET_FLAG / RESET_FLAG macros already defin...
Rafael ZalamenaGitHubRafael Zalamena
a6ff023c16aMMerge pull request #21613 from pguibert6WIND/bfd_misc_fixesBFD miscellaneous fixes
Donatas AbraitisGitHubDonatas Abraitis
20514f5e01bMMerge pull request #21604 from cscarpitta/use_bgp_ls_set_macrobgpd: Use `BGP_LS_TLV_SET` macro to set `present_tlvs` bits
Donatas AbraitisGitHubDonatas Abraitis
4e2a60ce8ccMMerge pull request #20930 from sougatahitcs/sougatab/bgpd-Fixed-crashes-in-bgp-received-routes-brief-5 bgpd: Fixed crash in bgp received-routes detail json and code cleanup
Donatas AbraitisGitHubDonatas Abraitis
6578290d3ffMMerge pull request #21735 from lsang6WIND/srv6_unicastbgpd: move auto config flag from bgp to srv6 unicast policy
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
Loïc SangLoïc Sang
add27c10c8dbgpd: move auto config flag from bgp to srv6 unicast policyMove SID allocation auto mode on bgp to srv6 unicast policy. This is a better fit and rename to SRV6_POLICY_FLAG_SID_AUTO. Signed-off-by: Loïc Sang <loic.sang@6wind.com>
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
Philippe GuibertPhilippe Guibert
c21eb145235bfdd: fix do not unconfig bfd profile session when removing profileIf a profile is used by a BFD session, then removing the profile from the configuration will also remove the configuration of that profile in that BFD session. This should not happen, as from config perspective, the profile config and the profile attached to the bfd session are two distinct elements. Fixes: f6dfa2473983 ("bfdd: remove profile pointers on removal") Signed-off-by: Philippe Gui...
Philippe GuibertPhilippe Guibert
e5936d6e9abdoc: add missing bfd statistics for rx failed packetBFD doc needs to be updated. Fixes: 9ae600cf328f ("bfdd, yang: Add a bad packet counter for bfd peers") Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
Philippe GuibertPhilippe Guibert
e5caa73161cbfdd: fix do not display tx fail counter for non sbfd sessionsThe json show does not display such counters. Do the same for the non json show. Fixes: 868c4d02e699 ("bfdd: adjust show commands for SBFD") Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
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...