On Tue, May 21, 2024 at 04:49:44PM +0800, Geliang Tang wrote:
> From: Geliang Tang <[email protected]>
> 
> 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 <[email protected]>
> ---
>  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 <[email protected]>

Reply via email to