| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | This document describes the interfaces /proc/net/tcp and /proc/net/tcp6. | 
					
						
							| 
									
										
										
										
											2007-10-15 12:58:35 -07:00
										 |  |  | Note that these interfaces are deprecated in favor of tcp_diag. | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | These /proc interfaces provide information about currently active TCP  | 
					
						
							| 
									
										
										
										
											2007-10-15 12:58:35 -07:00
										 |  |  | connections, and are implemented by tcp4_seq_show() in net/ipv4/tcp_ipv4.c | 
					
						
							|  |  |  | and tcp6_seq_show() in net/ipv6/tcp_ipv6.c, respectively. | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | It will first list all listening TCP sockets, and next list all established | 
					
						
							|  |  |  | TCP connections. A typical entry of /proc/net/tcp would look like this (split  | 
					
						
							|  |  |  | up into 3 parts because of the length of the line): | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    46: 010310AC:9C4C 030310AC:1770 01  | 
					
						
							|  |  |  |    |      |      |      |      |   |--> connection state | 
					
						
							|  |  |  |    |      |      |      |      |------> remote TCP port number | 
					
						
							|  |  |  |    |      |      |      |-------------> remote IPv4 address | 
					
						
							|  |  |  |    |      |      |--------------------> local TCP port number | 
					
						
							|  |  |  |    |      |---------------------------> local IPv4 address | 
					
						
							|  |  |  |    |----------------------------------> number of entry | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    00000150:00000000 01:00000019 00000000   | 
					
						
							|  |  |  |       |        |     |     |       |--> number of unrecovered RTO timeouts | 
					
						
							|  |  |  |       |        |     |     |----------> number of jiffies until timer expires | 
					
						
							|  |  |  |       |        |     |----------------> timer_active (see below) | 
					
						
							|  |  |  |       |        |----------------------> receive-queue | 
					
						
							|  |  |  |       |-------------------------------> transmit-queue | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    1000        0 54165785 4 cd1e6040 25 4 27 3 -1 | 
					
						
							|  |  |  |     |          |    |     |    |     |  | |  | |--> slow start size threshold,  | 
					
						
							| 
									
										
										
										
											2006-11-30 04:55:36 +01:00
										 |  |  |     |          |    |     |    |     |  | |  |      or -1 if the threshold | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  |     |          |    |     |    |     |  | |  |      is >= 0xFFFF | 
					
						
							|  |  |  |     |          |    |     |    |     |  | |  |----> sending congestion window | 
					
						
							|  |  |  |     |          |    |     |    |     |  | |-------> (ack.quick<<1)|ack.pingpong | 
					
						
							|  |  |  |     |          |    |     |    |     |  |---------> Predicted tick of soft clock | 
					
						
							|  |  |  |     |          |    |     |    |     |              (delayed ACK control data) | 
					
						
							|  |  |  |     |          |    |     |    |     |------------> retransmit timeout | 
					
						
							|  |  |  |     |          |    |     |    |------------------> location of socket in memory | 
					
						
							|  |  |  |     |          |    |     |-----------------------> socket reference count | 
					
						
							|  |  |  |     |          |    |-----------------------------> inode | 
					
						
							|  |  |  |     |          |----------------------------------> unanswered 0-window probes | 
					
						
							|  |  |  |     |---------------------------------------------> uid | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | timer_active: | 
					
						
							|  |  |  |   0  no timer is pending | 
					
						
							|  |  |  |   1  retransmit-timer is pending | 
					
						
							|  |  |  |   2  another timer (e.g. delayed ack or keepalive) is pending | 
					
						
							|  |  |  |   3  this is a socket in TIME_WAIT state. Not all fields will contain  | 
					
						
							|  |  |  |      data (or even exist) | 
					
						
							|  |  |  |   4  zero window probe timer is pending |