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