forked from Mirror/frr

While here, also make "VPN SAFI clear" test wait for clear result (tests/topotests/bgp_rfapi_basic_sanity{,_config2}) Original RFAPI code relied on the frr timer system to remember various allocations that were supposed to be freed at future times rather than manage a parallel database. However, if bgpd is terminated before the times expire, those pending allocations are marked as memory leaks, even though they wouldn't be leaks under normal operation. This change adds some hash tables to track these outstanding allocations that are associated with pending timers, and uses those tables to free the allocations when bgpd exits. Signed-off-by: G. Paul Ziemba <paulz@labn.net>
125 lines
3 KiB
Python
125 lines
3 KiB
Python
from lib.lutil import luCommand
|
|
|
|
luCommand(
|
|
"r1",
|
|
'vtysh -c "debug rfapi-dev unregister vn 10.0.0.1 un 1.1.1.1 prefix 11.11.11.0/24"',
|
|
"",
|
|
"none",
|
|
"Prefix removed",
|
|
)
|
|
luCommand(
|
|
"r1",
|
|
'vtysh -c "show vnc registrations"',
|
|
"Locally: *Active: 0 ",
|
|
"wait",
|
|
"Local registration removed",
|
|
)
|
|
luCommand(
|
|
"r1",
|
|
'vtysh -c "debug rfapi-dev close vn 10.0.0.1 un 1.1.1.1"',
|
|
"status 0",
|
|
"pass",
|
|
"Closed RFAPI",
|
|
)
|
|
|
|
luCommand(
|
|
"r3",
|
|
'vtysh -c "debug rfapi-dev unregister vn 10.0.0.2 un 2.2.2.2 prefix 22.22.22.0/24"',
|
|
"",
|
|
"none",
|
|
"Prefix removed",
|
|
)
|
|
luCommand(
|
|
"r3",
|
|
'vtysh -c "show vnc registrations"',
|
|
"Locally: *Active: 0 ",
|
|
"wait",
|
|
"Local registration removed",
|
|
)
|
|
luCommand(
|
|
"r3",
|
|
'vtysh -c "debug rfapi-dev close vn 10.0.0.2 un 2.2.2.2"',
|
|
"status 0",
|
|
"pass",
|
|
"Closed RFAPI",
|
|
)
|
|
|
|
luCommand(
|
|
"r4",
|
|
'vtysh -c "debug rfapi-dev unregister vn 10.0.0.3 un 3.3.3.3 prefix 33.33.33.0/24"',
|
|
"",
|
|
"none",
|
|
"Prefix removed",
|
|
)
|
|
luCommand(
|
|
"r4",
|
|
'vtysh -c "debug rfapi-dev unregister vn 10.0.0.3 un 3.3.3.3 prefix 11.11.11.0/24"',
|
|
"",
|
|
"none",
|
|
"MP prefix removed",
|
|
)
|
|
luCommand(
|
|
"r4",
|
|
'vtysh -c "show vnc registrations"',
|
|
"Locally: *Active: 0 ",
|
|
"wait",
|
|
"Local registration removed",
|
|
)
|
|
# luCommand('r4','vtysh -c "debug rfapi-dev close vn 10.0.0.3 un 3.3.3.3"','status 0', 'pass', 'Closed RFAPI')
|
|
luCommand("r4", 'vtysh -c "clear vnc nve *"', ".", "pass", "Cleared NVEs")
|
|
|
|
luCommand(
|
|
"r1",
|
|
'vtysh -c "show vnc registrations"',
|
|
"Locally: *Active: 0 .* Remotely: *Active: 0",
|
|
"wait",
|
|
"All registrations cleared",
|
|
)
|
|
luCommand(
|
|
"r3",
|
|
'vtysh -c "show vnc registrations"',
|
|
"Locally: *Active: 0 .* Remotely: *Active: 0",
|
|
"wait",
|
|
"All registrations cleared",
|
|
)
|
|
luCommand(
|
|
"r4",
|
|
'vtysh -c "show vnc registrations"',
|
|
"Locally: *Active: 0 .* Remotely: *Active: 0",
|
|
"wait",
|
|
"All registrations cleared",
|
|
)
|
|
|
|
num = "0 exist"
|
|
luCommand("r1", 'vtysh -c "show bgp ipv4 vpn"', num, "wait", "VPN SAFI clear")
|
|
luCommand("r2", 'vtysh -c "show bgp ipv4 vpn"', num, "wait", "VPN SAFI clear")
|
|
luCommand("r3", 'vtysh -c "show bgp ipv4 vpn"', num, "wait", "VPN SAFI clear")
|
|
luCommand("r4", 'vtysh -c "show bgp ipv4 vpn"', num, "wait", "VPN SAFI clear")
|
|
|
|
luCommand(
|
|
"r1",
|
|
'vtysh -c "show vnc registrations"',
|
|
"Locally: *Active: 0 .* Remotely: *Active: 0 .*In Holddown: *Active: 0",
|
|
"wait",
|
|
"No holddowns",
|
|
20,
|
|
)
|
|
luCommand(
|
|
"r3",
|
|
'vtysh -c "show vnc registrations"',
|
|
"Locally: *Active: 0 .* Remotely: *Active: 0 .*In Holddown: *Active: 0",
|
|
"wait",
|
|
"No holddowns",
|
|
)
|
|
luCommand(
|
|
"r4",
|
|
'vtysh -c "show vnc registrations"',
|
|
"Locally: *Active: 0 .* Remotely: *Active: 0 .*In Holddown: *Active: 0",
|
|
"wait",
|
|
"No holddowns",
|
|
)
|
|
|
|
luCommand("r1", 'vtysh -c "show vnc summary"', ".", "none")
|
|
luCommand("r3", 'vtysh -c "show vnc summary"', ".", "none")
|
|
luCommand("r4", 'vtysh -c "show vnc summary"', ".", "none")
|