Commit bbbd531f authored by Felix Maurer's avatar Felix Maurer Committed by Paolo Abeni
Browse files

selftests: hsr: Add more link fault tests for HSR



Run the packet loss and reordering tests also for both HSR versions. Now
they can be removed from the hsr_ping tests completely. The timeout needs
to be increased because there are 15 link fault test cases now, with each
of them taking 5-6sec for the test and at most 5sec for the HSR node tables
to get merged and we also want some room to make the test runs stable.

Signed-off-by: default avatarFelix Maurer <fmaurer@redhat.com>
Reviewed-by: default avatarSebastian Andrzej Siewior <bigeasy@linutronix.de>
Link: https://patch.msgid.link/eb6f667d3804ce63d86f0ee3fbc0e0ac9e1a209a.1770299429.git.fmaurer@redhat.com


Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
parent aae9d6b6
Loading
Loading
Loading
Loading
+5 −27
Original line number Diff line number Diff line
@@ -90,27 +90,6 @@ do_ping_tests()
	stop_if_error "Longer ping test failed (ns3)."
}

do_link_problem_tests()
{
	echo "INFO: Running link problem tests."

	echo "INFO: Delay the link and drop a few packages."
	tc -net "$ns3" qdisc add dev ns3eth1 root netem delay 50ms
	tc -net "$ns2" qdisc add dev ns2eth1 root netem delay 5ms loss 25%

	do_ping_long "$ns1" 100.64.0.2
	do_ping_long "$ns1" 100.64.0.3
	stop_if_error "Failed with delay and packetloss (ns1)."

	do_ping_long "$ns2" 100.64.0.1
	do_ping_long "$ns2" 100.64.0.3
	stop_if_error "Failed with delay and packetloss (ns2)."

	do_ping_long "$ns3" 100.64.0.1
	do_ping_long "$ns3" 100.64.0.2
	stop_if_error "Failed with delay and packetloss (ns3)."
}

setup_hsr_interfaces()
{
	local HSRv="$1"
@@ -190,11 +169,10 @@ setup_vlan_interfaces() {

}

run_complete_ping_tests()
run_ping_tests()
{
	echo "INFO: Running complete ping tests."
	echo "INFO: Running ping tests."
	do_ping_tests 0
	do_link_problem_tests
}

run_vlan_tests()
@@ -204,7 +182,7 @@ run_vlan_tests()
	vlan_challenged_hsr3=$(ip net exec "$ns3" ethtool -k hsr3 | grep "vlan-challenged" | awk '{print $2}')

	if [[ "$vlan_challenged_hsr1" = "off" || "$vlan_challenged_hsr2" = "off" || "$vlan_challenged_hsr3" = "off" ]]; then
		echo "INFO: Running VLAN tests"
		echo "INFO: Running VLAN ping tests"
		setup_vlan_interfaces
		do_ping_tests 2
	else
@@ -217,12 +195,12 @@ trap cleanup_all_ns EXIT

setup_ns ns1 ns2 ns3
setup_hsr_interfaces 0
run_complete_ping_tests
run_ping_tests
run_vlan_tests

setup_ns ns1 ns2 ns3
setup_hsr_interfaces 1
run_complete_ping_tests
run_ping_tests
run_vlan_tests

exit $ret
+38 −0
Original line number Diff line number Diff line
@@ -7,8 +7,16 @@ source ../lib.sh
ALL_TESTS="
	test_clean_hsrv0
	test_cut_link_hsrv0
	test_packet_loss_hsrv0
	test_high_packet_loss_hsrv0
	test_reordering_hsrv0

	test_clean_hsrv1
	test_cut_link_hsrv1
	test_packet_loss_hsrv1
	test_high_packet_loss_hsrv1
	test_reordering_hsrv1

	test_clean_prp
	test_cut_link_prp
	test_packet_loss_prp
@@ -292,11 +300,31 @@ test_packet_loss()
	log_test "${tname}"
}

test_packet_loss_hsrv0()
{
	test_packet_loss "HSRv0" "20%"
}

test_packet_loss_hsrv1()
{
	test_packet_loss "HSRv1" "20%"
}

test_packet_loss_prp()
{
	test_packet_loss "PRP" "20%"
}

test_high_packet_loss_hsrv0()
{
	test_packet_loss "HSRv0" "80%"
}

test_high_packet_loss_hsrv1()
{
	test_packet_loss "HSRv1" "80%"
}

test_high_packet_loss_prp()
{
	test_packet_loss "PRP" "80%"
@@ -323,6 +351,16 @@ test_reordering()
	log_test "${tname}"
}

test_reordering_hsrv0()
{
	test_reordering "HSRv0"
}

test_reordering_hsrv1()
{
	test_reordering "HSRv1"
}

test_reordering_prp()
{
	test_reordering "PRP"
+1 −1
Original line number Diff line number Diff line
timeout=90
timeout=180