public inbox for passt-dev@passt.top
 help / color / mirror / code / Atom feed
* [PATCH] test/perf: Select a single IPv6 namespace address in pasta tests
@ 2024-11-25 10:58 Stefano Brivio
  2024-11-26  0:45 ` David Gibson
  0 siblings, 1 reply; 2+ messages in thread
From: Stefano Brivio @ 2024-11-25 10:58 UTC (permalink / raw)
  To: passt-dev; +Cc: David Gibson

By dropping the filter on prefix length, commit 910f4f910301
("test: Don't require 64-bit prefixes in perf tests") broke tests on
setups where two global unicast IPv6 addresses are available, which
is the typical case when the "host" is a VM running under passt with
addresses from SLAAC and DHCPv6, because two addresses will be
returned.

Pick the first one instead. We don't really care about the prefix
length, any of these addresses will work.

Fixes: 910f4f910301 ("test: Don't require 64-bit prefixes in perf tests")
Link: https://archives.passt.top/passt-dev/20241119214344.6b4a5b3a@elisabeth/
Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
---
 test/perf/pasta_tcp | 2 +-
 test/perf/pasta_udp | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/test/perf/pasta_tcp b/test/perf/pasta_tcp
index 88284b2..bc0de3c 100644
--- a/test/perf/pasta_tcp
+++ b/test/perf/pasta_tcp
@@ -211,7 +211,7 @@ tr	TCP throughput over IPv6: host to ns
 iperf3s	ns 10002
 
 nsout	IFNAME ip -j link show | jq -rM '.[] | select(.link_type == "ether").ifname'
-nsout	ADDR6 ip -j -6 addr show|jq -rM '.[] | select(.ifname == "__IFNAME__").addr_info[] | select(.scope == "global").local'
+nsout	ADDR6 ip -j -6 addr show|jq -rM '[.[] | select(.ifname == "__IFNAME__").addr_info[] | select(.scope == "global").local] | .[0]'
 bw	-
 bw	-
 bw	-
diff --git a/test/perf/pasta_udp b/test/perf/pasta_udp
index 3d07091..ab2f3e8 100644
--- a/test/perf/pasta_udp
+++ b/test/perf/pasta_udp
@@ -196,7 +196,7 @@ tr	UDP throughput over IPv6: host to ns
 iperf3s	ns 10002
 
 nsout	IFNAME ip -j link show | jq -rM '.[] | select(.link_type == "ether").ifname'
-nsout	ADDR6 ip -j -6 addr show|jq -rM '.[] | select(.ifname == "__IFNAME__").addr_info[] | select(.scope == "global").local'
+nsout	ADDR6 ip -j -6 addr show|jq -rM '[.[] | select(.ifname == "__IFNAME__").addr_info[] | select(.scope == "global").local] | .[0]'
 iperf3	BW host __ADDR6__ 10002 __TIME__ __OPTS__ -b 8G -l 1472
 bw	__BW__ 0.3 0.5
 iperf3	BW host __ADDR6__ 10002 __TIME__ __OPTS__ -b 12G -l 3972
-- 
@@ -196,7 +196,7 @@ tr	UDP throughput over IPv6: host to ns
 iperf3s	ns 10002
 
 nsout	IFNAME ip -j link show | jq -rM '.[] | select(.link_type == "ether").ifname'
-nsout	ADDR6 ip -j -6 addr show|jq -rM '.[] | select(.ifname == "__IFNAME__").addr_info[] | select(.scope == "global").local'
+nsout	ADDR6 ip -j -6 addr show|jq -rM '[.[] | select(.ifname == "__IFNAME__").addr_info[] | select(.scope == "global").local] | .[0]'
 iperf3	BW host __ADDR6__ 10002 __TIME__ __OPTS__ -b 8G -l 1472
 bw	__BW__ 0.3 0.5
 iperf3	BW host __ADDR6__ 10002 __TIME__ __OPTS__ -b 12G -l 3972
-- 
2.43.0


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

* Re: [PATCH] test/perf: Select a single IPv6 namespace address in pasta tests
  2024-11-25 10:58 [PATCH] test/perf: Select a single IPv6 namespace address in pasta tests Stefano Brivio
@ 2024-11-26  0:45 ` David Gibson
  0 siblings, 0 replies; 2+ messages in thread
