netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/3] tcp: TCP Fast Open, Server Side
@ 2012-08-30 23:39 H.K. Jerry Chu
  2012-08-30 23:39 ` [PATCH 1/3] tcp: TCP Fast Open Server - header & support functions H.K. Jerry Chu
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: H.K. Jerry Chu @ 2012-08-30 23:39 UTC (permalink / raw)
  To: davem, ycheng, edumazet, ncardwell
  Cc: sivasankar, therbert, netdev, Jerry Chu

From: Jerry Chu <hkchu@google.com>

This patch series provides the server (passive open) side code
for TCP Fast Open. Together with the earlier client side patches
it completes the TCP Fast Open implementation.

The server side Fast Open code accepts data carried in the SYN
packet with a valid Fast Open cookie, and passes it to the
application right away, allowing application to send back response
data, all before TCP's 3-way handshake finishes.

A simple cookie scheme together with capping the number of
outstanding TFO requests (still in TCP_SYN_RECV state) to a limit
per listener forms the main line of defense against spoofed SYN
attacks.

For more details about TCP Fast Open see our IETF internet draft
at http://www.ietf.org/id/draft-ietf-tcpm-fastopen-01.txt
and a research paper at
http://conferences.sigcomm.org/co-next/2011/papers/1569470463.pdf

A prototype implementation was first developed by Sivasankar
Radhakrishnan (sivasankar@cs.ucsd.edu).

A patch based on an older version of Linux kernel has been
undergoing internal tests at Google for the past few months.

Jerry Chu (3):
  tcp: TCP Fast Open Server - header & support functions
  tcp: TCP Fast Open Server - support TFO listeners
  tcp: TCP Fast Open Server - main code path

 Documentation/networking/ip-sysctl.txt |   29 +++-
 include/linux/snmp.h                   |    4 +
 include/linux/tcp.h                    |   45 +++++-
 include/net/request_sock.h             |   49 +++++--
 include/net/tcp.h                      |   52 +++++-
 net/core/request_sock.c                |   95 +++++++++++
 net/ipv4/af_inet.c                     |   28 +++-
 net/ipv4/inet_connection_sock.c        |   57 ++++++-
 net/ipv4/proc.c                        |    4 +
 net/ipv4/syncookies.c                  |    1 +
 net/ipv4/sysctl_net_ipv4.c             |   45 ++++++
 net/ipv4/tcp.c                         |   49 +++++-
 net/ipv4/tcp_fastopen.c                |   83 ++++++++++-
 net/ipv4/tcp_input.c                   |   75 +++++++--
 net/ipv4/tcp_ipv4.c                    |  270 ++++++++++++++++++++++++++++++--
 net/ipv4/tcp_minisocks.c               |   61 ++++++--
 net/ipv4/tcp_output.c                  |   21 ++-
 net/ipv4/tcp_timer.c                   |   39 +++++-
 net/ipv6/syncookies.c                  |    1 +
 net/ipv6/tcp_ipv6.c                    |    5 +-
 20 files changed, 916 insertions(+), 97 deletions(-)

-- 
1.7.7.3

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2012-08-31 22:27 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-08-30 23:39 [PATCH 0/3] tcp: TCP Fast Open, Server Side H.K. Jerry Chu
2012-08-30 23:39 ` [PATCH 1/3] tcp: TCP Fast Open Server - header & support functions H.K. Jerry Chu
2012-08-31 14:21   ` Eric Dumazet
2012-08-30 23:39 ` [PATCH 2/3] tcp: TCP Fast Open Server - support TFO listeners H.K. Jerry Chu
2012-08-30 23:39 ` [PATCH 3/3] tcp: TCP Fast Open Server - main code path H.K. Jerry Chu
2012-08-31 20:53 ` [PATCH 0/3] tcp: TCP Fast Open, Server Side David Miller
2012-08-31 22:27   ` Jerry Chu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).