From: Mauro Carvalho Chehab Date: Thu, 30 Apr 2020 16:04:16 +0000 (+0200) Subject: docs: networking: convert proc_net_tcp.txt to ReST X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=832619012c972dc1ca0723ad66ffff6e6e4cf5e0;p=linux.git docs: networking: convert proc_net_tcp.txt to ReST - add SPDX header; - add a document title; - mark code blocks and literals as such; - mark tables as such; - adjust identation, whitespaces and blank lines where needed; - add to networking/index.rst. Signed-off-by: Mauro Carvalho Chehab Signed-off-by: David S. Miller --- diff --git a/Documentation/networking/index.rst b/Documentation/networking/index.rst index f89535871481a..0da7eb0ec85ab 100644 --- a/Documentation/networking/index.rst +++ b/Documentation/networking/index.rst @@ -94,6 +94,7 @@ Contents: pktgen plip ppp_generic + proc_net_tcp .. only:: subproject and html diff --git a/Documentation/networking/proc_net_tcp.rst b/Documentation/networking/proc_net_tcp.rst new file mode 100644 index 0000000000000..7d9dfe36af45b --- /dev/null +++ b/Documentation/networking/proc_net_tcp.rst @@ -0,0 +1,57 @@ +.. SPDX-License-Identifier: GPL-2.0 + +============================================ +The proc/net/tcp and proc/net/tcp6 variables +============================================ + +This document describes the interfaces /proc/net/tcp and /proc/net/tcp6. +Note that these interfaces are deprecated in favor of tcp_diag. + +These /proc interfaces provide information about currently active TCP +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. + +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, + | | | | | | | | | or -1 if the threshold + | | | | | | | | | 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 + == ================================================================ diff --git a/Documentation/networking/proc_net_tcp.txt b/Documentation/networking/proc_net_tcp.txt deleted file mode 100644 index 4a79209e77a7c..0000000000000 --- a/Documentation/networking/proc_net_tcp.txt +++ /dev/null @@ -1,48 +0,0 @@ -This document describes the interfaces /proc/net/tcp and /proc/net/tcp6. -Note that these interfaces are deprecated in favor of tcp_diag. - -These /proc interfaces provide information about currently active TCP -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. - -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, - | | | | | | | | | or -1 if the threshold - | | | | | | | | | 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