Subject: Re: [PATCH net v2] selftests: hsr: Fix "File exists" errors for hsr_ping

From: Geliang Tang <[email-masked]>
Date: Wed, 29 May 2024 21:20:52 +0800

Hi Lukasz,

On Wed, 2024-05-29 at 14:43 +0200, Lukasz Majewski wrote:
> Hi Geliang,
> 
> First of all - thanks for spotting and fixing this error.
> 
> > From: Geliang Tang <[email-masked]>
> > 
> > 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.
> 
> Interestingly, on the QEMU setup with -4 switch this error was not
> present.
> 
> Instead, the not re-initialized name space caused some subtle errors
> when tc's netns and netem were run (a few packets got dropped).

I got these errors on my Thinkpad T480 laptop, not QEMU. So I didn't
get the errors you mentioned.

With this patch, hsr_ping tests passed on my side.

Thanks,
-Geliang

> 
> >  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 re-setup the namespaces using
> > 
> > 	setup_ns ns1 ns2 ns3
> > 
> > command before "setup_hsr_interfaces 1". It deletes previous
> > namespaces and create new ones.
> > 
> > Fixes: 680fda4f6714 ("test: hsr: Remove script code already
> > implemented in lib.sh") Reviewed-by: Hangbin Liu
> > <[email-masked]> Signed-off-by: Geliang Tang
> > <[email-masked]> ---
> > v2:
> >  - re-setup the namespaces as Hangbin suggested.
> > ---
> >  tools/testing/selftests/net/hsr/hsr_ping.sh | 2 ++
> >  1 file changed, 2 insertions(+)
> > 
> > diff --git a/tools/testing/selftests/net/hsr/hsr_ping.sh
> > b/tools/testing/selftests/net/hsr/hsr_ping.sh index
> > 790294c8af83..3684b813b0f6 100755 ---
> > a/tools/testing/selftests/net/hsr/hsr_ping.sh +++
> > b/tools/testing/selftests/net/hsr/hsr_ping.sh @@ -174,6 +174,8 @@
> > trap cleanup_all_ns EXIT setup_hsr_interfaces 0
> >  do_complete_ping_test
> >  
> > +setup_ns ns1 ns2 ns3
> > +
> >  setup_hsr_interfaces 1
> >  do_complete_ping_test
> >  
> 
> 
> Best regards,
> 
> Lukasz Majewski
> 
> --
> 
> DENX Software Engineering GmbH,      Managing Director: Erika Unter
> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
> Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email:
> [email-masked]