summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorDonatas Abraitis <donatas@opensourcerouting.org>2024-09-27 12:55:39 +0300
committerDonatas Abraitis <donatas@opensourcerouting.org>2024-10-01 21:05:52 +0300
commit2c6eb34af88bb6fa94c13413a57c85d343782a5d (patch)
treee9287196f3e0e4167b07a2c60842874c5f105acb /tests
parent237152fcb5870f021013b3be9eda59190cd81755 (diff)
tests: Drop test_bgp_with_loopback_with_same_subnet_p1
It's replaced and simplified by c3fd1e9520c619babb3004cea6df622ca67b0dfa. JSON topo is just horrible to debug. Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Diffstat (limited to 'tests')
-rw-r--r--tests/topotests/bgp_basic_functionality_topo1/test_bgp_basic_functionality.py289
1 files changed, 0 insertions, 289 deletions
diff --git a/tests/topotests/bgp_basic_functionality_topo1/test_bgp_basic_functionality.py b/tests/topotests/bgp_basic_functionality_topo1/test_bgp_basic_functionality.py
index c97fc5f0eb..5662e5935b 100644
--- a/tests/topotests/bgp_basic_functionality_topo1/test_bgp_basic_functionality.py
+++ b/tests/topotests/bgp_basic_functionality_topo1/test_bgp_basic_functionality.py
@@ -831,7 +831,6 @@ def test_bgp_with_loopback_interface(request):
for bgp_neighbor in topo["routers"][routerN]["bgp"]["address_family"]["ipv4"][
"unicast"
]["neighbor"].keys():
-
# Adding ['source_link'] = 'lo' key:value pair
topo["routers"][routerN]["bgp"]["address_family"]["ipv4"]["unicast"][
"neighbor"
@@ -876,294 +875,6 @@ def test_bgp_with_loopback_interface(request):
write_test_footer(tc_name)
-def test_bgp_with_loopback_with_same_subnet_p1(request):
- """
- Verify routes not installed in zebra when /32 routes received
- with loopback BGP session subnet
- """
-
- tgen = get_topogen()
- if BGP_CONVERGENCE is not True:
- pytest.skip("skipped because of BGP Convergence failure")
-
- # test case name
- tc_name = request.node.name
- write_test_header(tc_name)
-
- # Creating configuration from JSON
- reset_config_on_routers(tgen)
- step("Delete BGP seesion created initially")
- input_dict_r1 = {
- "r1": {"bgp": {"delete": True}},
- "r2": {"bgp": {"delete": True}},
- "r3": {"bgp": {"delete": True}},
- "r4": {"bgp": {"delete": True}},
- }
- result = create_router_bgp(tgen, topo, input_dict_r1)
- assert result is True, "Testcase {} : Failed \n Error: {}".format(tc_name, result)
-
- step("Create BGP session over loop address")
- topo_modify = deepcopy(topo)
-
- for routerN in sorted(topo["routers"].keys()):
- for addr_type in ADDR_TYPES:
- for bgp_neighbor in topo_modify["routers"][routerN]["bgp"][
- "address_family"
- ][addr_type]["unicast"]["neighbor"].keys():
-
- # Adding ['source_link'] = 'lo' key:value pair
- topo_modify["routers"][routerN]["bgp"]["address_family"][addr_type][
- "unicast"
- ]["neighbor"][bgp_neighbor]["dest_link"] = {
- "lo": {"source_link": "lo", "ebgp_multihop": 2}
- }
-
- result = create_router_bgp(tgen, topo_modify["routers"])
- assert result is True, "Testcase {} : Failed \n Error: {}".format(tc_name, result)
-
- step("Disable IPv6 BGP nbr from ipv4 address family")
- raw_config = {
- "r1": {
- "raw_config": [
- "router bgp {}".format(topo["routers"]["r1"]["bgp"]["local_as"]),
- "address-family ipv4 unicast",
- "no neighbor {} activate".format(
- topo["routers"]["r2"]["links"]["lo"]["ipv6"].split("/")[0]
- ),
- "no neighbor {} activate".format(
- topo["routers"]["r3"]["links"]["lo"]["ipv6"].split("/")[0]
- ),
- ]
- },
- "r2": {
- "raw_config": [
- "router bgp {}".format(topo["routers"]["r2"]["bgp"]["local_as"]),
- "address-family ipv4 unicast",
- "no neighbor {} activate".format(
- topo["routers"]["r1"]["links"]["lo"]["ipv6"].split("/")[0]
- ),
- "no neighbor {} activate".format(
- topo["routers"]["r3"]["links"]["lo"]["ipv6"].split("/")[0]
- ),
- ]
- },
- "r3": {
- "raw_config": [
- "router bgp {}".format(topo["routers"]["r3"]["bgp"]["local_as"]),
- "address-family ipv4 unicast",
- "no neighbor {} activate".format(
- topo["routers"]["r1"]["links"]["lo"]["ipv6"].split("/")[0]
- ),
- "no neighbor {} activate".format(
- topo["routers"]["r2"]["links"]["lo"]["ipv6"].split("/")[0]
- ),
- "no neighbor {} activate".format(
- topo["routers"]["r4"]["links"]["lo"]["ipv6"].split("/")[0]
- ),
- ]
- },
- "r4": {
- "raw_config": [
- "router bgp {}".format(topo["routers"]["r4"]["bgp"]["local_as"]),
- "address-family ipv4 unicast",
- "no neighbor {} activate".format(
- topo["routers"]["r3"]["links"]["lo"]["ipv6"].split("/")[0]
- ),
- ]
- },
- }
-
- step("Configure kernel routes")
- result = apply_raw_config(tgen, raw_config)
- assert result is True, "Testcase {} : Failed Error: {}".format(tc_name, result)
-
- r1_ipv4_lo = topo["routers"]["r1"]["links"]["lo"]["ipv4"]
- r1_ipv6_lo = topo["routers"]["r1"]["links"]["lo"]["ipv6"]
- r2_ipv4_lo = topo["routers"]["r2"]["links"]["lo"]["ipv4"]
- r2_ipv6_lo = topo["routers"]["r2"]["links"]["lo"]["ipv6"]
- r3_ipv4_lo = topo["routers"]["r3"]["links"]["lo"]["ipv4"]
- r3_ipv6_lo = topo["routers"]["r3"]["links"]["lo"]["ipv6"]
- r4_ipv4_lo = topo["routers"]["r4"]["links"]["lo"]["ipv4"]
- r4_ipv6_lo = topo["routers"]["r4"]["links"]["lo"]["ipv6"]
-
- r1_r2 = topo["routers"]["r1"]["links"]["r2"]["ipv6"].split("/")[0]
- r2_r1 = topo["routers"]["r2"]["links"]["r1"]["ipv6"].split("/")[0]
- r1_r3 = topo["routers"]["r1"]["links"]["r3"]["ipv6"].split("/")[0]
- r3_r1 = topo["routers"]["r3"]["links"]["r1"]["ipv6"].split("/")[0]
- r2_r3 = topo["routers"]["r2"]["links"]["r3"]["ipv6"].split("/")[0]
- r3_r2 = topo["routers"]["r3"]["links"]["r2"]["ipv6"].split("/")[0]
- r3_r4 = topo["routers"]["r3"]["links"]["r4"]["ipv6"].split("/")[0]
- r4_r3 = topo["routers"]["r4"]["links"]["r3"]["ipv6"].split("/")[0]
-
- r1_r2_ipv4 = topo["routers"]["r1"]["links"]["r2"]["ipv4"].split("/")[0]
- r2_r1_ipv4 = topo["routers"]["r2"]["links"]["r1"]["ipv4"].split("/")[0]
- r1_r3_ipv4 = topo["routers"]["r1"]["links"]["r3"]["ipv4"].split("/")[0]
- r3_r1_ipv4 = topo["routers"]["r3"]["links"]["r1"]["ipv4"].split("/")[0]
- r2_r3_ipv4 = topo["routers"]["r2"]["links"]["r3"]["ipv4"].split("/")[0]
- r3_r2_ipv4 = topo["routers"]["r3"]["links"]["r2"]["ipv4"].split("/")[0]
- r3_r4_ipv4 = topo["routers"]["r3"]["links"]["r4"]["ipv4"].split("/")[0]
- r4_r3_ipv4 = topo["routers"]["r4"]["links"]["r3"]["ipv4"].split("/")[0]
-
- r1_r2_intf = topo["routers"]["r1"]["links"]["r2"]["interface"]
- r2_r1_intf = topo["routers"]["r2"]["links"]["r1"]["interface"]
- r1_r3_intf = topo["routers"]["r1"]["links"]["r3"]["interface"]
- r3_r1_intf = topo["routers"]["r3"]["links"]["r1"]["interface"]
- r2_r3_intf = topo["routers"]["r2"]["links"]["r3"]["interface"]
- r3_r2_intf = topo["routers"]["r3"]["links"]["r2"]["interface"]
- r3_r4_intf = topo["routers"]["r3"]["links"]["r4"]["interface"]
- r4_r3_intf = topo["routers"]["r4"]["links"]["r3"]["interface"]
-
- ipv4_list = [
- ("r1", r1_r2_intf, r2_ipv4_loopback),
- ("r1", r1_r3_intf, r3_ipv4_loopback),
- ("r2", r2_r1_intf, r1_ipv4_loopback),
- ("r2", r2_r3_intf, r3_ipv4_loopback),
- ("r3", r3_r1_intf, r1_ipv4_loopback),
- ("r3", r3_r2_intf, r2_ipv4_loopback),
- ("r3", r3_r4_intf, r4_ipv4_loopback),
- ("r4", r4_r3_intf, r3_ipv4_loopback),
- ]
-
- ipv6_list = [
- ("r1", r1_r2_intf, r2_ipv6_loopback, r2_r1),
- ("r1", r1_r3_intf, r3_ipv6_loopback, r3_r1),
- ("r2", r2_r1_intf, r1_ipv6_loopback, r1_r2),
- ("r2", r2_r3_intf, r3_ipv6_loopback, r3_r2),
- ("r3", r3_r1_intf, r1_ipv6_loopback, r1_r3),
- ("r3", r3_r2_intf, r2_ipv6_loopback, r2_r3),
- ("r3", r3_r4_intf, r4_ipv6_loopback, r4_r3),
- ("r4", r4_r3_intf, r3_ipv6_loopback, r3_r4),
- ]
-
- for dut, intf, loop_addr in ipv4_list:
- result = addKernelRoute(tgen, dut, intf, loop_addr)
- assert result is True, "Testcase {}:Failed \n Error: {}".format(tc_name, result)
-
- for dut, intf, loop_addr, next_hop in ipv6_list:
- result = addKernelRoute(tgen, dut, intf, loop_addr, next_hop)
- assert result is True, "Testcase {}:Failed \n Error: {}".format(tc_name, result)
-
- step("Configure static routes")
-
- input_dict = {
- "r1": {
- "static_routes": [
- {"network": r2_ipv4_loopback, "next_hop": r2_r1_ipv4},
- {"network": r3_ipv4_loopback, "next_hop": r3_r1_ipv4},
- {"network": r2_ipv6_loopback, "next_hop": r2_r1},
- {"network": r3_ipv6_loopback, "next_hop": r3_r1},
- ]
- },
- "r2": {
- "static_routes": [
- {"network": r1_ipv4_loopback, "next_hop": r1_r2_ipv4},
- {"network": r3_ipv4_loopback, "next_hop": r3_r2_ipv4},
- {"network": r1_ipv6_loopback, "next_hop": r1_r2},
- {"network": r3_ipv6_loopback, "next_hop": r3_r2},
- ]
- },
- "r3": {
- "static_routes": [
- {"network": r1_ipv4_loopback, "next_hop": r1_r3_ipv4},
- {"network": r2_ipv4_loopback, "next_hop": r2_r3_ipv4},
- {"network": r4_ipv4_loopback, "next_hop": r4_r3_ipv4},
- {"network": r1_ipv6_loopback, "next_hop": r1_r3},
- {"network": r2_ipv6_loopback, "next_hop": r2_r3},
- {"network": r4_ipv6_loopback, "next_hop": r4_r3},
- ]
- },
- "r4": {
- "static_routes": [
- {"network": r3_ipv4_loopback, "next_hop": r3_r4_ipv4},
- {"network": r3_ipv6_loopback, "next_hop": r3_r4},
- ]
- },
- }
- result = create_static_routes(tgen, input_dict)
- assert result is True, "Testcase {} :Failed \n Error: {}".format(tc_name, result)
-
- step("Verify BGP session convergence")
-
- result = verify_bgp_convergence(tgen, topo_modify)
- assert result is True, "Testcase {} :Failed \n Error: {}".format(tc_name, result)
-
- step("Configure redistribute connected on R2 and R4")
- input_dict_1 = {
- "r2": {
- "bgp": {
- "address_family": {
- "ipv4": {
- "unicast": {"redistribute": [{"redist_type": "connected"}]}
- },
- "ipv6": {
- "unicast": {"redistribute": [{"redist_type": "connected"}]}
- },
- }
- }
- },
- "r4": {
- "bgp": {
- "address_family": {
- "ipv4": {
- "unicast": {"redistribute": [{"redist_type": "connected"}]}
- },
- "ipv6": {
- "unicast": {"redistribute": [{"redist_type": "connected"}]}
- },
- }
- }
- },
- }
-
- result = create_router_bgp(tgen, topo, input_dict_1)
- assert result is True, "Testcase {} :Failed \n Error: {}".format(tc_name, result)
-
- step("Verify Ipv4 and Ipv6 network installed in R1 RIB but not in FIB")
- input_dict_r1 = {
- "r1": {
- "static_routes": [
- {"network": "1.0.2.17/32"},
- {"network": "2001:db8:f::2:17/128"},
- ]
- }
- }
-
- dut = "r1"
- protocol = "bgp"
- for addr_type in ADDR_TYPES:
- result = verify_fib_routes(
- tgen, addr_type, dut, input_dict_r1, expected=False
- ) # pylint: disable=E1123
- assert result is not True, (
- "Testcase {} : Failed \n "
- "Expected: Routes should not be present in {} FIB \n "
- "Found: {}".format(tc_name, dut, result)
- )
-
- step("Verify Ipv4 and Ipv6 network installed in r3 RIB but not in FIB")
- input_dict_r3 = {
- "r3": {
- "static_routes": [
- {"network": "1.0.4.17/32"},
- {"network": "2001:db8:f::4:17/128"},
- ]
- }
- }
- dut = "r3"
- protocol = "bgp"
- for addr_type in ADDR_TYPES:
- result = verify_fib_routes(
- tgen, addr_type, dut, input_dict_r1, expected=False
- ) # pylint: disable=E1123
- assert result is not True, (
- "Testcase {} : Failed \n "
- "Expected: Routes should not be present in {} FIB \n "
- "Found: {}".format(tc_name, dut, result)
- )
-
- write_test_footer(tc_name)
-
-
if __name__ == "__main__":
args = ["-s"] + sys.argv[1:]
sys.exit(pytest.main(args))