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
connection.
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
socket's send-buffer.
5. write a few bytes to the client's socket. The server gets
these immediately.
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, 2.6.19.1,
and 2.6.20.4. 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. ;-)
--
Sebastian Kuzminsky
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]