selftests: forwarding: Fix ping failure due to short timeout
authorIdo Schimmel <idosch@nvidia.com>
Wed, 20 Mar 2024 06:57:17 +0000 (08:57 +0200)
committerPaolo Abeni <pabeni@redhat.com>
Thu, 21 Mar 2024 11:33:04 +0000 (12:33 +0100)
The tests send 100 pings in 0.1 second intervals and force a timeout of
11 seconds, which is borderline (especially on debug kernels), resulting
in random failures in netdev CI [1].

Fix by increasing the timeout to 20 seconds. It should not prolong the
test unless something is wrong, in which case the test will rightfully
fail.

[1]
 # selftests: net/forwarding: vxlan_bridge_1d_port_8472_ipv6.sh
 # INFO: Running tests with UDP port 8472
 # TEST: ping: local->local                                            [ OK ]
 # TEST: ping: local->remote 1                                         [FAIL]
 # Ping failed
 [...]

Fixes: b07e9957f220 ("selftests: forwarding: Add VxLAN tests with a VLAN-unaware bridge for IPv6")
Fixes: 728b35259e28 ("selftests: forwarding: Add VxLAN tests with a VLAN-aware bridge for IPv6")
Reported-by: Paolo Abeni <pabeni@redhat.com>
Closes: https://lore.kernel.org/netdev/24a7051fdcd1f156c3704bca39e4b3c41dfc7c4b.camel@redhat.com/
Signed-off-by: Ido Schimmel <idosch@nvidia.com>
Reviewed-by: Hangbin Liu <liuhangbin@gmail.com>
Reviewed-by: Jiri Pirko <jiri@nvidia.com>
Link: https://lore.kernel.org/r/20240320065717.4145325-1-idosch@nvidia.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
tools/testing/selftests/net/forwarding/vxlan_bridge_1d_ipv6.sh
tools/testing/selftests/net/forwarding/vxlan_bridge_1q_ipv6.sh

index a0bb4524e1e9c66bed9ff99d08232be8c4f409fc..a603f7b0a08f07e5d7ac71cd916791c1a7774572 100755 (executable)
@@ -354,7 +354,7 @@ __ping_ipv4()
 
        # Send 100 packets and verify that at least 100 packets hit the rule,
        # to overcome ARP noise.
-       PING_COUNT=100 PING_TIMEOUT=11 ping_do $dev $dst_ip
+       PING_COUNT=100 PING_TIMEOUT=20 ping_do $dev $dst_ip
        check_err $? "Ping failed"
 
        tc_check_at_least_x_packets "dev $rp1 egress" 101 10 100
@@ -410,7 +410,7 @@ __ping_ipv6()
 
        # Send 100 packets and verify that at least 100 packets hit the rule,
        # to overcome neighbor discovery noise.
-       PING_COUNT=100 PING_TIMEOUT=11 ping6_do $dev $dst_ip
+       PING_COUNT=100 PING_TIMEOUT=20 ping6_do $dev $dst_ip
        check_err $? "Ping failed"
 
        tc_check_at_least_x_packets "dev $rp1 egress" 101 100
index d880df89bc8bd51bca702736bad069aa2639f169..e83fde79f40d0f5bc31353a05714e7fd123fc8f8 100755 (executable)
@@ -457,7 +457,7 @@ __ping_ipv4()
 
        # Send 100 packets and verify that at least 100 packets hit the rule,
        # to overcome ARP noise.
-       PING_COUNT=100 PING_TIMEOUT=11 ping_do $dev $dst_ip
+       PING_COUNT=100 PING_TIMEOUT=20 ping_do $dev $dst_ip
        check_err $? "Ping failed"
 
        tc_check_at_least_x_packets "dev $rp1 egress" 101 10 100
@@ -522,7 +522,7 @@ __ping_ipv6()
 
        # Send 100 packets and verify that at least 100 packets hit the rule,
        # to overcome neighbor discovery noise.
-       PING_COUNT=100 PING_TIMEOUT=11 ping6_do $dev $dst_ip
+       PING_COUNT=100 PING_TIMEOUT=20 ping6_do $dev $dst_ip
        check_err $? "Ping failed"
 
        tc_check_at_least_x_packets "dev $rp1 egress" 101 100