New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 635080 link

Starred by 14 users

Issue metadata

Status: WontFix
Owner:
Last visit > 30 days ago
Closed: Dec 11
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 3
Type: Feature



Sign in to add a comment

TCP fast open not supported on Windows 10 build 1607

Reported by kurtext...@gmail.com, Aug 5 2016

Issue description

UserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2816.0 Safari/537.36

Example URL:

Steps to reproduce the problem:
1. Open about:flags
2. Search for TCP fast open
3. 

What is the expected behavior?
TCP fast open can be activated (about:flags) when using Windows 10 build 1607

What went wrong?
Can't activate TCP fast open. The most recent Windows 10 build supports TCP fast open and you can activate it in the Edge Browser (also using about:flags) -> http://prntscr.com/c249hq

Did this work before? No 

Chrome version: 54.0.2816.0  Channel: dev
OS Version: 10.0
Flash Version: Shockwave Flash 23.0 r0
 
Labels: -Type-Bug Type-Feature
Status: Untriaged (was: Unconfirmed)
Assuming this as a feature request, changing the status to Untriaged and adding the appropriate labels.
Thank You.
Cc: jri@chromium.org mmenke@chromium.org
Labels: -Pri-2 Pri-3
Status: Available (was: Untriaged)
Hrm...Doesn't look like Windows has any docs on using fastopen.  We may have to wait for a published API.
fyi: I've pinged Edge Dev on Twitter: https://twitter.com/kurtextrem/status/763788930961567744 let's get this going :)

And an answer: https://twitter.com/toddreifsteck/status/763789371333980160
(copy:) Docs still updating. This help? set/getsockopt(sock, IPPROTO_TCP, TCP_FASTOPEN

Comment 6 by mmenke@chromium.org, Aug 11 2016

Don't think that's enough.  Looks to me like TCP_FASTOPEN is not defined on the latest Windows SDK.  Also not clear if once that's done, a socket should be treated as a normal TCP socket or not (With some APIs, have to connect using the UDP/datagram sendto method when sending the first chunk of data).

Don't think there's any real rush to implement fast open.  It's nice to reduce connection time, but it does break a number of things, as implemented in Chrome:  Happy eyeballs, fallback to other addresses on connection failure (As they'll now look like send failures), connection timeouts (For the non-SSL case, at least), etc.

Comment 7 by mmenke@chromium.org, Aug 16 2016

 Issue 638279  has been merged into this issue.

Comment 8 by afagag...@gmail.com, Aug 17 2016

TCP_FASTOPEN is indeed defined in the latest Windows SDK.
Any news? :)

Comment 10 by jri@chromium.org, Nov 29 2016

Owner: jri@chromium.org
No news yet. This is on the list of things to be done, but is not high enough on the priority list yet. As mmenke points out, it breaks Happy Eyeballs and other things in Chrome so we can't do a broad deployment yet with the current API. (I'm talking to the Windows folks on fixing their API.)
Thank you for the update!
What the heck is going? For god's sake its 2017 and this is still not finished.
No Microsoft will not change the API to accommodate you.

Firefox has this implemented already.
Cc: -mmenke@chromium.org

Comment 14 by hpvs...@gmail.com, Jul 21 2017

So how about TCP fast open status? Will chrome deal with it? Still cant work at windows 1703
I think they've updated the SDK and also documented it.

Ref: https://msdn.microsoft.com/en-us/library/windows/desktop/ms738596(v=vs.85).aspx
This has to be a joke. A total complete joke.
What's the status on this?
Owner status is: Last visit > 30 days ago. Has he left the Chromium project?

Comment 19 by jri@google.com, Sep 25 2017

kurtextrem: As said earlier, this is on the list of things to be done, but is not high enough on the priority list yet.

Comment 20 by wiz...@gmail.com, Oct 6 2017

"TLS 1.3, will allow developers to eliminate that delay in most cases while still encrypting content. That means delivering better performance and security in Microsoft Edge, using modern encryption on top of the continually improved TCP stack. TLS 1.3 is working through the standardization track now, and the IETF expects to publish it this summer. But even without TLS 1.3, we can combine TCP Fast Open and the TLS False Start option, and reduce the delay from 3-RTT (round trip time) to 1-RTT. Even reducing your page load time by an average of 50 milliseconds will contribute to a better browsing experience. (src: https://blogs.windows.com/msedgedev/2016/06/15/building-a-faster-and-more-secure-web-with-tcp-fast-open-tls-false-start-and-tls-1-3/). 

This is kind of stuff that is low hanging fruit. I'm shocked Microsoft realized it and Google seemingly doesn't care
Status: Assigned (was: Available)
Hi I'm the PM for Windows transport at Microsoft and this just came to my attention.

TCP Fast Open is supported in Windows as well as documented on MSDN.  We also have a fallback algorithm to mitigate middle box issues and we have not experienced any interference with Happy Eyeballs.

It is a simple API call to activate TFO and we would be happy to work with your dev team.  Also I noticed that the text in chrome://flags says that TFO is not supported on Windows.  This is no longer true.

Looking forward to hearing from you.
...Daniel

Status: WontFix (was: Assigned)
We're removing FastOpen on Linux (Which we never enabled by default anyways), and have no plans to add it elsewhere.  With TLS 1.2 session restore, the session resumption packet potentially contains data that the server will process, resulting in mutation of server state before Chrome knows if the data was accepted, increasing the chance of retries.

QUIC (HTTP/3?) is also on the horizon, which may make this even less useful.
And also the big thing - it leaks data between profiles, including (but not limited to) incognito profiles, since it relies on global system state.

Sign in to add a comment