Skip site navigation (1)Skip section navigation (2)
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>