Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

selftests: forwarding: Fix ping failure due to short timeout

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>

authored by

Ido Schimmel and committed by
Paolo Abeni
e4137851 b5048d27

+4 -4
+2 -2
tools/testing/selftests/net/forwarding/vxlan_bridge_1d_ipv6.sh
··· 354 354 355 355 # Send 100 packets and verify that at least 100 packets hit the rule, 356 356 # to overcome ARP noise. 357 - PING_COUNT=100 PING_TIMEOUT=11 ping_do $dev $dst_ip 357 + PING_COUNT=100 PING_TIMEOUT=20 ping_do $dev $dst_ip 358 358 check_err $? "Ping failed" 359 359 360 360 tc_check_at_least_x_packets "dev $rp1 egress" 101 10 100 ··· 410 410 411 411 # Send 100 packets and verify that at least 100 packets hit the rule, 412 412 # to overcome neighbor discovery noise. 413 - PING_COUNT=100 PING_TIMEOUT=11 ping6_do $dev $dst_ip 413 + PING_COUNT=100 PING_TIMEOUT=20 ping6_do $dev $dst_ip 414 414 check_err $? "Ping failed" 415 415 416 416 tc_check_at_least_x_packets "dev $rp1 egress" 101 100
+2 -2
tools/testing/selftests/net/forwarding/vxlan_bridge_1q_ipv6.sh
··· 457 457 458 458 # Send 100 packets and verify that at least 100 packets hit the rule, 459 459 # to overcome ARP noise. 460 - PING_COUNT=100 PING_TIMEOUT=11 ping_do $dev $dst_ip 460 + PING_COUNT=100 PING_TIMEOUT=20 ping_do $dev $dst_ip 461 461 check_err $? "Ping failed" 462 462 463 463 tc_check_at_least_x_packets "dev $rp1 egress" 101 10 100 ··· 522 522 523 523 # Send 100 packets and verify that at least 100 packets hit the rule, 524 524 # to overcome neighbor discovery noise. 525 - PING_COUNT=100 PING_TIMEOUT=11 ping6_do $dev $dst_ip 525 + PING_COUNT=100 PING_TIMEOUT=20 ping6_do $dev $dst_ip 526 526 check_err $? "Ping failed" 527 527 528 528 tc_check_at_least_x_packets "dev $rp1 egress" 101 100