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@xxxxxxxxxx> > > > > 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@xxxxxxxxxx> > > --- > > 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@xxxxxxxxx> I'll send a v2, with your Reviewed-by tag. -Geliang