selftests: forwarding: Make {, ip6}gre-inner-v6-multipath tests more robust
authorIdo Schimmel <idosch@nvidia.com>
Mon, 4 Mar 2024 09:56:12 +0000 (11:56 +0200)
committerJakub Kicinski <kuba@kernel.org>
Tue, 5 Mar 2024 17:18:17 +0000 (09:18 -0800)
These tests generate various IPv6 flows, encapsulate them in GRE packets
and check that the encapsulated packets are distributed between the
available nexthops according to the configured weights.

Unlike the corresponding IPv4 tests, these tests sometimes fail in the
netdev CI because of large discrepancies between the expected and
measured ratios [1]. This can be explained by the fact that the IPv4
tests generate about 3,600 different flows whereas the IPv6 tests only
generate about 784 different flows (potentially by mistake).

Fix by aligning the IPv6 tests to the IPv4 ones and increase the number
of generated flows.

[1]
 [...]
 # TEST: ping                                                          [ OK ]
 # INFO: Running IPv6 over GRE over IPv4 multipath tests
 # TEST: ECMP                                                          [FAIL]
 # Too large discrepancy between expected and measured ratios
 # INFO: Expected ratio 1.00 Measured ratio 1.18
 [...]

Signed-off-by: Ido Schimmel <idosch@nvidia.com>
Link: https://lore.kernel.org/r/20240304095612.462900-7-idosch@nvidia.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
tools/testing/selftests/net/forwarding/gre_inner_v6_multipath.sh
tools/testing/selftests/net/forwarding/ip6gre_inner_v6_multipath.sh

index e5e911ce1562faf165a77479c2a310a28009ccf0..a71ad39fc0c3508c0fe43417c40c141df5b091cb 100755 (executable)
@@ -266,8 +266,8 @@ multipath6_test()
        local t0_222=$(tc_rule_stats_get $ul32 222 ingress)
 
        ip vrf exec v$h1 \
-          $MZ $h1 -6 -q -p 64 -A "2001:db8:1::2-2001:db8:1::1e" \
-              -B "2001:db8:2::2-2001:db8:2::1e" \
+          $MZ $h1 -6 -q -p 64 -A "2001:db8:1::2-2001:db8:1::3e" \
+              -B "2001:db8:2::2-2001:db8:2::3e" \
               -d $MZ_DELAY -c 50 -t udp "sp=1024,dp=1024"
        sleep 1
 
index eb4e50df53371ff8ad33120072c6fdf7135bec38..e1a4b50505f5146f57b1657a475a2e3af6def98c 100755 (executable)
@@ -265,8 +265,8 @@ multipath6_test()
        local t0_222=$(tc_rule_stats_get $ul32 222 ingress)
 
        ip vrf exec v$h1 \
-          $MZ $h1 -6 -q -p 64 -A "2001:db8:1::2-2001:db8:1::1e" \
-              -B "2001:db8:2::2-2001:db8:2::1e" \
+          $MZ $h1 -6 -q -p 64 -A "2001:db8:1::2-2001:db8:1::3e" \
+              -B "2001:db8:2::2-2001:db8:2::3e" \
               -d $MZ_DELAY -c 50 -t udp "sp=1024,dp=1024"
        sleep 1