selftests: net: fix tcp listener handling in pmtu.sh
authorPaolo Abeni <pabeni@redhat.com>
Thu, 1 Feb 2024 18:42:40 +0000 (19:42 +0100)
committerJakub Kicinski <kuba@kernel.org>
Sat, 3 Feb 2024 05:11:21 +0000 (21:11 -0800)
commite71e016ad0f6e641a7898b8cda5f62f8e2beb2f1
tree9bd5951584e44dc459a84aee8c30c356a7700842
parentd75df752647728c6d65e594e5e4493448bea6cda
selftests: net: fix tcp listener handling in pmtu.sh

The pmtu.sh test uses a few TCP listener in a problematic way:
It hard-codes a constant timeout to wait for the listener starting-up
in background. That introduces unneeded latency and on very slow and
busy host it can fail.

Additionally the test starts again the same listener in the same
namespace on the same port, just after the previous connection
completed. Fast host can attempt starting the new server before the
old one really closed the socket.

Address the issues using the wait_local_port_listen helper and
explicitly waiting for the background listener process exit.

Fixes: 136a1b434bbb ("selftests: net: test vxlan pmtu exceptions with tcp")
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Reviewed-by: David Ahern <dsahern@kernel.org>
Link: https://lore.kernel.org/r/f8e8f6d44427d8c45e9f6a71ee1a321047452087.1706812005.git.pabeni@redhat.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
tools/testing/selftests/net/pmtu.sh