From: Geliang Tang tanggeliang@kylinos.cn
The hsr_ping test reports the following errors:
INFO: preparing interfaces for HSRv0. INFO: Initial validation ping. INFO: Longer ping test. INFO: Cutting one link. INFO: Delay the link and drop a few packages. INFO: All good. INFO: preparing interfaces for HSRv1. RTNETLINK answers: File exists RTNETLINK answers: File exists RTNETLINK answers: File exists RTNETLINK answers: File exists RTNETLINK answers: File exists RTNETLINK answers: File exists Error: ipv4: Address already assigned. Error: ipv6: address already assigned. Error: ipv4: Address already assigned. Error: ipv6: address already assigned. Error: ipv4: Address already assigned. Error: ipv6: address already assigned. INFO: Initial validation ping.
That is because the cleanup code for the 2nd round test before "setup_hsr_interfaces 1" is removed incorrectly in commit 680fda4f6714 ("test: hsr: Remove script code already implemented in lib.sh").
This patch fixes it by adding a new helper delete_hsr_interfaces() to delete all interfaces before "setup_hsr_interfaces 1".
Fixes: 680fda4f6714 ("test: hsr: Remove script code already implemented in lib.sh") Signed-off-by: Geliang Tang tanggeliang@kylinos.cn --- tools/testing/selftests/net/hsr/hsr_ping.sh | 10 ++++++++++ 1 file changed, 10 insertions(+)
diff --git a/tools/testing/selftests/net/hsr/hsr_ping.sh b/tools/testing/selftests/net/hsr/hsr_ping.sh index 790294c8af83..0be1d5f78dab 100755 --- a/tools/testing/selftests/net/hsr/hsr_ping.sh +++ b/tools/testing/selftests/net/hsr/hsr_ping.sh @@ -166,6 +166,14 @@ setup_hsr_interfaces() ip -net "$ns3" link set hsr3 up }
+delete_hsr_interfaces() +{ + echo "INFO: delete interfaces." + ip -net "$ns1" link del ns1eth1 + ip -net "$ns1" link del ns1eth2 + ip -net "$ns3" link del ns3eth2 +} + check_prerequisites setup_ns ns1 ns2 ns3
@@ -174,6 +182,8 @@ trap cleanup_all_ns EXIT setup_hsr_interfaces 0 do_complete_ping_test
+delete_hsr_interfaces + setup_hsr_interfaces 1 do_complete_ping_test