Open ClSlaid opened 2 years ago
I got it, just set the read timeout will solve the problem, but why...?
The logs show broken pipe when the server is connected to downstream iperf instance.
<1>:2022/05/16 08:44:20.715817 [gotun-:8877-10.128.227.23:8877.0x4-127.0.0.1:34840-127.0.0.1:5201] (server.go:713) 127.0.0.1:5201: Write Err write tcp 127.0.0.1:34840->127.0.0.1:5201: write: broken pipe
EPIPE (broken pipe) is seen when a TCP endpoint tries to write data and the connection is closed for writing; it's possible that iperf closed the connection?
FWIW. I doubt it's iperf server closing the connectiong.
I have a trivial setup for testing ([hostA: iperf client] <-- gotun --> [hostB: iperf server]
), gotun
with minimal configuration (ie: no timeouts, just endpoints). The iperf server is not restarted between tests.
I replace gotun
with stunnel
and iperf client is able to finish the benchmark. I go back to gotun
and the problem manifest again. It's always reproducible.
Using gotun - v0.7.3 [git:v0.7.3-0-gffa945b7f6ec-dirty; 2022-09-22T23:54.02Z]
I've been trying to test
QUIC-IETF
performance with your project andiperf3
. I built your tunnel from source code(current master branch), and then ran thegotun
client and server on different hosts, to proxy TCP connections between 2iperf3
programs. However, the server-side then encounters a broken pipe error when writing to TCP.Network:
--->
-- local ISP network -->
--->
server iperf3 logs: server go-tunnel logs: