Hi all, I'm looking at our TCP stack and found a change that was introduced with the syncache. The original BSD code did send an RST segment when the connection timed out in SYN-RECEIVED. The TCP would retransmit the SYN+ACK several times and then give up and RST the peer.
With syncache, however, our TCP doesn't send the RST anymore. It just silently discards local state. So the question is whether TCP is supposed to RST or not. Looking at RFC793 I found nothing useful. It talks about sending RSTs as response to incoming segments and it looks like TCP is never supposed to give up retransmitting. The state diagram has no line from SYN-RECEIVED to CLOSED. Stevens, on the other hand, has this line and it is labeled 'send: RST'. So the questions are: - is TCP supposed to send an RST when it times out in SYN-RECEIVED? - why was this changed (I suppose it is just one of the regressions introduced with the syn-cache). harti NB: does anybody know a good mailing list where this kind of questions can be discussed? _______________________________________________ freebsd-net@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-net To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"