mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-03 18:20:25 +02:00 
			
		
		
		
	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 */
 |