]> git.puffer.fish Git - matthieu/frr.git/commitdiff
bgpd: Do not ignore auto generated VRF instances when deleting
authorDonatas Abraitis <donatas@opensourcerouting.org>
Tue, 28 Jan 2025 15:11:58 +0000 (17:11 +0200)
committerDonatas Abraitis <donatas@opensourcerouting.org>
Sun, 2 Feb 2025 18:58:01 +0000 (20:58 +0200)
When VRF instance is going to be deleted inside bgp_vrf_disable(), it uses
a helper method that skips auto created VRF instances and that leads to STALE
issue.

When creating a VNI for a particular VRF vrfX with e.g. `advertise-all-vni`,
auto VRF instance is created, and then we do `router bgp ASN vrf vrfX`.

But when we do a reload bgp_vrf_disable() is called, and we miss previously
created auto instance.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
bgpd/bgp_main.c

index 535d2fc5f4342ea105551079578e437d7084475d..ccd05335d1251f168fe3933e9641dbae434e71d1 100644 (file)
@@ -325,7 +325,7 @@ static int bgp_vrf_disable(struct vrf *vrf)
        if (BGP_DEBUG(zebra, ZEBRA))
                zlog_debug("VRF disable %s id %d", vrf->name, vrf->vrf_id);
 
-       bgp = bgp_lookup_by_name(vrf->name);
+       bgp = bgp_lookup_by_name_filter(vrf->name, false);
        if (bgp) {
 
                vpn_leak_zebra_vrf_label_withdraw(bgp, AFI_IP);