Date: Mon, 13 Sep 2010 12:41:03 +0200 From: Andre Oppermann <andre@freebsd.org> To: Randall Stewart <rrs@lakerest.net> Cc: Robert Watson <rwatson@freebsd.org>, freebsd-net@freebsd.org, wollman@hergotha.csail.mit.edu, Karim Fodil-Lemelin <kfl@xiplink.com> Subject: Re: Removal of deprecated implied connect for TCP Message-ID: <4C8DFFBF.2060905@freebsd.org> In-Reply-To: <C74B802F-F5FB-4939-A16F-C3674BA289FF@lakerest.net> References: <4C7A7B25.9040300@freebsd.org> <alpine.BSF.2.00.1008311102220.22661@fledge.watson.org> <4C7D0089.1020104@freebsd.org> <alpine.BSF.2.00.1008312228540.90811@fledge.watson.org> <4C8AA863.4060908@xiplink.com> <C74B802F-F5FB-4939-A16F-C3674BA289FF@lakerest.net>
next in thread | previous in thread | raw e-mail | index | archive | help
Based on the feedback I withdraw the proposal to remove implied connect from TCP. Instead I will look at it closer and fix any loose ends that may have come from other changes in the TCP code. Many good points have been raised and I will repeat them here again for the archives: o In FreeBSD most, if not all, protocols support implied connects, removing it from TCP would make it an outlier. o It is being used by at least one product based on FreeBSD. o It can speed up the data sending phase by sending data on the ACK after SYN-ACK. [In RFC1644 it already sent data on the initial SYN but no one is accepting that anymore.] It is important to note, though, that implied connect in TCP is non-standard and no other even remotely popular OS supports it. Thus any applications making use of it are non-portable. -- Andre On 11.09.2010 17:38, Randall Stewart wrote: > All: > > One thing to note.. when you can do an implied connection setup, the > 3-way hand shake has the potential to carry data (don't know if tcp does in FreeBSD) > on the third leg of the 3-way handshake. > > This is one of the reasons SCTP uses this.. since we often will > carry data an the third and even possibly the 4th leg of the handshake (we > have one extra leg). > > Taking this feature out of TCP will make it so we will be like all other > o/s's and the socket semantic will prevent you from doing data on the third leg.. > > ----SYN----> > <----SYN-ACK--- > ----ACK---> > > instead of > > ----SYN--> > <---SYN-ACk-- > ---ACK+DATA--> > > > In the past I have mentioned in classes I teach that TCP is capable of this but the O/S's > of the world do not allow this later behavior.. > > Just thoughts and ramblings ;-) > > R > > > On Sep 10, 2010, at 2:51 PM, Karim Fodil-Lemelin wrote: > >> On 31/08/2010 5:32 PM, Robert Watson wrote: >>> >>> On Tue, 31 Aug 2010, Andre Oppermann wrote: >>> >>>>> I'm not entirely comfortable with this change, and would like a chance to cogitate on it a bit >>>>> more. While I'm not aware of any applications depending on the semantic for TCP, I know that we >>>>> do use it for UNIX domain sockets. >>>> >>>> I don't have any plans to remove the implied connect support from the socket layer or other >>>> protocols, only from TCP. >>> >>> Right -- the implicit question is: why should TCP be the only stream protocol in our stack *not* >>> to support implied connection, when we plan to continue to support it for all other protocols? >>> >>>> For deprecating this part of the TCP API there is no documentation to the implied connect in >>>> tcp(4). In sendto(2) it doesn't differentiate between protocols and simply says: "... sendto() >>>> and sendmsg() may be used at any time." For MSG_EOF it says that is only supported for >>>> SOCK_STREAM sockets in the PF_INET protocol family. These sentences have to be corrected. >>> >>> In general, deprecating is taken to mean providing significant and explicit advance warning of >>> removal -- for example, updating the 8.x man page to point out that the feature is deprecated and >>> it will not appear in future releases of FreeBSD. >>> >>> Robert >>> >>> _______________________________________________ >>> 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" >> Hi, >> >> For what its worth, we at Xiphos (now XipLink), are still using sendto and T/TCP and is one of the >> reasons we've chosen FreeBSD more then 10 years ago! >> >> Best regards, >> >> Karim. >> _______________________________________________ >> 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" >> > > ------------------------------ > Randall Stewart > 803-317-4952 (cell) > > _______________________________________________ > 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?4C8DFFBF.2060905>