tests: add a new topotest to bgp_aigp

Add a new topotest for getting the aigp from the "igp-metric"
for a redistributed route (ospf route in the test).

Signed-off-by: Enke Chen <enchen@paloaltonetworks.com>
(cherry picked from commit 51612593f7)
This commit is contained in:
Enke Chen 2024-10-16 11:19:28 -07:00 committed by Mergify
parent 5990882388
commit 42b27cedfd
3 changed files with 13 additions and 0 deletions

View File

@ -13,9 +13,16 @@ router bgp 65001
neighbor 10.0.0.6 update-source lo
address-family ipv4
redistribute connected route-map connected-to-bgp
redistribute ospf route-map ospf-to-bgp
neighbor 192.168.24.2 route-map set-nexthop out
exit-address-family
!
ip prefix-list p66 seq 5 permit 10.0.6.6/32
!
route-map ospf-to-bgp permit 10
match ip address prefix-list p66
set aigp igp-metric
!
! Two OSPF domains should be isolated - otherwise the connected routes
! on r4 would be advertised to r3 (via r4 -> r6 -> r5 -> r3), and can
! mess up bgp bestpath calculation (igp metrics for the BGP nexthops).

View File

@ -1,6 +1,7 @@
!
interface lo
ip address 10.0.0.6/32
ip address 10.0.6.6/32
!
interface r6-eth0
ip address 192.168.46.6/24

View File

@ -228,6 +228,11 @@ def test_bgp_aigp():
"""
)
# r4, 10.0.6.6/32 with aigp-metric 20
test_func = functools.partial(_bgp_check_aigp_metric, r4, "10.0.6.6/32", 20)
_, result = topotest.run_and_expect(test_func, None, count=60, wait=1)
assert result is None, "aigp-metric for 10.0.6.6/32 is not 20"
# r4, 10.0.0.71/32 with aigp-metric 71
test_func = functools.partial(_bgp_check_aigp_metric, r4, "10.0.0.71/32", 71)
_, result = topotest.run_and_expect(test_func, None, count=60, wait=1)