tcp: enable sockets to use MSG_FASTOPEN by default 83/178983/2 accepted/tizen/unified/20180517.062406 submit/tizen/20180517.023841
authorYuchung Cheng <ycheng@google.com>
Thu, 31 Oct 2013 16:19:32 +0000 (09:19 -0700)
committerJaehoon Chung <jh80.chung@samsung.com>
Wed, 16 May 2018 01:04:31 +0000 (10:04 +0900)
Applications have started to use Fast Open (e.g., Chrome browser has
such an optional flag) and the feature has gone through several
generations of kernels since 3.7 with many real network tests. It's
time to enable this flag by default for applications to test more
conveniently and extensively.

Signed-off-by: Yuchung Cheng <ycheng@google.com>
Signed-off-by: Neal Cardwell <ncardwell@google.com>
Acked-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Cheoleun Moon <chleun.moon@samsung.com>
[jh80.chung: cherry picked from commit 0d41cca490c2 from mainline]

Change-Id: I9dc9ce6e3e8de16bbefd5fd8c79ce9e4b39c4e81

Documentation/networking/ip-sysctl.txt
net/ipv4/tcp_fastopen.c

index fbfc9e0..0b7bef4 100644 (file)
@@ -456,7 +456,7 @@ tcp_fastopen - INTEGER
        connect() to perform a TCP handshake automatically.
 
        The values (bitmap) are
-       1: Enables sending data in the opening SYN on the client.
+       1: Enables sending data in the opening SYN on the client w/ MSG_FASTOPEN.
        2: Enables TCP Fast Open on the server side, i.e., allowing data in
           a SYN packet to be accepted and passed to the application before
           3-way hand shake finishes.
@@ -469,7 +469,7 @@ tcp_fastopen - INTEGER
           different ways of setting max_qlen without the TCP_FASTOPEN socket
           option.
 
-       Default: 0
+       Default: 1
 
        Note that the client & server side Fast Open flags (1 and 2
        respectively) must be also enabled before the rest of flags can take
index 8f7ef0a..bbcfb63 100644 (file)
@@ -8,7 +8,7 @@
 #include <net/inetpeer.h>
 #include <net/tcp.h>
 
-int sysctl_tcp_fastopen __read_mostly;
+int sysctl_tcp_fastopen __read_mostly = TFO_CLIENT_ENABLE;
 
 struct tcp_fastopen_context __rcu *tcp_fastopen_ctx;