def test_evpn_gateway_ip_basic_topo(request): """ Tets EVPN overlay index gateway IP functionality. VErify show O/Ps on PE1 and PE2 """ tgen = get_topogen() tc_name = request.node.name write_test_header(tc_name) kernelv = platform.release() if topotest.version_cmp(kernelv, "4.15") < 0: logger.info("For EVPN, kernel version should be minimum 4.15") write_test_footer(tc_name) return if tgen.routers_have_failure(): pytest.skip(tgen.errors) step( "Check O/Ps for EVPN gateway IP overlay Index functionality at PE1 and PE2" ) result, assertmsg = evpn_gateway_ip_show_op_check("base") if result is not None: generate_support_bundle() assert result is None, assertmsg write_test_footer(tc_name)
def test_evpn_gateway_ip_flap_rt5(request): """ Withdraw EVPN type-5 routes and check O/Ps at PE1 and PE2 """ tgen = get_topogen() tc_name = request.node.name write_test_header(tc_name) kernelv = platform.release() if topotest.version_cmp(kernelv, "4.15") < 0: logger.info("For EVPN, kernel version should be minimum 4.15") write_test_footer(tc_name) return if tgen.routers_have_failure(): pytest.skip(tgen.errors) h1 = tgen.gears['host1'] step("Withdraw type-5 routes") h1.run('vtysh -c "config t" \ -c "router bgp 111" \ -c "address-family ipv4" \ -c "no network 100.0.0.21/32"') h1.run('vtysh -c "config t" \ -c "router bgp 111" \ -c "address-family ipv6" \ -c "no network 100::21/128"') result, assertmsg = evpn_gateway_ip_show_op_check("no_rt5") if result is not None: generate_support_bundle() assert result is None, assertmsg step("Advertise type-5 routes again") h1.run('vtysh -c "config t" \ -c "router bgp 111" \ -c "address-family ipv4" \ -c "network 100.0.0.21/32"') h1.run('vtysh -c "config t" \ -c "router bgp 111" \ -c "address-family ipv6" \ -c "network 100::21/128"') result, assertmsg = evpn_gateway_ip_show_op_check("base") if result is not None: generate_support_bundle() assert result is None, assertmsg write_test_footer(tc_name)
def test_evpn_gateway_ip_flap_rt2(request): """ Withdraw EVPN type-2 routes and check O/Ps at PE1 and PE2 """ tgen = get_topogen() tc_name = request.node.name write_test_header(tc_name) kernelv = platform.release() if topotest.version_cmp(kernelv, "4.15") < 0: logger.info("For EVPN, kernel version should be minimum 4.15") write_test_footer(tc_name) return if tgen.routers_have_failure(): pytest.skip(tgen.errors) step( "Shut down VxLAN interface at PE1 which results in withdraw of type-2 routes" ) pe1 = tgen.gears['PE1'] pe1.run('ip link set dev vxlan100 down') result, assertmsg = evpn_gateway_ip_show_op_check("no_rt2") if result is not None: generate_support_bundle() assert result is None, assertmsg step("Bring up VxLAN interface at PE1 and advertise type-2 routes again") pe1.run('ip link set dev vxlan100 up') result, assertmsg = evpn_gateway_ip_show_op_check("base") if result is not None: generate_support_bundle() assert result is None, assertmsg write_test_footer(tc_name)