def verify_interface_on(step): step("\n########## Verifying interface are up ########## \n") for switch in switches: ports = [switch.ports["if01"]] verify_turn_on_interfaces(switch, ports) step("\nExiting verify_interface_on\n")
def configure(switch1, switch2, step): ''' - Configures the IP address in SW1, SW2 and SW3 - Creates router bgp instance on SW1 and SW2 - Configures the router id - Configures the network range - Configure redistribute and neighbor ''' ''' - Enable the link. - Set IP for the switches. ''' # Enabling interface 1 SW1. with switch1.libs.vtysh.ConfigInterface("if01") as ctx: # Enabling interface 1 SW1. step("Enabling interface1 on SW1") ctx.no_shutdown() # Assigning an IPv4 address on interface 1 of SW1 step("Configuring IPv4 address on link 1 SW1") ctx.ip_address("%s/%s" % (ip_addr1, default_pl)) verify_turn_on_interfaces(switch1, [switch1.ports["if01"]]) with switch2.libs.vtysh.ConfigInterface("if01") as ctx: # Enabling interface 1 SW2. step("Enabling interface1 on SW2") ctx.no_shutdown() # Assigning an IPv4 address on interface 1 of SW2 step("Configuring IPv4 address on link 1 SW2") ctx.ip_address("%s/%s" % (ip_addr2, default_pl)) verify_turn_on_interfaces(switch2, [switch2.ports["if01"]]) # For SW1 and SW2, configure bgp step("Configuring router id on SW1") configure_router_id(switch1, as_num1, sw1_router_id) step("Configuring networks on SW1") configure_network(switch1, as_num1, "9.0.0.0/8") step("Configuring neighbors on SW1") configure_neighbor(switch1, as_num1, ip_addr2, as_num2) step("Configuring router id on SW2") configure_router_id(switch2, as_num2, sw2_router_id) step("Configuring networks on SW2") configure_network(switch2, as_num2, "10.0.0.0/8") step("Configuring networks on SW2") configure_network(switch2, as_num2, "11.0.0.0/8") step("Configuring neighbors on SW2") configure_neighbor(switch2, as_num2, ip_addr1, as_num1)
def verify_interface_on(step): step("\n########## Verifying interface are up ########## \n") for switch in switches: int1 = switch.ports["if01"] if switch.name == "ops1": int2 = switch.ports["if02"] ports = [int1, int2] else: ports = [int1] verify_turn_on_interfaces(switch, ports)
def configure(step, switch1, switch2): """ - Configures the IP address in SW1, SW2 and SW3 - Creates router bgp instance on SW1 and SW2 - Configures the router id - Configures the network range - Configure redistribute and neighbor """ """ - Enable the link. - Set IP for the switches. """ with switch1.libs.vtysh.ConfigInterface("if01") as ctx: # Enabling interface 1 SW1. step("Enabling interface1 on SW1") ctx.no_shutdown() # Assigning an IPv4 address on interface 1 of SW1 ctx.ip_address("%s/%s" % (IP_ADDR1, DEFAULT_PL)) verify_turn_on_interfaces(switch1, [switch1.ports["if01"]]) with switch2.libs.vtysh.ConfigInterface("if01") as ctx: # Enabling interface 1 SW2. step("Enabling interface1 on SW2") ctx.no_shutdown() # Assigning an IPv4 address on interface 1 of SW2 ctx.ip_address("%s/%s" % (IP_ADDR2, DEFAULT_PL)) verify_turn_on_interfaces(switch2, [switch2.ports["if01"]]) # For SW1 and SW2, configure bgp step("Configuring router id on SW1") configure_router_id(step, switch1, AS_NUM1, SW1_ROUTER_ID) step("Configuring networks on SW1") configure_network(switch1, AS_NUM1, "9.0.0.0/8") step("Configuring neighbors on SW1") configure_neighbor(switch1, AS_NUM1, IP_ADDR2, AS_NUM2) step("Configuring router id on SW2") configure_router_id(step, switch2, AS_NUM2, SW2_ROUTER_ID) step("Configuring networks on SW2") configure_network(switch2, AS_NUM2, "10.0.0.0/8") step("Configuring networks on SW2") configure_network(switch2, AS_NUM2, "11.0.0.0/8") step("Configuring neighbors on SW2") configure_neighbor(switch2, AS_NUM2, IP_ADDR1, AS_NUM1)
def configuration(topology, request): sw1 = topology.get('sw1') sw2 = topology.get('sw2') sw3 = topology.get('sw3') sw4 = topology.get('sw4') sw5 = topology.get('sw5') assert sw1 is not None assert sw2 is not None assert sw3 is not None assert sw4 is not None assert sw5 is not None configure_interface(sw1, SW1_INTF1, SW1_INTF1_IPV4_ADDR) configure_interface(sw1, SW1_INTF2, SW1_INTF2_IPV4_ADDR) configure_interface(sw2, SW2_INTF1, SW2_INTF1_IPV4_ADDR) configure_interface(sw2, SW2_INTF2, SW2_INTF2_IPV4_ADDR) configure_interface(sw3, SW3_INTF1, SW3_INTF1_IPV4_ADDR) configure_interface(sw3, SW3_INTF2, SW3_INTF2_IPV4_ADDR) configure_interface(sw4, SW4_INTF1, SW4_INTF1_IPV4_ADDR) configure_interface(sw5, SW5_INTF2, SW5_INTF2_IPV4_ADDR) ports_sw1 = [sw1.ports[SW1_INTF1], sw1.ports[SW1_INTF2]] verify_turn_on_interfaces(sw1, ports_sw1) ports_sw2 = [sw2.ports[SW2_INTF1], sw2.ports[SW2_INTF2]] verify_turn_on_interfaces(sw2, ports_sw2) ports_sw3 = [sw3.ports[SW3_INTF1], sw3.ports[SW3_INTF2]] verify_turn_on_interfaces(sw3, ports_sw3) ports_sw4 = [sw4.ports[SW4_INTF1]] verify_turn_on_interfaces(sw4, ports_sw4) ports_sw5 = [sw5.ports[SW5_INTF2]] verify_turn_on_interfaces(sw5, ports_sw5) # Configuring ospf with network command in sw1, sw2, sw3, sw4 and sw5 configure_ospf_router(sw1, SW1_ROUTER_ID, SW1_INTF1_IPV4_ADDR, OSPF_AREA_100) configure_ospf_router(sw1, SW1_ROUTER_ID, SW1_INTF2_IPV4_ADDR, OSPF_AREA_100) configure_ospf_router(sw2, SW2_ROUTER_ID, SW2_INTF1_IPV4_ADDR, OSPF_AREA_100) configure_ospf_router(sw2, SW2_ROUTER_ID, SW2_INTF2_IPV4_ADDR, OSPF_AREA_0) configure_ospf_router(sw3, SW3_ROUTER_ID, SW3_INTF1_IPV4_ADDR, OSPF_AREA_200) configure_ospf_router(sw3, SW3_ROUTER_ID, SW3_INTF2_IPV4_ADDR, OSPF_AREA_0) configure_ospf_router(sw4, SW4_ROUTER_ID, SW4_INTF1_IPV4_ADDR, OSPF_AREA_200) configure_ospf_router(sw5, SW5_ROUTER_ID, SW5_INTF2_IPV4_ADDR, OSPF_AREA_100)
def configuration(topology, request): sw1 = topology.get('sw1') sw2 = topology.get('sw2') assert sw1 is not None assert sw2 is not None # Configuring ip address for sw2 and sw3 configure_interface(sw1, SW1_INTF1, SW1_INTF1_IPV4_ADDR) configure_interface(sw2, SW2_INTF1, SW2_INTF1_IPV4_ADDR) verify_turn_on_interfaces(sw1, sw1.ports[SW1_INTF1]) verify_turn_on_interfaces(sw2, sw2.ports[SW2_INTF1]) # Configuring ospf with network command in sw2 and sw3 configure_ospf_router(sw1, SW1_ROUTER_ID, OSPF_NETWRK_ADDR, OSPF_AREA_1) configure_ospf_router(sw2, SW2_ROUTER_ID, OSPF_NETWRK_ADDR, OSPF_AREA_1)
def configuration(topology, request): sw2 = topology.get('sw2') sw3 = topology.get('sw3') assert sw2 is not None assert sw3 is not None # Configuring ip address for sw2 and sw3 configure_interface(sw2, SW2_INTF2, SW2_INTF2_IPV4_ADDR) configure_interface(sw3, SW3_INTF2, SW3_INTF2_IPV4_ADDR) verify_turn_on_interfaces(sw2, [sw2.ports[SW2_INTF2]]) verify_turn_on_interfaces(sw3, [sw3.ports[SW3_INTF2]]) # Configuring ospf with network command in sw2 and sw3 configure_ospf_router(sw2, SW2_ROUTER_ID, SW2_INTF2_IPV4_ADDR, OSPF_AREA_1) configure_ospf_router(sw3, SW3_ROUTER_ID, SW3_INTF2_IPV4_ADDR, OSPF_AREA_1)
def configuration(topology, request): sw1 = topology.get('sw1') sw2 = topology.get('sw2') sw3 = topology.get('sw3') hs1 = topology.get('hs1') hs2 = topology.get('hs2') assert sw1 is not None assert sw2 is not None assert sw3 is not None assert hs1 is not None assert hs2 is not None # Configuring ip address for sw2 and sw3 configure_interface(sw1, SW1_INTF1, SW1_INTF1_IPV4_ADDR) configure_interface(sw1, SW1_INTF2, SW1_INTF2_IPV4_ADDR) configure_interface(sw2, SW2_INTF1, SW2_INTF1_IPV4_ADDR) configure_interface(sw2, SW2_INTF2, SW2_INTF2_IPV4_ADDR) configure_interface(sw3, SW3_INTF1, SW3_INTF1_IPV4_ADDR) configure_interface(sw3, SW3_INTF2, SW3_INTF2_IPV4_ADDR) ports_sw1 = [sw1.ports[SW1_INTF1], sw1.ports[SW1_INTF2]] verify_turn_on_interfaces(sw1, ports_sw1) ports_sw2 = [sw2.ports[SW2_INTF1], sw2.ports[SW2_INTF2]] verify_turn_on_interfaces(sw2, ports_sw2) ports_sw3 = [sw3.ports[SW3_INTF1], sw3.ports[SW3_INTF2]] verify_turn_on_interfaces(sw3, ports_sw3) # Configure IP and bring UP host 1 interfaces hs1.libs.ip.interface('1', addr='10.10.40.2/24', up=True) # Configure IP and bring UP host 2 interfaces hs2.libs.ip.interface('1', addr='10.10.30.2/24', up=True) # Configuring ospf with network command in sw2 and sw3 configure_ospf_router(sw1, SW1_ROUTER_ID, SW1_INTF1_IPV4_ADDR, OSPF_AREA_1) configure_ospf_router(sw2, SW2_ROUTER_ID, SW2_INTF1_IPV4_ADDR, OSPF_AREA_1) configure_ospf_router(sw2, SW2_ROUTER_ID, SW2_INTF2_IPV4_ADDR, OSPF_AREA_1) configure_ospf_router(sw3, SW3_ROUTER_ID, SW3_INTF2_IPV4_ADDR, OSPF_AREA_1)
def configure(step, switch1, switch2): """ - Configures the IP address in SW1, SW2 and SW3 - Creates router bgp instance on SW1 and SW2 - Configures the router id - Configures the network range - Configure redistribute and neighbor """ """ - Enable the link. - Set IP for the switches. """ with switch1.libs.vtysh.ConfigInterface("if01") as ctx: # Enabling interface 1 SW1. step("Enabling interface1 on SW1") ctx.no_shutdown() # Assigning an IPv6 address on interface 1 of SW1 step("Configuring IPv6 address on link 1 SW1") ctx.ipv6_address("%s/64" % ip_addr1) # Assigning an IPv4 address on interface 1 of SW1 ctx.ip_address("%s/8" % (sw1_router_id)) verify_turn_on_interfaces(switch1, [switch1.ports["if01"]]) with switch2.libs.vtysh.ConfigInterface("if01") as ctx: # Enabling interface 1 SW2. step("Enabling interface1 on SW2") ctx.no_shutdown() # Assigning an IPv6 address on interface 1 of SW2 step("Configuring IPv4 address on link 1 SW2") ctx.ipv6_address("%s/64" % ip_addr2) # Assigning an IPv4 address on interface 1 for link 1 SW2 ctx.ip_address("%s/8" % (sw2_router_id)) verify_turn_on_interfaces(switch2, [switch2.ports["if01"]]) """ For SW1 and SW2, configure bgp """ step("Configuring router id on SW1") configure_router_id(step, switch1, as_num1, sw1_router_id) step("Configuring networks on SW1") configure_network(switch1, as_num1, "2ccd:1:1::/67") step("Configuring networks on SW1") configure_network(switch1, as_num1, "5d5d:1:1::/69") step("Configuring networks on SW1") configure_network(switch1, as_num1, "7d5d:1:1::/85") step("Configuring networks on SW1") configure_network(switch1, as_num1, "9966:1:2::/85") step("Configuring neighbors on SW1") configure_neighbor(switch1, as_num1, ip_addr2, as_num2) step("Configuring router id on SW2") configure_router_id(step, switch2, as_num2, sw2_router_id) step("Configuring networks on SW2") configure_network(switch2, as_num2, "3dcd:1:1::/64") step("Configuring neighbors on SW2") configure_neighbor(switch2, as_num2, ip_addr1, as_num1)
def configure(step, switch1, switch2, switch3): """ - Configures the IP address in SW1, SW2 and SW3 - Creates router bgp instance on SW1 and SW2 - Configures the router id - Configures the network range - Configure redistribute and neighbor """ """ - Enable the link. - Set IP for the switches. """ # Enabling interface 1 SW1. with switch1.libs.vtysh.ConfigInterface("if01") as ctx: # Enabling interface 1 SW1. step("Enabling interface1 on SW1") ctx.no_shutdown() # Assigning an IPv4 address on interface 1 of SW1 step("Configuring IPv4 address on link 1 SW1") ctx.ip_address("%s/%s" % (ip_addr1, default_pl)) verify_turn_on_interfaces(switch1, [switch1.ports["if01"]]) with switch2.libs.vtysh.ConfigInterface("if01") as ctx: # Enabling interface 1 SW2. step("Enabling interface1 on SW2") ctx.no_shutdown() # Assigning an IPv4 address on interface 1 of SW2 step("Configuring IPv4 address on link 1 SW2") ctx.ip_address("%s/%s" % (ip_addr2, default_pl)) with switch2.libs.vtysh.ConfigInterface("if02") as ctx: # Enabling interface 2 SW2. step("Enabling interface2 on SW2") ctx.no_shutdown() # Assigning an IPv4 address on interface 2 of SW2 step("Configuring IPv4 address on link 2 SW2") ctx.ip_address("%s/%s" % (ip_addr3, default_pl)) ports = [switch2.ports["if01"], switch2.ports["if02"]] verify_turn_on_interfaces(switch2, ports) with switch3.libs.vtysh.ConfigInterface("if01") as ctx: # Enabling interface 1 SW3. step("Enabling interface1 on SW3") ctx.no_shutdown() # Assigning an IPv4 address on interface 1 of SW3 step("Configuring IPv4 address on link 1 SW3") ctx.ip_address("%s/%s" % (ip_addr4, default_pl)) verify_turn_on_interfaces(switch3, [switch3.ports["if01"]]) """ For SW2 and SW3, configure bgp """ step("Configuring static routes on SW2") configure_static_route(switch2, "12.0.0.0/8", "7.0.0.1") step("Configuring route-map routes on SW2") configure_route_map(switch2, "BGP_Rmap") step("Configuring router-id on SW2") configure_router_id(step, switch2, as_num1, sw2_router_id) step("Configuring networks on SW2") configure_network(switch2, as_num1, "10.0.0.0/8") step("Configuring redistribute configuration on SW2") configure_redistribute(switch2, as_num1, "connected") step("Configuring redistribute route-map configuration on SW2") configure_redistribute_rmap(switch2, as_num1, "static", "BGP_Rmap") step("Configuring bgp neighbor on SW2") configure_neighbor(switch2, as_num1, ip_addr4, as_num2) step("Applying route-map to bgp neighbor on SW2") configure_neighbor_rmap(switch2, as_num1, ip_addr4, as_num2, "BGP_Rmap") exitcontext(switch2) step("Configuring router-id on SW3") configure_router_id(step, switch3, as_num2, sw3_router_id) step("Configuring networks on SW2") configure_network(switch3, as_num2, "19.0.0.0/8") configure_neighbor(switch3, as_num2, ip_addr3, as_num1) exitcontext(switch3)
def configure(sw1, sw2, sw3): ''' - Configures the IP address in SW1, SW2 and SW3 - Creates router bgp instance on SW1, SW2 and SW3 - Configures the router id - Configures the network range - Configure neighbor ''' ''' - Enable the link. - Set IP for the switches. ''' # Enabling interface 1 SW1. print("Enabling interface1 on SW1") sw1p1 = sw1.ports['if01'] sw1("configure terminal") sw1("interface {sw1p1}".format(**locals())) sw1("no shutdown") # Assigning an IPv4 address on interface 1 of SW1 print("Configuring IPv4 address on link 1 SW1") sw1("ip address %s/%s" % (IP_ADDR1, DEFAULT_PL)) sw1("end") verify_turn_on_interfaces(sw1, [sw1.ports["if01"]]) # Enabling interface 1 SW2 print("Enabling interface1 on SW2") sw2p1 = sw2.ports['if01'] sw2("configure terminal") sw2("interface {sw2p1}".format(**locals())) sw2("no shutdown") # Assigning an IPv4 address on interface 1 for link 1 SW2 print("Configuring IPv4 address on link 1 SW2") sw2("ip address %s/%s" % (IP_ADDR2_1, DEFAULT_PL)) sw2("end") # Enabling interface 2 SW2 print("Enabling interface 2 on SW2") sw2p2 = sw2.ports['if02'] sw2("configure terminal") sw2("interface {sw2p2}".format(**locals())) sw2("no shutdown") # Assigning an IPv4 address on interface 2 for link 2 SW2 print("Configuring IPv4 address on link 2 SW2") sw2("ip address %s/%s" % (IP_ADDR2_2, DEFAULT_PL)) sw2("end") ports = [sw2.ports["if01"], sw2.ports["if02"]] verify_turn_on_interfaces(sw2, ports) # Enabling interface 1 SW3 print("Enabling interface 1 on SW3") sw3p1 = sw3.ports['if01'] sw3("configure terminal") sw3("interface {sw3p1}".format(**locals())) sw3("no shutdown") # Assigning an IPv4 address on interface 1 for link 2 SW3 print("Configuring IPv4 address on link 2 SW3") sw3("ip address %s/%s" % (IP_ADDR3, DEFAULT_PL)) sw3("end") verify_turn_on_interfaces(sw3, [sw3.ports["if01"]]) # For SW1, SW2 and SW3, configure bgp print("Configuring route context on SW1") sw1("configure terminal") sw1("router bgp " + AS_NUM1) sw1("end") print("Configuring router id on SW1") configure_router_id(sw1, AS_NUM1, SW1_ROUTER_ID) print("Configuring networks on SW1") configure_network(sw1, AS_NUM1, "11.0.0.0/8") print("Configuring neighbors on SW1") configure_neighbor(sw1, AS_NUM1, IP_ADDR2_1, AS_NUM2) print("Configuring route context on SW2") sw2("configure terminal") sw2("router bgp " + AS_NUM2) sw2("end") print("Configuring router id on SW2") configure_router_id(sw2, AS_NUM2, SW2_ROUTER_ID) print("Configuring networks on SW2") configure_network(sw2, AS_NUM2, "15.0.0.0/8") print("Configuring neighbor 1 on SW2") configure_neighbor(sw2, AS_NUM2, IP_ADDR1, AS_NUM1) print("Configuring neighbor 3 on SW2") configure_neighbor(sw2, AS_NUM2, IP_ADDR3, AS_NUM3) print("Configuring route context on SW3") sw3("configure terminal") sw3("router bgp " + AS_NUM3) sw3("end") print("Configuring router id on SW3") configure_router_id(sw3, AS_NUM3, SW3_ROUTER_ID) print("Configuring networks on SW3") configure_network(sw3, AS_NUM3, "12.0.0.0/8") print("Configuring neighbor on SW3") configure_neighbor(sw3, AS_NUM3, IP_ADDR2_2, AS_NUM2)
def configure(topology, step): ''' - Configures the IP address in SW1, SW2 and SW3 - Creates router bgp instance on SW1, SW2 and SW3 - Configures the router id - Configures the network range - Configure neighbor ''' switch1 = topology.get("ops1") assert switch1 is not None switch2 = topology.get("ops2") assert switch2 is not None switch3 = topology.get("ops3") assert switch3 is not None ''' - Enable the link. - Set IP for the switches. ''' with switch1.libs.vtysh.ConfigInterface("if01") as ctx: # Enabling interface 1 SW1. step("Enabling interface1 on SW1") ctx.no_shutdown() # Assigning an IPv4 address on interface 1 of SW1 step("Configuring IPv4 address on link 1 SW1") ctx.ip_address("%s/%s" % (ip_addr1, default_pl)) verify_turn_on_interfaces(switch1, [switch1.ports["if01"]]) with switch2.libs.vtysh.ConfigInterface("if01") as ctx: # Enabling interface 1 SW2. step("Enabling interface1 on SW2") ctx.no_shutdown() # Assigning an IPv4 address on interface 1 of SW2 step("Configuring IPv4 address on link 1 SW2") ctx.ip_address("%s/%s" % (ip_addr2_1, default_pl)) with switch2.libs.vtysh.ConfigInterface("if02") as ctx: # Enabling interface 2 SW2. step("Enabling interface2 on SW1") ctx.no_shutdown() # Assigning an IPv4 address on interface 2 of SW2 step("Configuring IPv4 address on link 2 SW2") ctx.ip_address("%s/%s" % (ip_addr2_2, default_pl)) ports = [switch2.ports["if01"], switch2.ports["if02"]] verify_turn_on_interfaces(switch2, ports) with switch3.libs.vtysh.ConfigInterface("if01") as ctx: # Enabling interface 1 SW3. step("Enabling interface1 on SW3") ctx.no_shutdown() # Assigning an IPv4 address on interface 1 of SW3 step("Configuring IPv4 address on link 1 SW3") ctx.ip_address("%s/%s" % (ip_addr3, default_pl)) verify_turn_on_interfaces(switch3, [switch3.ports["if01"]]) # For SW1, SW2 and SW3, configure bgp step("Configuring router id on SW1") configure_router_id(switch1, as_num, sw1_router_id) step("Configuring networks on SW1") configure_network(switch1, as_num, "11.0.0.0/8") step("Configuring neighbors on SW1") configure_neighbor(switch1, as_num, ip_addr2_1, as_num2) step("Configuring router id on SW2") configure_router_id(switch2, as_num2, sw2_router_id) step("Configuring networks on SW2") configure_network(switch2, as_num2, "15.0.0.0/8") step("Configuring neighbor 1 on SW2") configure_neighbor(switch2, as_num2, ip_addr1, as_num) step("Configuring neighbor 3 on SW2") configure_neighbor(switch2, as_num2, ip_addr3, as_num3) step("Configuring router id on SW3") configure_router_id(switch3, as_num3, sw3_router_id) step("Configuring networks on SW3") configure_network(switch3, as_num3, "12.0.0.0/8") step("Configuring neighbor on SW3") configure_neighbor(switch3, as_num3, ip_addr2_2, as_num2)
def configure(step, switch1, switch2): """ - Configure the IP address in SW1, SW2 - Configure ipv6 prefix - Configure route-map - Create router bgp instance on SW1 and SW2 - Configure the router id - Configure the network range - Configure the neighbor - Apply route-map to neighbor on SW1 """ with switch1.libs.vtysh.ConfigInterface("if01") as ctx: # Enabling interface 1 SW1. step("Enabling interface1 on SW1") ctx.no_shutdown() # Assigning an IPv6 address on interface 1 of SW1 step("Configuring IPv6 address on link 1 SW1") ctx.ipv6_address("%s/%s" % (ipv6_addr1, default_pl)) verify_turn_on_interfaces(switch1, [switch1.ports["if01"]]) with switch2.libs.vtysh.ConfigInterface("if01") as ctx: # Enabling interface 1 SW2. step("Enabling interface1 on SW1") ctx.no_shutdown() # Assigning an IPv6 address on interface 1 of SW2 step("Configuring IPv6 address on link 1 SW2") ctx.ipv6_address("%s/%s" % (ipv6_addr2, default_pl)) verify_turn_on_interfaces(switch2, [switch2.ports["if01"]]) # Configuring ipv6 prefix-list on switch 1 step("Configuring ipv6 prefix configuration on SW1") configure_prefix_list(switch1, "BGP1_IN", "10", "deny", "9966:1:2::/64", 80, 100) configure_prefix_list(switch1, "BGP1_IN", "20", "permit", "7d5d:1:1::/64", 0, 70) configure_prefix_list(switch1, "BGP1_IN", "30", "permit", "5d5d:1:1::/64", 0, 70) configure_prefix_list(switch1, "BGP1_IN", "40", "permit", "2ccd:1:1::/64", 65, 0) configure_prefix_list(switch1, "BGP1_IN", "50", "permit", "4ddc:1:1::/64", 0, 0) # Configuring Route-map on switch 1 step("Configuring route-map on SW1") configure_route_map(switch1, "BGP1_IN", "BGP1_IN") # Configuring BGP on switch 1 step("Configuring router-id on SW1") configure_router_id(step, switch1, as_num1, sw1_router_id) step("Configuring networks on SW1") configure_network(switch1, as_num1, "3dcd:1:1::/64") step("Configuring bgp neighbor on SW1") configure_neighbor(switch1, as_num1, ipv6_addr2, as_num2) step("Applying route-map to bgp neighbor on SW1") configure_neighbor_rmap(switch1, as_num1, ipv6_addr2, as_num2, "BGP1_IN", "in") sleep(5) # Configuring ipv6 prefix-list on switch 2 step("Configuring ipv6 prefix list configuration on SW2") configure_prefix_list( switch2, "A_sample_name_to_verify_the_" "max_length_of_the_prefix_list_name_that_" "can_be_confd", "4294967295", "permit", "any", 0, 0) step("Configuring ipv6 prefix list configuration on SW2") configure_prefix_list(switch2, "p2", "5", "deny", "any", 0, 0) # Boundary and limit testing and Negative testing for prefix list step("Boundary and limit testing and Negative testing for" " ipv6 prefix list configuration on SW2") verify_prefix_list_config(switch2, "p2", "0", "deny", "any", 0, 0) verify_prefix_list_config(switch2, "p2", "4294967296", "deny", "any", 0, 0) verify_prefix_list_config(switch2, "p2", "-429", "deny", "any", 0, 0) # Configuring Route-map on switch 2 step("Configuring route-map on SW2") configure_route_map( switch2, "BGP2_Rmap1", "A_sample_name_to_verify_the_" "max_length_of_the_prefix_list_name_that_" "can_be_confd") step("Configuring route-map on SW2") configure_route_map(switch2, "BGP2_Rmap2", "p2") # Configuring BGP on switch 2 step("Configuring router-id on SW2") configure_router_id(step, switch2, as_num2, sw2_router_id) step("Configuring networks on SW2") configure_network(switch2, as_num2, "2ccd:1:1::/67") configure_network(switch2, as_num2, "7d5d:1:1::/85") configure_network(switch2, as_num2, "5d5d:1:1::/69") configure_network(switch2, as_num2, "9966:1:2::/85") configure_network(switch2, as_num2, "4ddc:1:1::/64") configure_neighbor(switch2, as_num2, ipv6_addr1, as_num1) step("Applying route-map to bgp neighbor on SW2") configure_neighbor_rmap(switch2, as_num2, ipv6_addr1, as_num1, "BGP2_Rmap1", "out") step("Applying route-map to bgp neighbor on SW2") configure_neighbor_rmap(switch2, as_num2, ipv6_addr1, as_num1, "BGP2_Rmap2", "in") sleep(10)