summaryrefslogtreecommitdiff
path: root/lib/frr_pthread.c
diff options
context:
space:
mode:
authorChirag Shah <chirag@nvidia.com>2025-02-10 18:56:15 -0800
committerChirag Shah <chirag@nvidia.com>2025-02-10 19:08:00 -0800
commit2ff08af78e315c69795417d150cd23649f68c655 (patch)
tree78429c499231c70e85ac7ff5503f0d1d1c9a7afa /lib/frr_pthread.c
parentbaf4c1a78fe4cafdbb2cdbed030a31ea04a18c4a (diff)
bgpd: fix bgp vrf instance creation from implicit
In bgp route leak, when import vrf x is executed, it creates bgp instance as hidden with asn value as unspecified. When router bgp x is configured ensure the correct as, asnotation is applied otherwise running config shows asn value as 0. This can lead to frr-reload failure when any FRR config change. Fix: Move asn and asnotiation, as_pretty value in common done section, so when bgp_create gets existing instance but before returning update asn and required fields in common section. In bgp_create(): when returning for hidden at least update asn and required when bgp instance created implicitly due to vrf leak. if (hidden) { bgp = bgp_old; goto peer_init; <<< } Before fix: show running: router bgp 0 vrf purple bgp router-id 10.10.3.11 ! address-family ipv4 unicast redistribute static import vrf blue exit-address-family ! address-family ipv6 unicast import vrf blue exit-address-family ! address-family l2vpn evpn advertise ipv4 unicast advertise ipv6 unicast exit-address-family exit Testing: 1) following snippet config: router bgp 63420 vrf blue import vrf purple router bgp 63420 vrf purple import vrf blue 2) restart frr leads to the running config with 0 asn value. Signed-off-by: Chirag Shah <chirag@nvidia.com>
Diffstat (limited to 'lib/frr_pthread.c')
0 files changed, 0 insertions, 0 deletions