From: David Gibson @ 2024-11-26  0:45 UTC (permalink / raw)
  To: Stefano Brivio; +Cc: passt-dev

[-- Attachment #1: Type: text/plain, Size: 2631 bytes --]

On Mon, Nov 25, 2024 at 11:58:01AM +0100, Stefano Brivio wrote:
> By dropping the filter on prefix length, commit 910f4f910301
> ("test: Don't require 64-bit prefixes in perf tests") broke tests on
> setups where two global unicast IPv6 addresses are available, which
> is the typical case when the "host" is a VM running under passt with
> addresses from SLAAC and DHCPv6, because two addresses will be
> returned.
> 
> Pick the first one instead. We don't really care about the prefix
> length, any of these addresses will work.

Ah.. I do have two IPv6 addresses on my host, but they're not on the
same interface, which is why it didn't trigger this.

Reviewed-by: David Gibson <david@gibson.dropbear.id.au

> Fixes: 910f4f910301 ("test: Don't require 64-bit prefixes in perf tests")
> Link: https://archives.passt.top/passt-dev/20241119214344.6b4a5b3a@elisabeth/
> Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
> ---
>  test/perf/pasta_tcp | 2 +-
>  test/perf/pasta_udp | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/test/perf/pasta_tcp b/test/perf/pasta_tcp
> index 88284b2..bc0de3c 100644
> --- a/test/perf/pasta_tcp
> +++ b/test/perf/pasta_tcp
> @@ -211,7 +211,7 @@ tr	TCP throughput over IPv6: host to ns
>  iperf3s	ns 10002
>  
>  nsout	IFNAME ip -j link show | jq -rM '.[] | select(.link_type == "ether").ifname'
> -nsout	ADDR6 ip -j -6 addr show|jq -rM '.[] | select(.ifname == "__IFNAME__").addr_info[] | select(.scope == "global").local'
> +nsout	ADDR6 ip -j -6 addr show|jq -rM '[.[] | select(.ifname == "__IFNAME__").addr_info[] | select(.scope == "global").local] | .[0]'
>  bw	-
>  bw	-
>  bw	-
> diff --git a/test/perf/pasta_udp b/test/perf/pasta_udp
> index 3d07091..ab2f3e8 100644
> --- a/test/perf/pasta_udp
> +++ b/test/perf/pasta_udp
> @@ -196,7 +196,7 @@ tr	UDP throughput over IPv6: host to ns
>  iperf3s	ns 10002
>  
>  nsout	IFNAME ip -j link show | jq -rM '.[] | select(.link_type == "ether").ifname'
> -nsout	ADDR6 ip -j -6 addr show|jq -rM '.[] | select(.ifname == "__IFNAME__").addr_info[] | select(.scope == "global").local'
> +nsout	ADDR6 ip -j -6 addr show|jq -rM '[.[] | select(.ifname == "__IFNAME__").addr_info[] | select(.scope == "global").local] | .[0]'
>  iperf3	BW host __ADDR6__ 10002 __TIME__ __OPTS__ -b 8G -l 1472
>  bw	__BW__ 0.3 0.5
>  iperf3	BW host __ADDR6__ 10002 __TIME__ __OPTS__ -b 12G -l 3972

-- 
David Gibson (he or they)	| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you, not the other way
				| around.
http://www.ozlabs.org/~dgibson

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

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

end of thread, other threads:[~2024-11-26  0:45 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-11-25 10:58 [PATCH] test/perf: Select a single IPv6 namespace address in pasta tests Stefano Brivio
2024-11-26  0:45 ` David Gibson

Code repositories for project(s) associated with this public inbox

	https://passt.top/passt

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 IMAP folder(s).