Date: Fri, 31 Jul 2009 09:27:11 -0700 From: Julian Elischer <julian@elischer.org> To: Hartmut.Brandt@dlr.de Cc: net@freebsd.org Subject: Re: TCP RST question Message-ID: <4A731B5F.6060301@elischer.org> In-Reply-To: <E086A96846579E4F932C168218DB1E550243BA@exbe5.intra.dlr.de> References: <E086A96846579E4F932C168218DB1E550243BA@exbe5.intra.dlr.de>
next in thread | previous in thread | raw e-mail | index | archive | help
Hartmut.Brandt@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? > 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-unsubscribe@freebsd.org"
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4A731B5F.6060301>