TCP RST question
julian at elischer.org
Fri Jul 31 16:41:38 UTC 2009
Hartmut.Brandt at dlr.de wrote:
> 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).
maybe something to do with avoiding DOS or something?
> NB: does anybody know a good mailing list where this kind of questions
> can be discussed?
> freebsd-net at freebsd.org mailing list
> To unsubscribe, send any mail to "freebsd-net-unsubscribe at freebsd.org"
More information about the freebsd-net