Re: Help with /proc/net/tcp fields

From: Randy.Dunlap
Date: Fri Feb 20 2004 - 13:29:42 EST


On Fri, 20 Feb 2004 11:50:13 +0100 DervishD <raul@xxxxxxxxxxxx> wrote:

| Hi all :)
|
| I'm trying to decode what the field in the output of
| /proc/net/tcp means, with little success. Apart from the fact that
| the four last fields have no description (and looking at undocumented
| sources is really a pain a very time-consuming), I have the following
| doubts:
|
| - I assume that 'sl' is the socket number, but, what does 'sl'
| stand for?

'sl is just an index. Maybe it means 'slot'.

| - What represents the 'st' field?

socket 'state' -- enumerated in include/linux/tcp.h

| - I suppose that 'tr:tm->when' represents if there is any timer
| on that socket (well, 'tr' is the number of timers), and when will
| expire the nearest one, but I'm not sure.

Looks right at a quick glance.

| - I suppose that 'timeout' is the time to die when the socket is
| in FIN_WAIT state, but I'm afraid I'm wrong :(

It's the value of 'probes_out', which has a comment (?) of:
/* unanswered 0 window probes */

| - Does the 'retrnsmt' field show the retransmissions happened in
| this socket?

Looks like a counter that is incremented up to a threshold...
For ACK handling.

| If anyone can explain me these fields (and the unnamed fields at
| the end) I will be very grateful, and if someone could direct me to a
| site with related information it will help, too.

Last 2 - 7 unnamed fields:

depending on 'state':

case TCP_SEQ_STATE_TIME_WAIT:
refcnt bucket_pointer (no trailing 5 fields)

case TCP_SEQ_STATE_OPENREQ:
refcnt open_request_pointer (no trailing 5 fields)

case TCP_SEQ_STATE_LISTENING:
case TCP_SEQ_STATE_ESTABLISHED:
refcnt socket_pointer rto ato qpp snd_cwnd snd_ssthresh
where:
rto == retransmit_timeout
ato == delayed ACK predicted tick
qpp == (scheduled number of quick acks << 1) | pingpong(interactive)
snd_cwnd == sending congestion window
snd_ssthresh == slow start size threshold (-1 if >= 0xFFFF)


I suggest asking such questions on the netdev mailing list
(netdev@xxxxxxxxxxx).

HTH.
--
~Randy
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/