 10feb428a5
			
		
	
	
	10feb428a5
	
	
	
		
			
			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>
		
			
				
	
	
		
			52 lines
		
	
	
	
		
			1.3 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
	
		
			1.3 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  * INET		An implementation of the TCP/IP protocol suite for the LINUX
 | |
|  *		operating system.  INET is implemented using the  BSD Socket
 | |
|  *		interface as the means of communication with the user level.
 | |
|  *
 | |
|  *		Definitions for the TCP protocol sk_state field.
 | |
|  *
 | |
|  *		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_STATES_H
 | |
| #define _LINUX_TCP_STATES_H
 | |
| 
 | |
| enum {
 | |
| 	TCP_ESTABLISHED = 1,
 | |
| 	TCP_SYN_SENT,
 | |
| 	TCP_SYN_RECV,
 | |
| 	TCP_FIN_WAIT1,
 | |
| 	TCP_FIN_WAIT2,
 | |
| 	TCP_TIME_WAIT,
 | |
| 	TCP_CLOSE,
 | |
| 	TCP_CLOSE_WAIT,
 | |
| 	TCP_LAST_ACK,
 | |
| 	TCP_LISTEN,
 | |
| 	TCP_CLOSING,	/* Now a valid state */
 | |
| 	TCP_NEW_SYN_RECV,
 | |
| 
 | |
| 	TCP_MAX_STATES	/* Leave at the end! */
 | |
| };
 | |
| 
 | |
| #define TCP_STATE_MASK	0xF
 | |
| 
 | |
| #define TCP_ACTION_FIN	(1 << 7)
 | |
| 
 | |
| enum {
 | |
| 	TCPF_ESTABLISHED = (1 << 1),
 | |
| 	TCPF_SYN_SENT	 = (1 << 2),
 | |
| 	TCPF_SYN_RECV	 = (1 << 3),
 | |
| 	TCPF_FIN_WAIT1	 = (1 << 4),
 | |
| 	TCPF_FIN_WAIT2	 = (1 << 5),
 | |
| 	TCPF_TIME_WAIT	 = (1 << 6),
 | |
| 	TCPF_CLOSE	 = (1 << 7),
 | |
| 	TCPF_CLOSE_WAIT	 = (1 << 8),
 | |
| 	TCPF_LAST_ACK	 = (1 << 9),
 | |
| 	TCPF_LISTEN	 = (1 << 10),
 | |
| 	TCPF_CLOSING	 = (1 << 11),
 | |
| 	TCPF_NEW_SYN_RECV = (1 << 12),
 | |
| };
 | |
| 
 | |
| #endif	/* _LINUX_TCP_STATES_H */
 |