server can hang client even with timeouts by ACKing the cookie?
- Dominant language
- C
- Stars
- 8.8k
- Forks
- 1.5k
- PR merge metrics
- No merged PRs in 30d
Description
I'm seeing this issue with several hosts that are in lists of public iperf3 servers.
I'm using iperf3 like this:
iperf3 -c -fk -O2 -t12 -P2 -R -V --connect-timeout 5000 --rcv-timeout 5000
The command hangs indefinitely (I've killed it after many minutes of waiting). The control connection appears to be created, and the cookie is sent, but according to Wireshark the remote host just responds to the cookie with a TCP ACK and then the connection goes completely silent until I kill it. I've attached the pcap for the connection to aid debugging.
I'm guessing that the connection timeout only applies to the initial TCP connection, and the receive timeout only applies once the test has begun? It probably makes sense for the connection timeout to apply to the whole connection, at least until a test has started.
I've reproduced this issue on both iperf 3.12 and 3.18.
[iperf3_issue.pcapng.tar.gz](https://github.com/user-attachments/files/19395312/iperf3_issue.pcapng.tar.gz)
Contributor guide
Assessment
This issue has not been assessed yet.