mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-05-26 04:23:58 +00:00
Merge pull request #14470 from opensourcerouting/fix/rewrite_dynamic_capabilities_tests
tests: Improve BGP dynamic capability tests
This commit is contained in:
commit
4f0db0daaf
@ -1,6 +1,9 @@
|
|||||||
!
|
!
|
||||||
!debug bgp neighbor
|
!debug bgp neighbor
|
||||||
!
|
!
|
||||||
|
int r1-eth0
|
||||||
|
ip address 192.168.1.1/24
|
||||||
|
!
|
||||||
router bgp 65001
|
router bgp 65001
|
||||||
no bgp ebgp-requires-policy
|
no bgp ebgp-requires-policy
|
||||||
bgp graceful-restart
|
bgp graceful-restart
|
@ -1,4 +0,0 @@
|
|||||||
!
|
|
||||||
int r1-eth0
|
|
||||||
ip address 192.168.1.1/24
|
|
||||||
!
|
|
@ -1,6 +1,12 @@
|
|||||||
!
|
!
|
||||||
!debug bgp neighbor
|
!debug bgp neighbor
|
||||||
!
|
!
|
||||||
|
int lo
|
||||||
|
ip address 10.10.10.10/32
|
||||||
|
!
|
||||||
|
int r2-eth0
|
||||||
|
ip address 192.168.1.2/24
|
||||||
|
!
|
||||||
router bgp 65002
|
router bgp 65002
|
||||||
bgp graceful-restart
|
bgp graceful-restart
|
||||||
bgp long-lived stale-time 20
|
bgp long-lived stale-time 20
|
||||||
@ -9,4 +15,8 @@ router bgp 65002
|
|||||||
neighbor 192.168.1.1 timers 1 3
|
neighbor 192.168.1.1 timers 1 3
|
||||||
neighbor 192.168.1.1 timers connect 1
|
neighbor 192.168.1.1 timers connect 1
|
||||||
neighbor 192.168.1.1 capability dynamic
|
neighbor 192.168.1.1 capability dynamic
|
||||||
|
!
|
||||||
|
address-family ipv4 unicast
|
||||||
|
redistribute connected
|
||||||
|
exit-address-family
|
||||||
!
|
!
|
@ -1,4 +0,0 @@
|
|||||||
!
|
|
||||||
int r2-eth0
|
|
||||||
ip address 192.168.1.2/24
|
|
||||||
!
|
|
@ -38,13 +38,8 @@ def setup_module(mod):
|
|||||||
|
|
||||||
router_list = tgen.routers()
|
router_list = tgen.routers()
|
||||||
|
|
||||||
for i, (rname, router) in enumerate(router_list.items(), 1):
|
for _, (rname, router) in enumerate(router_list.items(), 1):
|
||||||
router.load_config(
|
router.load_frr_config(os.path.join(CWD, "{}/frr.conf".format(rname)))
|
||||||
TopoRouter.RD_ZEBRA, os.path.join(CWD, "{}/zebra.conf".format(rname))
|
|
||||||
)
|
|
||||||
router.load_config(
|
|
||||||
TopoRouter.RD_BGP, os.path.join(CWD, "{}/bgpd.conf".format(rname))
|
|
||||||
)
|
|
||||||
|
|
||||||
tgen.start_router()
|
tgen.start_router()
|
||||||
|
|
||||||
@ -85,8 +80,6 @@ def test_bgp_dynamic_capability_graceful_restart():
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"connectionsEstablished": 1,
|
|
||||||
"connectionsDropped": 0,
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return topotest.json_cmp(output, expected)
|
return topotest.json_cmp(output, expected)
|
||||||
@ -101,6 +94,9 @@ def test_bgp_dynamic_capability_graceful_restart():
|
|||||||
"Change Graceful-Restart restart-time, LLGR stale-time and check if they changed dynamically"
|
"Change Graceful-Restart restart-time, LLGR stale-time and check if they changed dynamically"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# Clear message stats to check if we receive a notification or not after we
|
||||||
|
# change the settings fo LLGR.
|
||||||
|
r1.vtysh_cmd("clear bgp 192.168.1.2 message-stats")
|
||||||
r2.vtysh_cmd(
|
r2.vtysh_cmd(
|
||||||
"""
|
"""
|
||||||
configure terminal
|
configure terminal
|
||||||
@ -132,8 +128,10 @@ def test_bgp_dynamic_capability_graceful_restart():
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"connectionsEstablished": 1,
|
"messageStats": {
|
||||||
"connectionsDropped": 0,
|
"notificationsRecv": 0,
|
||||||
|
"capabilityRecv": 2,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return topotest.json_cmp(output, expected)
|
return topotest.json_cmp(output, expected)
|
||||||
@ -150,6 +148,9 @@ def test_bgp_dynamic_capability_graceful_restart():
|
|||||||
"Disable Graceful-Restart notification support, and check if it's changed dynamically"
|
"Disable Graceful-Restart notification support, and check if it's changed dynamically"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# Clear message stats to check if we receive a notification or not after we
|
||||||
|
# change the settings fo LLGR.
|
||||||
|
r1.vtysh_cmd("clear bgp 192.168.1.2 message-stats")
|
||||||
r2.vtysh_cmd(
|
r2.vtysh_cmd(
|
||||||
"""
|
"""
|
||||||
configure terminal
|
configure terminal
|
||||||
@ -180,8 +181,10 @@ def test_bgp_dynamic_capability_graceful_restart():
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"connectionsEstablished": 1,
|
"messageStats": {
|
||||||
"connectionsDropped": 0,
|
"notificationsRecv": 0,
|
||||||
|
"capabilityRecv": 1,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return topotest.json_cmp(output, expected)
|
return topotest.json_cmp(output, expected)
|
||||||
|
@ -36,13 +36,8 @@ def setup_module(mod):
|
|||||||
|
|
||||||
router_list = tgen.routers()
|
router_list = tgen.routers()
|
||||||
|
|
||||||
for i, (rname, router) in enumerate(router_list.items(), 1):
|
for _, (rname, router) in enumerate(router_list.items(), 1):
|
||||||
router.load_config(
|
router.load_frr_config(os.path.join(CWD, "{}/frr.conf".format(rname)))
|
||||||
TopoRouter.RD_ZEBRA, os.path.join(CWD, "{}/zebra.conf".format(rname))
|
|
||||||
)
|
|
||||||
router.load_config(
|
|
||||||
TopoRouter.RD_BGP, os.path.join(CWD, "{}/bgpd.conf".format(rname))
|
|
||||||
)
|
|
||||||
|
|
||||||
tgen.start_router()
|
tgen.start_router()
|
||||||
|
|
||||||
@ -71,8 +66,6 @@ def test_bgp_dynamic_capability_role():
|
|||||||
"neighborCapabilities": {
|
"neighborCapabilities": {
|
||||||
"dynamic": "advertisedAndReceived",
|
"dynamic": "advertisedAndReceived",
|
||||||
},
|
},
|
||||||
"connectionsEstablished": 1,
|
|
||||||
"connectionsDropped": 0,
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return topotest.json_cmp(output, expected)
|
return topotest.json_cmp(output, expected)
|
||||||
@ -85,6 +78,9 @@ def test_bgp_dynamic_capability_role():
|
|||||||
|
|
||||||
step("Set local-role and check if it's exchanged dynamically")
|
step("Set local-role and check if it's exchanged dynamically")
|
||||||
|
|
||||||
|
# Clear message stats to check if we receive a notification or not after we
|
||||||
|
# change the settings fo LLGR.
|
||||||
|
r1.vtysh_cmd("clear bgp 192.168.1.2 message-stats")
|
||||||
r1.vtysh_cmd(
|
r1.vtysh_cmd(
|
||||||
"""
|
"""
|
||||||
configure terminal
|
configure terminal
|
||||||
@ -112,8 +108,10 @@ def test_bgp_dynamic_capability_role():
|
|||||||
"dynamic": "advertisedAndReceived",
|
"dynamic": "advertisedAndReceived",
|
||||||
"role": "advertisedAndReceived",
|
"role": "advertisedAndReceived",
|
||||||
},
|
},
|
||||||
"connectionsEstablished": 1,
|
"messageStats": {
|
||||||
"connectionsDropped": 0,
|
"notificationsRecv": 0,
|
||||||
|
"capabilityRecv": 1,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return topotest.json_cmp(output, expected)
|
return topotest.json_cmp(output, expected)
|
||||||
|
@ -36,13 +36,8 @@ def setup_module(mod):
|
|||||||
|
|
||||||
router_list = tgen.routers()
|
router_list = tgen.routers()
|
||||||
|
|
||||||
for i, (rname, router) in enumerate(router_list.items(), 1):
|
for _, (rname, router) in enumerate(router_list.items(), 1):
|
||||||
router.load_config(
|
router.load_frr_config(os.path.join(CWD, "{}/frr.conf".format(rname)))
|
||||||
TopoRouter.RD_ZEBRA, os.path.join(CWD, "{}/zebra.conf".format(rname))
|
|
||||||
)
|
|
||||||
router.load_config(
|
|
||||||
TopoRouter.RD_BGP, os.path.join(CWD, "{}/bgpd.conf".format(rname))
|
|
||||||
)
|
|
||||||
|
|
||||||
tgen.start_router()
|
tgen.start_router()
|
||||||
|
|
||||||
@ -73,8 +68,6 @@ def test_bgp_dynamic_capability_software_version():
|
|||||||
"receivedSoftwareVersion": None,
|
"receivedSoftwareVersion": None,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"connectionsEstablished": 1,
|
|
||||||
"connectionsDropped": 0,
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return topotest.json_cmp(output, expected)
|
return topotest.json_cmp(output, expected)
|
||||||
@ -87,6 +80,9 @@ def test_bgp_dynamic_capability_software_version():
|
|||||||
|
|
||||||
step("Enable software version capability and check if it's exchanged dynamically")
|
step("Enable software version capability and check if it's exchanged dynamically")
|
||||||
|
|
||||||
|
# Clear message stats to check if we receive a notification or not after we
|
||||||
|
# change the settings fo LLGR.
|
||||||
|
r1.vtysh_cmd("clear bgp 192.168.1.2 message-stats")
|
||||||
r1.vtysh_cmd(
|
r1.vtysh_cmd(
|
||||||
"""
|
"""
|
||||||
configure terminal
|
configure terminal
|
||||||
@ -133,8 +129,10 @@ def test_bgp_dynamic_capability_software_version():
|
|||||||
"receivedSoftwareVersion": rcv,
|
"receivedSoftwareVersion": rcv,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"connectionsEstablished": 1,
|
"messageStats": {
|
||||||
"connectionsDropped": 0,
|
"notificationsRecv": 0,
|
||||||
|
"capabilityRecv": 1,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return topotest.json_cmp(output, expected)
|
return topotest.json_cmp(output, expected)
|
||||||
|
Loading…
Reference in New Issue
Block a user