diff options
| author | Jerry Chu <[email protected]> | 2012-08-31 12:29:13 +0000 |
|---|---|---|
| committer | David S. Miller <[email protected]> | 2012-08-31 20:02:19 -0400 |
| commit | 168a8f58059a22feb9e9a2dcc1b8053dbbbc12ef (patch) | |
| tree | 0d5b9181b840c9b6b08b1452004f0746e8eebab8 /tools/perf/scripts/python/bin | |
| parent | 8336886f786fdacbc19b719c1f7ea91eb70706d4 (diff) | |
tcp: TCP Fast Open Server - main code path
This patch adds the main processing path to complete the TFO server
patches.
A TFO request (i.e., SYN+data packet with a TFO cookie option) first
gets processed in tcp_v4_conn_request(). If it passes the various TFO
checks by tcp_fastopen_check(), a child socket will be created right
away to be accepted by applications, rather than waiting for the 3WHS
to finish.
In additon to the use of TFO cookie, a simple max_qlen based scheme
is put in place to fend off spoofed TFO attack.
When a valid ACK comes back to tcp_rcv_state_process(), it will cause
the state of the child socket to switch from either TCP_SYN_RECV to
TCP_ESTABLISHED, or TCP_FIN_WAIT1 to TCP_FIN_WAIT2. At this time
retransmission will resume for any unack'ed (data, FIN,...) segments.
Signed-off-by: H.K. Jerry Chu <[email protected]>
Cc: Yuchung Cheng <[email protected]>
Cc: Neal Cardwell <[email protected]>
Cc: Eric Dumazet <[email protected]>
Cc: Tom Herbert <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python/bin')
0 files changed, 0 insertions, 0 deletions