Wierd networking.

Mike Karels karels at karels.net
Fri Jul 20 22:43:04 UTC 2007


> I think that the possible courses of action are:

> 1/ Ignore further incoming data, but ACK it.
>       (this is basically what the userland code does in this case)

This could lead to indefinite data transfer, while misleading the sender
into thinking the data are being delivered.

> 2/ Stop ACKing the data, and let the other end time out.

This seems like a waste of resources on both ends of the connection;
both are doomed, but they both have to time out to go away.

> 3/ Send a RST

This is my choice, literally: I added the code to send a RST in this
case sometime in the 1980s, after observing connections that hung
with no reader, but with the writer in persist mode indefinitely.
(That's choice 4: accept the data, let the receive buffer fill, then
advertise a zero window forever.)

		Mike


More information about the freebsd-net mailing list