netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net] selftests: net: rps_default_mask.sh: delete veth link specifically
@ 2023-04-04  7:24 Hangbin Liu
  2023-04-04 10:40 ` Paolo Abeni
  2023-04-06  2:10 ` patchwork-bot+netdevbpf
  0 siblings, 2 replies; 3+ messages in thread
From: Hangbin Liu @ 2023-04-04  7:24 UTC (permalink / raw)
  To: netdev; +Cc: Paolo Abeni, davem, Hangbin Liu

When deleting the netns and recreating a new one while re-adding the
veth interface, there is a small window of time during which the old
veth interface has not yet been removed. This can cause the new addition
to fail. To resolve this issue, we can either wait for a short while to
ensure that the old veth interface is deleted, or we can specifically
remove the veth interface.

Before this patch:
  # ./rps_default_mask.sh
  empty rps_default_mask                                      [ ok ]
  changing rps_default_mask dont affect existing devices      [ ok ]
  changing rps_default_mask dont affect existing netns        [ ok ]
  changing rps_default_mask affect newly created devices      [ ok ]
  changing rps_default_mask don't affect newly child netns[II][ ok ]
  rps_default_mask is 0 by default in child netns             [ ok ]
  RTNETLINK answers: File exists
  changing rps_default_mask in child ns don't affect the main one[ ok ]
  cat: /sys/class/net/vethC11an1/queues/rx-0/rps_cpus: No such file or directory
  changing rps_default_mask in child ns affects new childns devices./rps_default_mask.sh: line 36: [: -eq: unary operator expected
  [fail] expected 1 found
  changing rps_default_mask in child ns don't affect existing devices[ ok ]

After this patch:
  # ./rps_default_mask.sh
  empty rps_default_mask                                      [ ok ]
  changing rps_default_mask dont affect existing devices      [ ok ]
  changing rps_default_mask dont affect existing netns        [ ok ]
  changing rps_default_mask affect newly created devices      [ ok ]
  changing rps_default_mask don't affect newly child netns[II][ ok ]
  rps_default_mask is 0 by default in child netns             [ ok ]
  changing rps_default_mask in child ns don't affect the main one[ ok ]
  changing rps_default_mask in child ns affects new childns devices[ ok ]
  changing rps_default_mask in child ns don't affect existing devices[ ok ]

Fixes: 3a7d84eae03b ("self-tests: more rps self tests")
Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
---
 tools/testing/selftests/net/rps_default_mask.sh | 1 +
 1 file changed, 1 insertion(+)

diff --git a/tools/testing/selftests/net/rps_default_mask.sh b/tools/testing/selftests/net/rps_default_mask.sh
index 0fd0d2db3abc..a26c5624429f 100755
--- a/tools/testing/selftests/net/rps_default_mask.sh
+++ b/tools/testing/selftests/net/rps_default_mask.sh
@@ -60,6 +60,7 @@ ip link set dev $VETH up
 ip -n $NETNS link set dev $VETH up
 chk_rps "changing rps_default_mask affect newly created devices" "" $VETH 3
 chk_rps "changing rps_default_mask don't affect newly child netns[II]" $NETNS $VETH 0
+ip link del dev $VETH
 ip netns del $NETNS
 
 setup
-- 
2.38.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH net] selftests: net: rps_default_mask.sh: delete veth link specifically
  2023-04-04  7:24 [PATCH net] selftests: net: rps_default_mask.sh: delete veth link specifically Hangbin Liu
@ 2023-04-04 10:40 ` Paolo Abeni
  2023-04-06  2:10 ` patchwork-bot+netdevbpf
  1 sibling, 0 replies; 3+ messages in thread
From: Paolo Abeni @ 2023-04-04 10:40 UTC (permalink / raw)
  To: Hangbin Liu, netdev; +Cc: davem

