FRR Mirror
  1. FRR Mirror

FRR

Public
AuthorCommitMessageCommit dateIssues
Donatas AbraitisGitHubDonatas Abraitis
76c1cb02d04MMerge pull request #21947 from Z-Yivon/bgpd-llgr-stale-timer-af-deletebgpd: cancel LLGR stale timer on peer AF delete
Russ WhiteGitHubRuss White
47f5ef42b66MMerge pull request #21960 from anlancs/fix/ospf6-remove-globalospf6d: fix missing updating the global table
Russ WhiteGitHubRuss White
29d59843e8fMMerge pull request #21859 from opensourcerouting/feature/reintroduce_attr_extra_2bgpd: Move some optional feature-specific attributes from struct attr to struct attr_extra
Russ WhiteGitHubRuss White
bdd272d6947MMerge pull request #21448 from chdxD1/fix/zebra-rmac-updatezebra: fix EVPN zero-RMAC in some situations
Russ WhiteGitHubRuss White
b28973fc1c6MMerge pull request #20894 from opensourcerouting/ospf-nssa-translate ospfd: eliminate direct origination of Type-5 LSAs on NSSA routers
Russ WhiteGitHubRuss White
015d2920b9fMMerge pull request #8895 from leonshaw/vxlan-nszebra: Get link from the correct netns for vxlan
anlan_csanlan_cs
a52a6e2ae5bospf6d: fix missing updating the global tableWhen the `old_route->paths` in `ospf6_intra_prefix_route_ecmp_path` changes, the corresponding entry in the area table has already been updated. However, when the global table is updated subsequently, the corresponding entry cannot be deleted due to the changed `old_route->paths`. So, relax `ospf6_area_route_hook_remove`'s search and ignore the paths. This way, the corresponding entry in the g...
Jafar Al-GharaibehGitHubJafar Al-Gharaibeh
cb1e6946eb0MMerge pull request #21961 from usrivastava-nvidia/usrivastava/pimd_crashpimd: Fix crash when up->channel_oil is NULL
usrivastava-nvidiausrivastava-nvidia
724c0ff80d6pimd: Fix crash when up->channel_oil is NULLThe up->channel_oil is being de-referenced without any NULL check. In events like VRF migration, where the timer fires in some cases when the up->channel_oil is already deleted it could lead to intermittent crash. Signed-off-by: usrivastava-nvidia <usrivastava@nvidia.com>
Z-YivonZ-Yivon
fd5ce1d1fd1bgpd: cancel LLGR stale timer on peer AF deleteWhen BGP GR helper mode arms an LLGR stale timer, the event callback argument is the struct peer_af for that AFI/SAFI. Deactivating the AF with no neighbor ... activate frees the peer_af in peer_af_delete(), but the stale timer could remain queued and later dereference the freed callback argument. Cancel peer->t_llgr_stale[afi][safi] while deleting the peer AF so no stale LLGR callback can run...
Donatas AbraitisDonatas Abraitis
aa5f17271c8bgpd: Move attr->pmsi_tnl_type to attr->extraAnd make it dependent with attr->extra->tunn_id, because tunn_id is used only if pmsi_tnl_type is PMSI_TNLTYPE_INGR_REPL. Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Donatas AbraitisDonatas Abraitis
1f3244d4f79bgpd: Move tunn_id to attr->extraSigned-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Donatas AbraitisDonatas Abraitis
e611fde905bbgpd: Discard temporary extra attributes when using route-map with allowas_inSigned-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Donatas AbraitisDonatas Abraitis
70a65ea3e81bgpd: Flush bgp attributes before return on vpn_leak_from_vrf_update()Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Donatas AbraitisDonatas Abraitis
d20ef909920bgpd: Discard attr->extra for update_evpn_type5_route_entrySigned-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Donatas AbraitisDonatas Abraitis
29d226ec386bgpd: Discard attr->extra for bgp_process_evpn_route_injection when rmap processingSigned-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Donatas AbraitisDonatas Abraitis
b6845a5cd6cbgpd: Revert zlog_debug/formatting back to the previous state for srv6 stuffSigned-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Donatas AbraitisDonatas Abraitis
fb54c5024a2bgpd: Discard attr->extra attributes on route-map deny for Lua scriptsSigned-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Donatas AbraitisDonatas Abraitis
27c1ad12409bgpd: Discard dup'ed attr->extra when table-map is usedIf we have a deny, discard it. Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Donatas AbraitisDonatas Abraitis
99b67e05342bgpd: Drain link_bw when flushing temporary dup'ed extra attributesSigned-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Donatas AbraitisDonatas Abraitis
764f32ee7c8bgpd: Ignore allocating attr->extra if aigp value is 0RFC 7311 does say anything about value 0, but practically that means nothing if we receive it as 0... Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Donatas AbraitisDonatas Abraitis
bd9a881a8d1bgpd: Do not forget to discard dup'ed attr->extra when showing the routesSigned-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Donatas AbraitisDonatas Abraitis
862af5dc2e4bgpd: Move srv6_l3service from attr to attr_extraSave the memory for regular use cases where srv6 it not needed. Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Donatas AbraitisDonatas Abraitis
9f99dc8c7b6bgpd: Move srv6_vpn from attr to attr_extraSave the memory for regular use cases, where srv6 is not needed. Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Donatas AbraitisDonatas Abraitis
9027ac8da20bgpd: Move link_bw from attr to attr_extraSave the memory if link bandwidth is not used for regular use cases. Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Donatas AbraitisDonatas Abraitis
d0f829f38f5bgpd: Move link state attribute from attr to attr_extraTo save the memory for use cases where LS is not needed. Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Donatas AbraitisDonatas Abraitis
e94abd86839bgpd: Move aigp_metric from attr to attr->extraIt takes 8 bytes, and not used with "regular" use cases. Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Donatas AbraitisDonatas Abraitis
2cc0b87dc0cbgpd: Move evpn_overlay to attr->extraSigned-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Donatas AbraitisDonatas Abraitis
6c33cf59e54bgpd: Discard only attr->extra instead of flushing all attributesFixes: f56fe96453534ae4cbd78ebb75001e704d762326 ("bgpd: Move nhc attribute from attr to attr_extra") Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Donatas AbraitisDonatas Abraitis
1aaf1227805bgpd: Flush/discard dup'ed attr->extra for deny path in srv6Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Donatas AbraitisDonatas Abraitis
87a8521eeafbgpd: Flush/discard extra allocated memory when doing dup for EVPNSigned-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Donatas AbraitisDonatas Abraitis
f6ce055fab9bgpd: Create BGPID TLV only if we do not return too earlyIf the route-map is used for network (static), and we have a deny, we should free NHC with this TLV, so instead of that, let's allocate it when we need that really. Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Donatas AbraitisDonatas Abraitis
f9f6fbee812bgpd: Flush attributes that were used for conditional adv route-mapValgrind: ================================================================= ==12114==ERROR: LeakSanitizer: detected memory leaks Direct leak of 16 byte(s) in 1 object(s) allocated from: 0 0x7f0fb52b83b7 in __interceptor_calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:77 1 0x7f0fb4e31094 in qcalloc lib/memory.c:111 2 0x56020cc25358 in bgp_attr_extra_dup bgpd/bgp_attr...
Donatas AbraitisDonatas Abraitis
9e1e665a503bgpd: Move nhc attribute from attr to attr_extraCreate an additional struct called attr_extra for holding optional feature-specific attributes. The first client is nhc attribute, but I'm planning to continue with others, e.g.: aigp_metric, link_bw, evpn stuff, srv6 stuff, link-state stuff... This would save attr struct from ~360 bytes to ~180 bytes eventually, that's a huge win for classical deployments with IPv4/IPv6 unicasts. Signed-off...
Donatas AbraitisGitHubDonatas Abraitis
6fcf3ed92a7MMerge pull request #20659 from karthikeyav/bgpd-allowas-in-routemapbgpd: Add route-map based allowas-in for flexible route filtering
Jafar Al-GharaibehGitHubJafar Al-Gharaibeh
bd8bc86c246MMerge pull request #21952 from donaldsharp/bugs_found_part_1Fix event bugs in ldpd/lib and fix bgp_bmp misshandling of memory that leads to a crash
Mark StappGitHubMark Stapp
e45d685e74aMMerge pull request #21883 from donaldsharp/tc_dplane_conversionTc dplane conversion
Donald SharpDonald Sharp
183be865b12bgpd: Fix crash of bgp_bmp.c with a mirror situationThe qitem being used in the bmp mirror code was being enqueued multiple times across multiple vrf's. This leads to crashes, modify the code to enqueue a qitem once per vrf. Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Donald SharpDonald Sharp
f231a2822abtests: Add a bgp bmp mirror testCode examination of bgp_bmp.c showed a situation where having multiple mirrors would create a crash situation. Show that the crash can happen. Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Donald SharpDonald Sharp
1c25b4419dflib: fix NULL deref in frr_signal_timerWhen `SIGEVENT_SCHEDULE_THREAD` is defined, `frr_signal_timer()` was NULLing `sigm->t` and then immediately dereferencing it on the next line to fetch the event loop master: sigm->t = NULL; event_add_timer(sigm->t->master, ...); Rework this so that the NULL dereference cannot happen. Drop the redundant `sigmaster.t = NULL;` in `signal_init()`; Signed-off-by: Donald Sharp <sharpd@nvi...
Donald SharpDonald Sharp
7ab8b580127ldpd: Allow event_add_read to work properly on initialCurrently ldpd has a couple of spots that do this: mem = malloc() event_add_XXX(....., &mem->t_event...) malloc can/will give you memory that has randomly set values. When you call event_add_XXX the address of the pointer is looked at as well as the dereference if there is something in there, the event system assumes that an event is already scheduled. This will cause the initial event_add_...
Donald SharpDonald Sharp
2dc0bc70926tests: Test startup of tc with tc_basicThis test script was not testing the read in of zebra owned tc qdisc values are read in and removed. Add this. Additionally convert the test to use run_and_expect instead of sleep. Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Donald SharpDonald Sharp
ab1a05e3927zebra: Convert RTNLGRP_TC netlink messages to use the dplaneModify the code to use the dplane for all RTNLGRP_TC netlink messages. Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Donald SharpDonald Sharp
7d7fc8b4b9fzebra: pass ns_id to zebra_dplane_startup_stageThe zebra_dplane_startup_stage helper only ever needed the namespace id, not the full struct zebra_ns. Switch its parameter to ns_id_t directly so callers running in the dataplane pthread can invoke it without dereferencing a struct zebra_ns owned by the zebra main thread. Update all existing callers in if_netlink.c, if_sysctl.c, if_ioctl.c and kernel_socket.c to pass zns->ns_id. Signed-off-b...
Russ WhiteGitHubRuss White
20066b09a95MMerge pull request #20034 from jaredmauch/dns_fixes_branchlib,pceplib: fix DNS resolver and PCEP memory leaks
Russ WhiteGitHubRuss White
6a47f4e8aa0MMerge pull request #21414 from hnattamaisub/brief_bgp_neighbgpd: support brief json for bgp v4 and v6 neighbors route
Russ WhiteGitHubRuss White
6749f6d70ccMMerge pull request #20953 from hnattamaisub/zebra_nhg_briefzebra: show nexthop-group rib brief json
Jafar Al-GharaibehGitHubJafar Al-Gharaibeh
992a350423eMMerge pull request #21940 from routingrocks/fix/mgmt-be-hook-unregisterlib: add missing hook_unregister_arg in mgmt_be_client_destroy
Karthikeya Venkat MuppallaKarthikeya Venkat Muppalla
0875212380atests: Add topotests for BGP allowas-in route-mapExtend bgp_as_allow_in test suite with three new test cases covering route-map based allowas-in filtering functionality. New tests: - test_bgp_allowas_in_route_map_p0: Tests selective route acceptance based on prefix-list matching (subnet and length filtering). Verifies routes matching both subnet (192.0.2.0/24) and length (ge 31 le 32) are accepted while others are rejected. - test_bgp...
Karthikeya Venkat MuppallaKarthikeya Venkat Muppalla
1cd35441ed6bgpd: Add route-map based allowas-in for flexible route filteringExtends allowas-in to support route-map filtering, providing maximum flexibility for selective AS-path loop prevention based on any BGP attributes (prefixes, communities, AS-path patterns, etc.). New Commands: neighbor <PEER> allowas-in route-map <NAME> [<1-10>|origin] no neighbor <PEER> allowas-in route-map [<NAME> [<1-10>|origin]] Configuration Example: ip prefix-list PL_P2P seq 5 per...