Date: Fri, 19 Jan 2018 14:16:18 -0500 From: Patrick Kelsey <kelsey@ieee.org> To: freebsd-transport@freebsd.org Subject: Re: TCP Fast Open Linux behaviour Message-ID: <CAD44qMWB-pkWAVqwFtPZGhFXSLSCpcrJpQObMEyZeJRO5n4TKg@mail.gmail.com> In-Reply-To: <2AE83CF2-FF6D-4849-AEB9-7FCCA43613A9@freebsd.org> References: <2AE83CF2-FF6D-4849-AEB9-7FCCA43613A9@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Jan 17, 2018 at 4:55 PM, Michael Tuexen <tuexen@freebsd.org> wrote: > Dear all, > > at the last Telco the following question was raised: > > When Linux is acting as TCP client using TCP fast open, > does it accept user data sent with the SYN-ACK. > > I tested it with the Linux kernel 4.9.77, which is the current > LTS release and figured out that the data sent with the SYN-ACK > is accepted. See the attached .pcapng file. > > The current Ubuntu 17.10 using the kernel 4.13.0 shows the > same behaviour. > > > Michael, Thank you for performing this test with recent Linux kernels and finding that the issue where the Linux TFO client-side implementation would not ACK data in a SYN-ACK has been resolved. The issue did exist at one time, going back to at least the 4.4 kernel, as highlighted during testing of my TFO server-side implementation by multiple parties. One person involved in that testing elicited an explanation from Yuchung Cheng as to why the flaw in the Linux TFO client-side implementation existed: https://www.ietf.org/mail-archive/web/tcpm/current/msg10175.html I will still need to add a knob to the FreeBSD TFO server-side implementation to enable a workaround mode that doesn't send data in TFO SYN-ACKs when data is available, but instead immediately chases the SYN-ACK with a data segment, so that service providers that want to provide good TFO performance for fielded broken Linux clients can do so. -Patrick
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAD44qMWB-pkWAVqwFtPZGhFXSLSCpcrJpQObMEyZeJRO5n4TKg>