]> git.puffer.fish Git - mirror/frr.git/commitdiff
tests: Check if `neighbor X advertised-routes` cmd works for peer-groups 13769/head
authorDonatas Abraitis <donatas@opensourcerouting.org>
Mon, 12 Jun 2023 12:20:08 +0000 (15:20 +0300)
committerDonatas Abraitis <donatas@opensourcerouting.org>
Mon, 12 Jun 2023 12:20:08 +0000 (15:20 +0300)
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
tests/topotests/bgp_peer_group/r3/bgpd.conf
tests/topotests/bgp_peer_group/test_bgp_peer-group.py

index eb2fca15fb9614543ceb435af1d7949032d55ecc..5a1340fb0b883ff0beffd7e3a949664457663e1a 100644 (file)
@@ -1,7 +1,11 @@
 !
 router bgp 65003
-  neighbor PG peer-group
-  neighbor PG remote-as external
-  neighbor PG timers 3 10
-  neighbor 192.168.255.1 peer-group PG
+ no bgp ebgp-requires-policy
+ neighbor PG peer-group
+ neighbor PG remote-as external
+ neighbor PG timers 3 10
+ neighbor 192.168.255.1 peer-group PG
+ address-family ipv4 unicast
+  redistribute connected
+ exit-address-family
 !
index e8c3feb76fffa84dd0e3562567947047856fbdd2..a91fade049241789ab3a30404f6306e5513dcbec 100644 (file)
@@ -74,9 +74,26 @@ def test_bgp_peer_group():
         return topotest.json_cmp(output, expected)
 
     test_func = functools.partial(_bgp_peer_group_configured)
-    success, result = topotest.run_and_expect(test_func, None, count=60, wait=0.5)
+    _, result = topotest.run_and_expect(test_func, None, count=60, wait=0.5)
+    assert result is None, "Failed bgp convergence in r1"
 
-    assert result is None, 'Failed bgp convergence in "{}"'.format(tgen.gears["r1"])
+    def _bgp_peer_group_check_advertised_routes():
+        output = json.loads(
+            tgen.gears["r3"].vtysh_cmd("show ip bgp neighbor PG advertised-routes json")
+        )
+        expected = {
+            "advertisedRoutes": {
+                "192.168.255.0/24": {
+                    "valid": True,
+                    "best": True,
+                }
+            }
+        }
+        return topotest.json_cmp(output, expected)
+
+    test_func = functools.partial(_bgp_peer_group_check_advertised_routes)
+    _, result = topotest.run_and_expect(test_func, None, count=60, wait=0.5)
+    assert result is None, "Failed checking advertised routes from r3"
 
 
 if __name__ == "__main__":