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
On Tue, May 21, 2024 at 04:49:44PM +0800, Geliang Tang wrote:
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
nit: you can also just re-setup the namespaces, which will delete previous ns and create new one. e.g.
setup_ns ns1 ns2 ns3
setup_hsr_interfaces 1 do_complete_ping_test
Reviewed-by: Hangbin Liu liuhangbin@gmail.com
On Wed, 2024-05-22 at 11:05 +0800, Hangbin Liu wrote:
On Tue, May 21, 2024 at 04:49:44PM +0800, Geliang Tang wrote:
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
nit: you can also just re-setup the namespaces, which will delete previous ns and create new one. e.g.
setup_ns ns1 ns2 ns3
Thanks Hangbin, "re-setup" is much better.
setup_hsr_interfaces 1 do_complete_ping_test
Reviewed-by: Hangbin Liu liuhangbin@gmail.com
I'll send a v2, with your Reviewed-by tag.
-Geliang
linux-kselftest-mirror@lists.linaro.org