From: Enke Chen Date: Wed, 16 Oct 2024 18:19:28 +0000 (-0700) Subject: tests: add a new topotest to bgp_aigp X-Git-Tag: docker/9.1.3~23^2 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=9f7e0aa1cdbb54207ccd5754341005d7b8f4f138;p=matthieu%2Ffrr.git 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 (cherry picked from commit 51612593f7f747d0003a48a41367be87d3ea5361) --- diff --git a/tests/topotests/bgp_aigp/r4/bgpd.conf b/tests/topotests/bgp_aigp/r4/bgpd.conf index e12c45e0bb..2cdf84a1b3 100644 --- a/tests/topotests/bgp_aigp/r4/bgpd.conf +++ b/tests/topotests/bgp_aigp/r4/bgpd.conf @@ -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). diff --git a/tests/topotests/bgp_aigp/r6/zebra.conf b/tests/topotests/bgp_aigp/r6/zebra.conf index f8ca5f8b82..b6456cacc5 100644 --- a/tests/topotests/bgp_aigp/r6/zebra.conf +++ b/tests/topotests/bgp_aigp/r6/zebra.conf @@ -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 diff --git a/tests/topotests/bgp_aigp/test_bgp_aigp.py b/tests/topotests/bgp_aigp/test_bgp_aigp.py index 108b19c4a5..27a4d9ec74 100644 --- a/tests/topotests/bgp_aigp/test_bgp_aigp.py +++ b/tests/topotests/bgp_aigp/test_bgp_aigp.py @@ -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)