summaryrefslogtreecommitdiff
path: root/lib/srv6.c
diff options
context:
space:
mode:
authorChirag Shah <chirag@nvidia.com>2025-02-10 18:56:15 -0800
committerMergify <37929162+mergify[bot]@users.noreply.github.com>2025-02-11 17:20:28 +0000
commite2d2797f7afa0af047c3b4c1542f417e33876de4 (patch)
tree2ba6a2f03af6251a304c43cc6a11d5d69975c515 /lib/srv6.c
parentbf16e531868b0aa87c75adbc11bd9ef1447f5247 (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> (cherry picked from commit 2ff08af78e315c69795417d150cd23649f68c655)
Diffstat (limited to 'lib/srv6.c')
0 files changed, 0 insertions, 0 deletions