]> git.puffer.fish Git - mirror/frr.git/commit
bgpd: Ignore auto created VRF BGP instances 16159/head
authorDonatas Abraitis <donatas@opensourcerouting.org>
Tue, 4 Jun 2024 12:30:27 +0000 (15:30 +0300)
committerDonatas Abraitis <donatas@opensourcerouting.org>
Tue, 4 Jun 2024 15:03:22 +0000 (18:03 +0300)
commitf153b9a9b636e7ca16ef066e934d355ba922df2b
treea96672c06ab4c8055915f8e3248267f4cade8dbf
parent17e1f7c2ff94da6d554a464a316ad037d6727749
bgpd: Ignore auto created VRF BGP instances

Configuration:

```
vtysh <<EOF
configure

vrf vrf100
 vni 10100
exit-vrf

router bgp 50
 address-family l2vpn evpn
  advertise-all-vni
 exit-address-family
exit

router bgp 100 vrf vrf100
exit
EOF
```

TL;DR; When we configure `advertise-all-vni` (in this case), a new BGP instance
is created with the name vrf100, and ASN 50. Next, when we create
`router bgp 100 vrf vrf100`, we look for the BGP instance with the same name
and we found it, but ASNs are different 50 vs. 100.

Every such a new auto created instance is flagged with BGP_VRF_AUTO.

After the fix:

```
router bgp 50
 !
 address-family l2vpn evpn
  advertise-all-vni
 exit-address-family
exit
!
router bgp 100 vrf vrf100
exit
!
end
donatas.net(config)# router bgp 51
BGP is already running; AS is 50
donatas.net(config)# router bgp 50
donatas.net(config-router)# router bgp 101 vrf vrf100
BGP is already running; AS is 100
donatas.net(config)# router bgp 100 vrf vrf100
donatas.net(config-router)#
```

Fixes: https://github.com/FRRouting/frr/issues/16152
Fixes: https://github.com/FRRouting/frr/issues/9537
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
bgpd/bgpd.c