inet: add TCP_NEW_SYN_RECV state
authorEric Dumazet <edumazet@google.com>
Thu, 12 Mar 2015 23:44:04 +0000 (16:44 -0700)
committerDavid S. Miller <davem@davemloft.net>
Fri, 13 Mar 2015 02:58:12 +0000 (22:58 -0400)
TCP_SYN_RECV state is currently used by fast open sockets.

Initial TCP requests (the pseudo sockets created when a SYN is received)
are not yet associated to a state. They are attached to their parent,
and the parent is in TCP_LISTEN state.

This commit adds TCP_NEW_SYN_RECV state, so that we can convert
TCP stack to a different schem gradually.

This state is not exported to user space.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/tcp_states.h

index b0b6459..50e78a7 100644 (file)
@@ -25,6 +25,7 @@ enum {
        TCP_LAST_ACK,
        TCP_LISTEN,
        TCP_CLOSING,    /* Now a valid state */
+       TCP_NEW_SYN_RECV,
 
        TCP_MAX_STATES  /* Leave at the end! */
 };
@@ -44,7 +45,8 @@ enum {
        TCPF_CLOSE_WAIT  = (1 << 8),
        TCPF_LAST_ACK    = (1 << 9),
        TCPF_LISTEN      = (1 << 10),
-       TCPF_CLOSING     = (1 << 11) 
+       TCPF_CLOSING     = (1 << 11),
+       TCPF_NEW_SYN_RECV = (1 << 12),
 };
 
 #endif /* _LINUX_TCP_STATES_H */