I'm seeing some weird behavior in TCP. The issue is perfectly
reproducible using netcat and other programs. This is what I do:
1. Open a TCP connection over the loopback (over IPv4).
2. Send a couple of bytes of data each way. No problems.
3. Wait about 120 hours with no writes on either side of the
4. write() a few bytes to the server's socket. I'd expect the data
to go through, but it doesnt. I see the TCP frame from the
server to the client, but instead of an ACK, the client sends
back a RST. netstat shows the bytes sitting in the server's
5. write a few bytes to the client's socket. The server gets
6. On the next server-to-client retransmit, the client gets the
bytes from the server. After this, the connection works normally.
The libpcap capture file is here: http://highlab.com/~seb/tcp-idleness-bug
The behavior is reproducible on all kernels I've tried: 2.4.32, 126.96.36.199,
and 188.8.131.52. I dont think it's iptables-related, though I'm rerunning
the tests on a machine without iptables to be sure. I'll have results
for you in 120 hours. ;-)
From: Sebastian Kuzminsky <firstname.lastname@example.org>
Please send your bug report again, but this time to the
email@example.com mailing list which is where the
networking developers are subscribed and deal with bug
reports in the networking.