def test_ft_stp_loopguard_option_none(): st.log("Verify the stp convergence") st.wait(10) if not stp_wrap.poll_stp_convergence( vars, sc_data.vlan, iteration=20, delay=1): st.report_fail("stp_convergence_fail") st.log("Enable loop guard on interface") stp.config_stp_interface_params(vars.D1, vars.D1D2P2, loop_guard='enable') st.log("Enable root guard on interface") stp.config_stp_interface_params(vars.D1, vars.D1D2P2, root_guard='enable') st.log("Enable loop guard option none on interface") stp.config_stp_interface_params(vars.D1, vars.D1D2P2, loop_guard='none') st.log("disable stp on an interface") stp.config_stp_enable_interface(vars.D2, vars.D2D1P2, mode="disable") st.wait(5) st.log("verify port moved to inconsistent state") if not stp.check_rg_current_state(vars.D1, sc_data.vlan, vars.D1D2P2): st.report_fail("port_inconsistent_state_fail") st.log("enable stp on an interface") stp.config_stp_enable_interface(vars.D2, vars.D2D1P2, mode="enable") st.log("Unconfiguring the root guard interface mode") stp.config_stp_interface_params(vars.D1, vars.D1D2P2, root_guard='disable') st.log("Unconfiguring the loop guard interface mode") stp.config_stp_interface_params(vars.D1, vars.D1D2P2, loop_guard='disable') st.report_pass("test_case_passed")
def test_ft_stp_loopguard_enable_interface_shut_noshut(): st.log("Verify the stp convergence") if not stp_wrap.poll_stp_convergence( vars, sc_data.vlan, iteration=20, delay=1): st.report_fail("stp_convergence_fail") st.log("Enable loop guard on interface") stp.config_stp_interface_params(vars.D1, vars.D1D2P2, loop_guard='enable') st.log("disable stp on an interface") stp.config_stp_enable_interface(vars.D2, vars.D2D1P2, mode="disable") st.wait(5) st.log("verify port moved to inconsistent state") if not stp.check_rg_current_state(vars.D1, sc_data.vlan, vars.D1D2P2): st.report_fail("port_inconsistent_state_fail") st.log("shutdown the root forwarding port") interface.interface_shutdown(vars.D1, vars.D1D2P1) st.log("enable stp on an interface") stp.config_stp_enable_interface(vars.D2, vars.D2D1P2, mode="enable") st.wait(5) if not stp.verify_stp_intf_status(vars.D1, interface=vars.D1D2P2, status="FORWARDING", vlanid=sc_data.vlan): st.report_fail("port_forwarding_fail") interface.interface_noshutdown(vars.D1, vars.D1D2P1) st.log("Unconfiguring the loop guard interface mode") stp.config_stp_interface_params(vars.D1, vars.D1D2P2, loop_guard='disable') st.report_pass("test_case_passed")
def test_ft_stp_loopguard_lag_interfaces(): st.log("Verify the stp convergence") st.wait(10) if not stp_wrap.poll_stp_convergence( vars, sc_data.vlan, iteration=20, delay=1): st.report_fail("stp_convergence_fail") st.log("Enable loop guard on portchannel") stp.config_stp_interface_params(vars.D1, sc_data.portchannel_name2, loop_guard='enable') st.log("disable stp on an interface") stp.config_stp_enable_interface(vars.D2, sc_data.portchannel_name2, mode="disable") st.wait(5) st.log("verify port moved to inconsistent state") if not stp.check_rg_current_state(vars.D1, sc_data.vlan, sc_data.portchannel_name2): st.report_fail("port_inconsistent_state_fail") st.log("enable stp on an lag interface") stp.config_stp_enable_interface(vars.D2, sc_data.portchannel_name2, mode="enable") st.log("Unconfiguring the loop guard lag interface mode") stp.config_stp_interface_params(vars.D1, sc_data.portchannel_name2, loop_guard='disable') st.report_pass("test_case_passed")
def test_ft_stp_loopguard_enable_global(): st.log("Verify the stp convergence") if not stp_wrap.poll_stp_convergence( vars, sc_data.vlan, iteration=20, delay=1): st.report_fail("stp_convergence_fail") st.log("Enable loop guard on device1") if not stp.config_loopguard_global(vars.D1, mode='enable'): st.report_fail("STP_loop_guard_config_fail") st.log("disable stp on an interface") stp.config_stp_enable_interface(vars.D2, vars.D2D1P2, mode="disable") st.wait(5) st.log("verify port moved to inconsistent state") if not stp.check_rg_current_state(vars.D1, sc_data.vlan, vars.D1D2P2): st.report_fail("port_inconsistent_state_fail") st.log("verify traffic") if not verify_traffic(): st.report_fail("failed_traffic_verification") st.log("enable stp on an interface") stp.config_stp_enable_interface(vars.D2, vars.D2D1P2, mode="enable") st.log("verify traffic") if not verify_traffic(): st.report_fail("port_inconsistent_state_fail") st.wait(5) if not stp.verify_stp_intf_status(vars.D1, interface=vars.D1D2P2, status="DISCARDING", vlanid=sc_data.vlan): st.report_fail("port_discarding_fail") st.log("Unconfiguring the loop guard global mode") if not stp.config_loopguard_global(vars.D1, mode='disable'): st.report_fail("STP_loop_guard_config_fail") st.report_pass("test_case_passed")
def test_ft_stp_loopguard_pvst_mode(): st.log("Disable rpvst and enable pvst") stp.config_stp_in_parallel(sc_data.dut_list, feature="rpvst", mode="disable", vlan=None) stp.config_stp_in_parallel(sc_data.dut_list, feature="pvst", mode="enable", vlan=None) st.wait(10) if not stp_wrap.poll_stp_convergence( vars, sc_data.vlan, iteration=40, delay=1): st.report_fail("stp_convergence_fail") st.log("Enable loop guard on device1") if stp.config_loopguard_global(vars.D1, mode='enable'): st.report_fail("loopguard_pvst_should_fail") st.log("Enable loop guard on interface") if stp.config_stp_interface_params(vars.D1, vars.D1D2P2, loop_guard='enable'): st.report_fail("loopguard_pvst_should_fail") st.log("revert back to previous config") stp.config_stp_in_parallel(sc_data.dut_list, feature="pvst", mode="disable", vlan=None) stp.config_stp_in_parallel(sc_data.dut_list, feature="rpvst", mode="enable", vlan=None) st.wait(10) if not stp_wrap.poll_stp_convergence( vars, sc_data.vlan, iteration=20, delay=1): st.report_fail("stp_convergence_fail") st.report_pass("test_case_passed")