tcp: enable sockets to use MSG_FASTOPEN by default
authorYuchung Cheng <ycheng@google.com>
Thu, 31 Oct 2013 16:19:32 +0000 (09:19 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 5 Nov 2013 00:57:47 +0000 (19:57 -0500)
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>
Documentation/networking/ip-sysctl.txt
net/ipv4/tcp_fastopen.c

index a46d78583ae1d9b1a8b49b96066f423f4b29d037..6c0098359ca6ac07dcc8a55494e2887d2b46dd5a 100644 (file)
@@ -451,7 +451,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.
@@ -464,7 +464,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 766032b4a6c39b9894c95b5eeef1689e355605ff..f195d9316e55d3d7ef6dc5285606ea9de0f52a51 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;