]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - include/linux/tcp.h
net: ipv4: move tcp_fastopen server side code to SipHash library
[linux.git] / include / linux / tcp.h
index 8ed77bb4ed8636e9294389a011529fd9a667dce4..9ea0e71f5c6a5a35807fee025fe843465e1e23ae 100644 (file)
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  * INET                An implementation of the TCP/IP protocol suite for the LINUX
  *             operating system.  INET is implemented using the  BSD Socket
@@ -8,11 +9,6 @@
  * Version:    @(#)tcp.h       1.0.2   04/28/93
  *
  * Author:     Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG>
- *
- *             This program is free software; you can redistribute it and/or
- *             modify it under the terms of the GNU General Public License
- *             as published by the Free Software Foundation; either version
- *             2 of the License, or (at your option) any later version.
  */
 #ifndef _LINUX_TCP_H
 #define _LINUX_TCP_H
@@ -62,12 +58,7 @@ static inline unsigned int tcp_optlen(const struct sk_buff *skb)
 
 /* TCP Fast Open Cookie as stored in memory */
 struct tcp_fastopen_cookie {
-       union {
-               u8      val[TCP_FASTOPEN_COOKIE_MAX];
-#if IS_ENABLED(CONFIG_IPV6)
-               struct in6_addr addr;
-#endif
-       };
+       u64     val[TCP_FASTOPEN_COOKIE_MAX / sizeof(u64)];
        s8      len;
        bool    exp;    /* In RFC6994 experimental option format */
 };
@@ -196,6 +187,7 @@ struct tcp_sock {
        u32     rcv_tstamp;     /* timestamp of last received ACK (for keepalives) */
        u32     lsndtime;       /* timestamp of last sent data packet (for restart window) */
        u32     last_oow_ack_time;  /* timestamp of last out-of-window ACK */
+       u32     compressed_ack_rcv_nxt;
 
        u32     tsoffset;       /* timestamp offset */
 
@@ -248,6 +240,7 @@ struct tcp_sock {
                syn_smc:1;      /* SYN includes SMC */
        u32     tlp_high_seq;   /* snd_nxt at the time of TLP retransmit. */
 
+       u32     tcp_tx_delay;   /* delay (in usec) added to TX packets */
        u64     tcp_wstamp_ns;  /* departure time for next sent data packet */
        u64     tcp_clock_cache; /* cache last tcp_clock_ns() (see tcp_mstamp_refresh()) */
 
@@ -439,6 +432,7 @@ struct tcp_timewait_sock {
        u32                       tw_last_oow_ack_time;
 
        int                       tw_ts_recent_stamp;
+       u32                       tw_tx_delay;
 #ifdef CONFIG_TCP_MD5SIG
        struct tcp_md5sig_key     *tw_md5_key;
 #endif