diff options
Diffstat (limited to 'tests/topotests/bgp_features/test_bgp_features.py')
| -rw-r--r-- | tests/topotests/bgp_features/test_bgp_features.py | 78 |
1 files changed, 43 insertions, 35 deletions
diff --git a/tests/topotests/bgp_features/test_bgp_features.py b/tests/topotests/bgp_features/test_bgp_features.py index 54f61f92e5..f2e09fb010 100644 --- a/tests/topotests/bgp_features/test_bgp_features.py +++ b/tests/topotests/bgp_features/test_bgp_features.py @@ -56,40 +56,48 @@ pytestmark = [pytest.mark.bgpd, pytest.mark.ospfd] ##################################################### -class BGPFeaturesTopo1(Topo): - "BGP Features Topology 1" - - def build(self, **_opts): - tgen = get_topogen(self) - - # Create the routers - for rtrNum in range(1, 6): - tgen.add_router("r{}".format(rtrNum)) - - # Setup Switches and connections - for swNum in range(1, 11): - tgen.add_switch("sw{}".format(swNum)) - - # Add connections to stub switches - tgen.gears["r1"].add_link(tgen.gears["sw6"]) - tgen.gears["r2"].add_link(tgen.gears["sw7"]) - tgen.gears["r3"].add_link(tgen.gears["sw8"]) - tgen.gears["r4"].add_link(tgen.gears["sw9"]) - tgen.gears["r5"].add_link(tgen.gears["sw10"]) - - # Add connections to R1-R2-R3 core - tgen.gears["r1"].add_link(tgen.gears["sw1"]) - tgen.gears["r1"].add_link(tgen.gears["sw3"]) - tgen.gears["r2"].add_link(tgen.gears["sw1"]) - tgen.gears["r2"].add_link(tgen.gears["sw2"]) - tgen.gears["r3"].add_link(tgen.gears["sw2"]) - tgen.gears["r3"].add_link(tgen.gears["sw3"]) - - # Add connections to external R4/R5 Routers - tgen.gears["r1"].add_link(tgen.gears["sw4"]) - tgen.gears["r4"].add_link(tgen.gears["sw4"]) - tgen.gears["r2"].add_link(tgen.gears["sw5"]) - tgen.gears["r5"].add_link(tgen.gears["sw5"]) +def build_topo(tgen): + for rtrNum in range(1, 6): + tgen.add_router("r{}".format(rtrNum)) + + # create ExaBGP peers + for peer_num in range(1, 5): + tgen.add_exabgp_peer( + "peer{}".format(peer_num), + ip="192.168.101.{}".format(peer_num + 2), + defaultRoute="via 192.168.101.1", + ) + + # Setup Switches and connections + for swNum in range(1, 11): + tgen.add_switch("sw{}".format(swNum)) + + # Add connections to stub switches + tgen.gears["r1"].add_link(tgen.gears["sw6"]) + tgen.gears["r2"].add_link(tgen.gears["sw7"]) + tgen.gears["r3"].add_link(tgen.gears["sw8"]) + tgen.gears["r4"].add_link(tgen.gears["sw9"]) + tgen.gears["r5"].add_link(tgen.gears["sw10"]) + + # Add connections to R1-R2-R3 core + tgen.gears["r1"].add_link(tgen.gears["sw1"]) + tgen.gears["r1"].add_link(tgen.gears["sw3"]) + tgen.gears["r2"].add_link(tgen.gears["sw1"]) + tgen.gears["r2"].add_link(tgen.gears["sw2"]) + tgen.gears["r3"].add_link(tgen.gears["sw2"]) + tgen.gears["r3"].add_link(tgen.gears["sw3"]) + + # Add connections to external R4/R5 Routers + tgen.gears["r1"].add_link(tgen.gears["sw4"]) + tgen.gears["r4"].add_link(tgen.gears["sw4"]) + tgen.gears["r2"].add_link(tgen.gears["sw5"]) + tgen.gears["r5"].add_link(tgen.gears["sw5"]) + + # Add ExaBGP peers to sw4 + tgen.gears["peer1"].add_link(tgen.gears["sw4"]) + tgen.gears["peer2"].add_link(tgen.gears["sw4"]) + tgen.gears["peer3"].add_link(tgen.gears["sw4"]) + tgen.gears["peer4"].add_link(tgen.gears["sw4"]) ##################################################### @@ -100,7 +108,7 @@ class BGPFeaturesTopo1(Topo): def setup_module(module): - tgen = Topogen(BGPFeaturesTopo1, module.__name__) + tgen = Topogen(build_topo, module.__name__) tgen.start_topology() # Starting Routers |
