diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/snmp.h | 1 | ||||
-rw-r--r-- | include/linux/tcp.h | 6 | ||||
-rw-r--r-- | include/net/tcp.h | 9 |
3 files changed, 15 insertions, 1 deletions
diff --git a/include/linux/snmp.h b/include/linux/snmp.h index e5fcbd079e4a..00bc189cb395 100644 --- a/include/linux/snmp.h +++ b/include/linux/snmp.h | |||
@@ -238,6 +238,7 @@ enum | |||
238 | LINUX_MIB_TCPOFOMERGE, /* TCPOFOMerge */ | 238 | LINUX_MIB_TCPOFOMERGE, /* TCPOFOMerge */ |
239 | LINUX_MIB_TCPCHALLENGEACK, /* TCPChallengeACK */ | 239 | LINUX_MIB_TCPCHALLENGEACK, /* TCPChallengeACK */ |
240 | LINUX_MIB_TCPSYNCHALLENGE, /* TCPSYNChallenge */ | 240 | LINUX_MIB_TCPSYNCHALLENGE, /* TCPSYNChallenge */ |
241 | LINUX_MIB_TCPFASTOPENACTIVE, /* TCPFastOpenActive */ | ||
241 | __LINUX_MIB_MAX | 242 | __LINUX_MIB_MAX |
242 | }; | 243 | }; |
243 | 244 | ||
diff --git a/include/linux/tcp.h b/include/linux/tcp.h index 12948f543839..1edf96afab44 100644 --- a/include/linux/tcp.h +++ b/include/linux/tcp.h | |||
@@ -386,7 +386,8 @@ struct tcp_sock { | |||
386 | unused : 1; | 386 | unused : 1; |
387 | u8 repair_queue; | 387 | u8 repair_queue; |
388 | u8 do_early_retrans:1,/* Enable RFC5827 early-retransmit */ | 388 | u8 do_early_retrans:1,/* Enable RFC5827 early-retransmit */ |
389 | early_retrans_delayed:1; /* Delayed ER timer installed */ | 389 | early_retrans_delayed:1, /* Delayed ER timer installed */ |
390 | syn_fastopen:1; /* SYN includes Fast Open option */ | ||
390 | 391 | ||
391 | /* RTT measurement */ | 392 | /* RTT measurement */ |
392 | u32 srtt; /* smoothed round trip time << 3 */ | 393 | u32 srtt; /* smoothed round trip time << 3 */ |
@@ -500,6 +501,9 @@ struct tcp_sock { | |||
500 | struct tcp_md5sig_info __rcu *md5sig_info; | 501 | struct tcp_md5sig_info __rcu *md5sig_info; |
501 | #endif | 502 | #endif |
502 | 503 | ||
504 | /* TCP fastopen related information */ | ||
505 | struct tcp_fastopen_request *fastopen_req; | ||
506 | |||
503 | /* When the cookie options are generated and exchanged, then this | 507 | /* When the cookie options are generated and exchanged, then this |
504 | * object holds a reference to them (cookie_values->kref). Also | 508 | * object holds a reference to them (cookie_values->kref). Also |
505 | * contains related tcp_cookie_transactions fields. | 509 | * contains related tcp_cookie_transactions fields. |
diff --git a/include/net/tcp.h b/include/net/tcp.h index e601da197361..867557b4244a 100644 --- a/include/net/tcp.h +++ b/include/net/tcp.h | |||
@@ -1289,6 +1289,15 @@ extern int tcp_md5_hash_skb_data(struct tcp_md5sig_pool *, const struct sk_buff | |||
1289 | extern int tcp_md5_hash_key(struct tcp_md5sig_pool *hp, | 1289 | extern int tcp_md5_hash_key(struct tcp_md5sig_pool *hp, |
1290 | const struct tcp_md5sig_key *key); | 1290 | const struct tcp_md5sig_key *key); |
1291 | 1291 | ||
1292 | struct tcp_fastopen_request { | ||
1293 | /* Fast Open cookie. Size 0 means a cookie request */ | ||
1294 | struct tcp_fastopen_cookie cookie; | ||
1295 | struct msghdr *data; /* data in MSG_FASTOPEN */ | ||
1296 | u16 copied; /* queued in tcp_connect() */ | ||
1297 | }; | ||
1298 | |||
1299 | void tcp_free_fastopen_req(struct tcp_sock *tp); | ||
1300 | |||
1292 | /* write queue abstraction */ | 1301 | /* write queue abstraction */ |
1293 | static inline void tcp_write_queue_purge(struct sock *sk) | 1302 | static inline void tcp_write_queue_purge(struct sock *sk) |
1294 | { | 1303 | { |