Blame view

Documentation/networking/proc_net_tcp.txt 2.54 KB
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1
  This document describes the interfaces /proc/net/tcp and /proc/net/tcp6.
d603d0ab8   Jean Delvare   [TCP]: Update the...
2
  Note that these interfaces are deprecated in favor of tcp_diag.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
3
4
  
  These /proc interfaces provide information about currently active TCP 
d603d0ab8   Jean Delvare   [TCP]: Update the...
5
6
  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.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
  
  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, 
fa00e7e15   Matt LaPlante   Fix typos in /Doc...
29
      |          |    |     |    |     |  | |  |      or -1 if the threshold
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
      |          |    |     |    |     |  | |  |      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