]> git.puffer.fish Git - mirror/frr.git/commitdiff
tests: Check if LLGR settings can be changed via BGP dynamic capabilities 14382/head
authorDonatas Abraitis <donatas@opensourcerouting.org>
Thu, 7 Sep 2023 07:23:26 +0000 (10:23 +0300)
committerDonatas Abraitis <donatas@opensourcerouting.org>
Wed, 13 Sep 2023 08:30:47 +0000 (11:30 +0300)
LLGR stale-time setting.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
tests/topotests/bgp_dynamic_capability/r1/bgpd.conf
tests/topotests/bgp_dynamic_capability/r2/bgpd.conf
tests/topotests/bgp_dynamic_capability/test_bgp_dynamic_capability_graceful_restart.py

index ad2fe4cd0d6778c726e9f0aecc4c2c9a4dc89bd6..3d2c611775de88ca405de949efe9c4ed07052662 100644 (file)
@@ -4,6 +4,7 @@
 router bgp 65001
  no bgp ebgp-requires-policy
  bgp graceful-restart
+ bgp long-lived stale-time 10
  neighbor 192.168.1.2 remote-as external
  neighbor 192.168.1.2 timers 1 3
  neighbor 192.168.1.2 timers connect 1
index 9b7292163ffe88ddd7db28eac0db19d5ccd418a2..46f0b21a14c538cc881ec12acb7cdad85dbbd561 100644 (file)
@@ -3,6 +3,7 @@
 !
 router bgp 65002
  bgp graceful-restart
+ bgp long-lived stale-time 20
  no bgp ebgp-requires-policy
  neighbor 192.168.1.1 remote-as external
  neighbor 192.168.1.1 timers 1 3
index a7feb3c580f421655e8ffce43a50e4320c5d037b..846a68ea27b970a8325c0e231a67d005205cb7a7 100644 (file)
@@ -6,8 +6,9 @@
 #
 
 """
-Test if BGP graceful restart capability's restart time and notification
-flag are exchanged dynamically.
+Test if BGP graceful restart / long-lived graceful restart capabilities
+(restart time, stale time and notification flag) are exchanged dynamically
+via BGP dynamic capability.
 """
 
 import os
@@ -70,11 +71,18 @@ def test_bgp_dynamic_capability_graceful_restart():
                 "neighborCapabilities": {
                     "dynamic": "advertisedAndReceived",
                     "gracefulRestart": "advertisedAndReceived",
+                    "longLivedGracefulRestart": "advertisedAndReceived",
                 },
                 "gracefulRestartInfo": {
                     "nBit": True,
                     "timers": {
                         "receivedRestartTimer": 120,
+                        "configuredLlgrStaleTime": 10,
+                    },
+                    "ipv4Unicast": {
+                        "timers": {
+                            "llgrStaleTime": 10,
+                        }
                     },
                 },
                 "connectionsEstablished": 1,
@@ -89,17 +97,20 @@ def test_bgp_dynamic_capability_graceful_restart():
     _, result = topotest.run_and_expect(test_func, None, count=30, wait=1)
     assert result is None, "Can't converge"
 
-    step("Change Graceful-Restart restart-time, and check if it's changed dynamically")
+    step(
+        "Change Graceful-Restart restart-time, LLGR stale-time and check if they changed dynamically"
+    )
 
     r2.vtysh_cmd(
         """
     configure terminal
     router bgp
      bgp graceful-restart restart-time 123
+     bgp long-lived-graceful-restart stale-time 5
     """
     )
 
-    def _bgp_check_if_session_not_reset_after_changing_restart_time():
+    def _bgp_check_if_session_not_reset_after_changing_gr_settings():
         output = json.loads(r1.vtysh_cmd("show bgp neighbor json"))
         expected = {
             "192.168.1.2": {
@@ -107,11 +118,18 @@ def test_bgp_dynamic_capability_graceful_restart():
                 "neighborCapabilities": {
                     "dynamic": "advertisedAndReceived",
                     "gracefulRestart": "advertisedAndReceived",
+                    "longLivedGracefulRestart": "advertisedAndReceived",
                 },
                 "gracefulRestartInfo": {
                     "nBit": True,
                     "timers": {
                         "receivedRestartTimer": 123,
+                        "configuredLlgrStaleTime": 10,
+                    },
+                    "ipv4Unicast": {
+                        "timers": {
+                            "llgrStaleTime": 5,
+                        }
                     },
                 },
                 "connectionsEstablished": 1,
@@ -121,7 +139,7 @@ def test_bgp_dynamic_capability_graceful_restart():
         return topotest.json_cmp(output, expected)
 
     test_func = functools.partial(
-        _bgp_check_if_session_not_reset_after_changing_restart_time,
+        _bgp_check_if_session_not_reset_after_changing_gr_settings,
     )
     _, result = topotest.run_and_expect(test_func, None, count=30, wait=1)
     assert (
@@ -148,11 +166,18 @@ def test_bgp_dynamic_capability_graceful_restart():
                 "neighborCapabilities": {
                     "dynamic": "advertisedAndReceived",
                     "gracefulRestart": "advertisedAndReceived",
+                    "longLivedGracefulRestart": "advertisedAndReceived",
                 },
                 "gracefulRestartInfo": {
                     "nBit": False,
                     "timers": {
                         "receivedRestartTimer": 123,
+                        "configuredLlgrStaleTime": 10,
+                    },
+                    "ipv4Unicast": {
+                        "timers": {
+                            "llgrStaleTime": 5,
+                        }
                     },
                 },
                 "connectionsEstablished": 1,