All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH net] selftests: test_vxlan_under_vrf: Fix broken test case
@ 2022-03-24 20:05 Ido Schimmel
  2022-03-25 14:08 ` David Ahern
  2022-03-26  0:10 ` patchwork-bot+netdevbpf
  0 siblings, 2 replies; 3+ messages in thread
From: Ido Schimmel @ 2022-03-24 20:05 UTC (permalink / raw)
  To: netdev
  Cc: davem, kuba, pabeni, abauvin, akherbouche, dsahern, mlxsw, Ido Schimmel

The purpose of the last test case is to test VXLAN encapsulation and
decapsulation when the underlay lookup takes place in a non-default VRF.
This is achieved by enslaving the physical device of the tunnel to a
VRF.

The binding of the VXLAN UDP socket to the VRF happens when the VXLAN
device itself is opened, not when its physical device is opened. This
was also mentioned in the cited commit ("tests that moving the underlay
from a VRF to another works when down/up the VXLAN interface"), but the
test did something else.

Fix it by reopening the VXLAN device instead of its physical device.

Before:

 # ./test_vxlan_under_vrf.sh
 Checking HV connectivity                                           [ OK ]
 Check VM connectivity through VXLAN (underlay in the default VRF)  [ OK ]
 Check VM connectivity through VXLAN (underlay in a VRF)            [FAIL]

After:

 # ./test_vxlan_under_vrf.sh
 Checking HV connectivity                                           [ OK ]
 Check VM connectivity through VXLAN (underlay in the default VRF)  [ OK ]
 Check VM connectivity through VXLAN (underlay in a VRF)            [ OK ]

Fixes: 03f1c26b1c56 ("test/net: Add script for VXLAN underlay in a VRF")
Signed-off-by: Ido Schimmel <idosch@nvidia.com>
---
 tools/testing/selftests/net/test_vxlan_under_vrf.sh | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/tools/testing/selftests/net/test_vxlan_under_vrf.sh b/tools/testing/selftests/net/test_vxlan_under_vrf.sh
index ea5a7a808f12..1fd1250ebc66 100755
--- a/tools/testing/selftests/net/test_vxlan_under_vrf.sh
+++ b/tools/testing/selftests/net/test_vxlan_under_vrf.sh
@@ -120,11 +120,11 @@ echo "[ OK ]"
 
 # Move the underlay to a non-default VRF
 ip -netns hv-1 link set veth0 vrf vrf-underlay
-ip -netns hv-1 link set veth0 down
-ip -netns hv-1 link set veth0 up
+ip -netns hv-1 link set vxlan0 down
+ip -netns hv-1 link set vxlan0 up
 ip -netns hv-2 link set veth0 vrf vrf-underlay
-ip -netns hv-2 link set veth0 down
-ip -netns hv-2 link set veth0 up
+ip -netns hv-2 link set vxlan0 down
+ip -netns hv-2 link set vxlan0 up
 
 echo -n "Check VM connectivity through VXLAN (underlay in a VRF)            "
 ip netns exec vm-1 ping -c 1 -W 1 10.0.0.2 &> /dev/null || (echo "[FAIL]"; false)
-- 
2.33.1


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

* Re: [PATCH net] selftests: test_vxlan_under_vrf: Fix broken test case
  2022-03-24 20:05 [PATCH net] selftests: test_vxlan_under_vrf: Fix broken test case Ido Schimmel
@ 2022-03-25 14:08 ` David Ahern
  2022-03-26  0:10 ` patchwork-bot+netdevbpf
  1 sibling, 0 replies; 3+ messages in thread
From: David Ahern @ 2022-03-25 14:08 UTC (permalink / raw)
  To: Ido Schimmel, netdev; +Cc: davem, kuba, pabeni, abauvin, akherbouche, mlxsw

On 3/24/22 2:05 PM, Ido Schimmel wrote:
> The purpose of the last test case is to test VXLAN encapsulation and
> decapsulation when the underlay lookup takes place in a non-default VRF.
> This is achieved by enslaving the physical device of the tunnel to a
> VRF.
> 
> The binding of the VXLAN UDP socket to the VRF happens when the VXLAN
> device itself is opened, not when its physical device is opened. This
> was also mentioned in the cited commit ("tests that moving the underlay
> from a VRF to another works when down/up the VXLAN interface"), but the
> test did something else.
> 
> Fix it by reopening the VXLAN device instead of its physical device.
> 
> Before:
> 
>  # ./test_vxlan_under_vrf.sh
>  Checking HV connectivity                                           [ OK ]
>  Check VM connectivity through VXLAN (underlay in the default VRF)  [ OK ]
>  Check VM connectivity through VXLAN (underlay in a VRF)            [FAIL]
> 
> After:
> 
>  # ./test_vxlan_under_vrf.sh
>  Checking HV connectivity                                           [ OK ]
>  Check VM connectivity through VXLAN (underlay in the default VRF)  [ OK ]
>  Check VM connectivity through VXLAN (underlay in a VRF)            [ OK ]
> 
> Fixes: 03f1c26b1c56 ("test/net: Add script for VXLAN underlay in a VRF")
> Signed-off-by: Ido Schimmel <idosch@nvidia.com>
> ---
>  tools/testing/selftests/net/test_vxlan_under_vrf.sh | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 



Reviewed-by: David Ahern <dsahern@kernel.org>

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

* Re: [PATCH net] selftests: test_vxlan_under_vrf: Fix broken test case
  2022-03-24 20:05 [PATCH net] selftests: test_vxlan_under_vrf: Fix broken test case Ido Schimmel
  2022-03-25 14:08 ` David Ahern
@ 2022-03-26  0:10 ` patchwork-bot+netdevbpf
  1 sibling, 0 replies; 3+ messages in thread
From: patchwork-bot+netdevbpf @ 2022-03-26  0:10 UTC (permalink / raw)
  To: Ido Schimmel
  Cc: netdev, davem, kuba, pabeni, abauvin, akherbouche, dsahern, mlxsw

Hello:

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

On Thu, 24 Mar 2022 22:05:14 +0200 you wrote:
> The purpose of the last test case is to test VXLAN encapsulation and
> decapsulation when the underlay lookup takes place in a non-default VRF.
> This is achieved by enslaving the physical device of the tunnel to a
> VRF.
> 
> The binding of the VXLAN UDP socket to the VRF happens when the VXLAN
> device itself is opened, not when its physical device is opened. This
> was also mentioned in the cited commit ("tests that moving the underlay
> from a VRF to another works when down/up the VXLAN interface"), but the
> test did something else.
> 
> [...]

Here is the summary with links:
  - [net] selftests: test_vxlan_under_vrf: Fix broken test case
    https://git.kernel.org/netdev/net/c/b50d3b46f842

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:[~2022-03-26  0:10 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-03-24 20:05 [PATCH net] selftests: test_vxlan_under_vrf: Fix broken test case Ido Schimmel
2022-03-25 14:08 ` David Ahern
2022-03-26  0:10 ` patchwork-bot+netdevbpf

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.