On Tue, 2023-04-04 at 15:24 +0800, Hangbin Liu wrote:
> When deleting the netns and recreating a new one while re-adding the
> veth interface, there is a small window of time during which the old
> veth interface has not yet been removed. This can cause the new addition
> to fail. To resolve this issue, we can either wait for a short while to
> ensure that the old veth interface is deleted, or we can specifically
> remove the veth interface.
> 
> Before this patch:
>   # ./rps_default_mask.sh
>   empty rps_default_mask                                      [ ok ]
>   changing rps_default_mask dont affect existing devices      [ ok ]
>   changing rps_default_mask dont affect existing netns        [ ok ]
>   changing rps_default_mask affect newly created devices      [ ok ]
>   changing rps_default_mask don't affect newly child netns[II][ ok ]
>   rps_default_mask is 0 by default in child netns             [ ok ]
>   RTNETLINK answers: File exists
>   changing rps_default_mask in child ns don't affect the main one[ ok ]
>   cat: /sys/class/net/vethC11an1/queues/rx-0/rps_cpus: No such file or directory
>   changing rps_default_mask in child ns affects new childns devices./rps_default_mask.sh: line 36: [: -eq: unary operator expected
>   [fail] expected 1 found
>   changing rps_default_mask in child ns don't affect existing devices[ ok ]
> 
> After this patch:
>   # ./rps_default_mask.sh
>   empty rps_default_mask                                      [ ok ]
>   changing rps_default_mask dont affect existing devices      [ ok ]
>   changing rps_default_mask dont affect existing netns        [ ok ]
>   changing rps_default_mask affect newly created devices      [ ok ]
>   changing rps_default_mask don't affect newly child netns[II][ ok ]
>   rps_default_mask is 0 by default in child netns             [ ok ]
>   changing rps_default_mask in child ns don't affect the main one[ ok ]
>   changing rps_default_mask in child ns affects new childns devices[ ok ]
>   changing rps_default_mask in child ns don't affect existing devices[ ok ]
> 
> Fixes: 3a7d84eae03b ("self-tests: more rps self tests")
> Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
> ---
>  tools/testing/selftests/net/rps_default_mask.sh | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/tools/testing/selftests/net/rps_default_mask.sh b/tools/testing/selftests/net/rps_default_mask.sh
> index 0fd0d2db3abc..a26c5624429f 100755
> --- a/tools/testing/selftests/net/rps_default_mask.sh
> +++ b/tools/testing/selftests/net/rps_default_mask.sh
> @@ -60,6 +60,7 @@ ip link set dev $VETH up
>  ip -n $NETNS link set dev $VETH up
>  chk_rps "changing rps_default_mask affect newly created devices" "" $VETH 3
>  chk_rps "changing rps_default_mask don't affect newly child netns[II]" $NETNS $VETH 0
> +ip link del dev $VETH
>  ip netns del $NETNS
>  
>  setup

LGTM, thanks!

Acked-by: Paolo Abeni <pabeni@redhat.com>


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH net] selftests: net: rps_default_mask.sh: delete veth link specifically
  2023-04-04  7:24 [PATCH net] selftests: net: rps_default_mask.sh: delete veth link specifically Hangbin Liu
  2023-04-04 10:40 ` Paolo Abeni
@ 2023-04-06  2:10 ` patchwork-bot+netdevbpf
  1 sibling, 0 replies; 3+ messages in thread
From: patchwork-bot+netdevbpf @ 2023-04-06  2:10 UTC (permalink / raw)
  To: Hangbin Liu; +Cc: netdev, pabeni, davem

Hello:

This patch was applied to netdev/net.git (main)
by Jakub Kicinski <kuba@kernel.org>:

On Tue,  4 Apr 2023 15:24:11 +0800 you wrote:
> When deleting the netns and recreating a new one while re-adding the
> veth interface, there is a small window of time during which the old
> veth interface has not yet been removed. This can cause the new addition
> to fail. To resolve this issue, we can either wait for a short while to
> ensure that the old veth interface is deleted, or we can specifically
> remove the veth interface.
> 
> [...]

Here is the summary with links:
  - [net] selftests: net: rps_default_mask.sh: delete veth link specifically
    https://git.kernel.org/netdev/net/c/38e058cc7d24

You are awesome, thank you!
-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html



^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2023-04-06  2:10 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-04-04  7:24 [PATCH net] selftests: net: rps_default_mask.sh: delete veth link specifically Hangbin Liu
2023-04-04 10:40 ` Paolo Abeni
2023-04-06  2:10 ` patchwork-bot+netdevbpf

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).