|
@@ -170,6 +170,11 @@ extern void tcp_time_wait(struct sock *sk, int state, int timeo);
|
|
#define TCPOPT_TIMESTAMP 8 /* Better RTT estimations/PAWS */
|
|
#define TCPOPT_TIMESTAMP 8 /* Better RTT estimations/PAWS */
|
|
#define TCPOPT_MD5SIG 19 /* MD5 Signature (RFC2385) */
|
|
#define TCPOPT_MD5SIG 19 /* MD5 Signature (RFC2385) */
|
|
#define TCPOPT_COOKIE 253 /* Cookie extension (experimental) */
|
|
#define TCPOPT_COOKIE 253 /* Cookie extension (experimental) */
|
|
|
|
+#define TCPOPT_EXP 254 /* Experimental */
|
|
|
|
+/* Magic number to be after the option value for sharing TCP
|
|
|
|
+ * experimental options. See draft-ietf-tcpm-experimental-options-00.txt
|
|
|
|
+ */
|
|
|
|
+#define TCPOPT_FASTOPEN_MAGIC 0xF989
|
|
|
|
|
|
/*
|
|
/*
|
|
* TCP option lengths
|
|
* TCP option lengths
|
|
@@ -180,6 +185,7 @@ extern void tcp_time_wait(struct sock *sk, int state, int timeo);
|
|
#define TCPOLEN_SACK_PERM 2
|
|
#define TCPOLEN_SACK_PERM 2
|
|
#define TCPOLEN_TIMESTAMP 10
|
|
#define TCPOLEN_TIMESTAMP 10
|
|
#define TCPOLEN_MD5SIG 18
|
|
#define TCPOLEN_MD5SIG 18
|
|
|
|
+#define TCPOLEN_EXP_FASTOPEN_BASE 4
|
|
#define TCPOLEN_COOKIE_BASE 2 /* Cookie-less header extension */
|
|
#define TCPOLEN_COOKIE_BASE 2 /* Cookie-less header extension */
|
|
#define TCPOLEN_COOKIE_PAIR 3 /* Cookie pair header extension */
|
|
#define TCPOLEN_COOKIE_PAIR 3 /* Cookie pair header extension */
|
|
#define TCPOLEN_COOKIE_MIN (TCPOLEN_COOKIE_BASE+TCP_COOKIE_MIN)
|
|
#define TCPOLEN_COOKIE_MIN (TCPOLEN_COOKIE_BASE+TCP_COOKIE_MIN)
|
|
@@ -222,6 +228,7 @@ extern int sysctl_tcp_retries1;
|
|
extern int sysctl_tcp_retries2;
|
|
extern int sysctl_tcp_retries2;
|
|
extern int sysctl_tcp_orphan_retries;
|
|
extern int sysctl_tcp_orphan_retries;
|
|
extern int sysctl_tcp_syncookies;
|
|
extern int sysctl_tcp_syncookies;
|
|
|
|
+extern int sysctl_tcp_fastopen;
|
|
extern int sysctl_tcp_retrans_collapse;
|
|
extern int sysctl_tcp_retrans_collapse;
|
|
extern int sysctl_tcp_stdurg;
|
|
extern int sysctl_tcp_stdurg;
|
|
extern int sysctl_tcp_rfc1337;
|
|
extern int sysctl_tcp_rfc1337;
|
|
@@ -418,7 +425,7 @@ extern int tcp_recvmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg,
|
|
size_t len, int nonblock, int flags, int *addr_len);
|
|
size_t len, int nonblock, int flags, int *addr_len);
|
|
extern void tcp_parse_options(const struct sk_buff *skb,
|
|
extern void tcp_parse_options(const struct sk_buff *skb,
|
|
struct tcp_options_received *opt_rx, const u8 **hvpp,
|
|
struct tcp_options_received *opt_rx, const u8 **hvpp,
|
|
- int estab);
|
|
|
|
|
|
+ int estab, struct tcp_fastopen_cookie *foc);
|
|
extern const u8 *tcp_parse_md5sig_option(const struct tcphdr *th);
|
|
extern const u8 *tcp_parse_md5sig_option(const struct tcphdr *th);
|
|
|
|
|
|
/*
|
|
/*
|