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

selftests: net: let big_tcp test cope with slow env

In very slow environments, most big TCP cases including
segmentation and reassembly of big TCP packets have a good
chance to fail: by default the TCP client uses write size
well below 64K. If the host is low enough autocorking is
unable to build real big TCP packets.

Address the issue using much larger write operations.

Note that is hard to observe the issue without an extremely
slow and/or overloaded environment; reduce the TCP transfer
time to allow for much easier/faster reproducibility.

Fixes: 6bb382bcf742 ("selftests: add a selftest for big tcp")
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Reviewed-by: Eric Dumazet <edumazet@google.com>
Acked-by: Xin Long <lucien.xin@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

authored by

Paolo Abeni and committed by
David S. Miller
a19747c3 645eb543

+3 -1
+3 -1
tools/testing/selftests/net/big_tcp.sh
··· 122 122 local netns=$1 123 123 124 124 [ "$NF" = "6" ] && serip=$SERVER_IP6 125 - ip net exec $netns netperf -$NF -t TCP_STREAM -H $serip 2>&1 >/dev/null 125 + 126 + # use large write to be sure to generate big tcp packets 127 + ip net exec $netns netperf -$NF -t TCP_STREAM -l 1 -H $serip -- -m 262144 2>&1 >/dev/null 126 128 } 127 129 128 130 do_test() {