]> 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>
Tue, 28 Jan 2025 15:11:58 +0000 (17:11 +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 9ca20c949a30e762d56ff6355cffa986a02dd89d..9dbef791b0ed928cc36dee5c0b582ef225211014 100644 (file)
@@ -327,7 +327,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);