1
cat /proc/net/udp | egrep "sl|3ADBFE0A"
   sl  local_address rem_address   st tx_queue rx_queue tr tm->when retrnsmt   uid  timeout inode   ref pointer drops
   16: 3ADBFE0A:007B 00000000:0000 07 00000000:00000000 00:00000000 00000000    74        0 40124    2 f203ca80 0
  509: 3ADBFE0A:0868 00000000:0000 07 00008C00:00000000 00:00000000 00000000     0        0 79208333 2 ea226340 0

I would like to seek for deeper and more beginner-friendly explanation of the fields of the cat /proc/net/udp output, especially the tx_queue.

From the proc(5) man page:

/proc/net/udp

    Holds a dump of the UDP socket table.  Much of the information is not of use apart from debugging.  The "sl" value is the kernel hash slot for the socket, [and] the "local_address" is the local address and port number pair.  The "rem_address" is the remote address and port number pair (if connected).  "St" is the internal status of the socket.  The "tx_queue" and "rx_queue" are the outgoing and incoming data queue in terms of kernel memory usage.  The "tr", "tm->when", and "rexmits" fields are not used by UDP.  The "uid" field holds the effective UID of the creator of the socket.

If I am correct with my understanding that when this tx_queue value is greater than 0 meaning that there are more packets that are waiting to be sent and that the application is not fast enough to send those packets?

1

1 Answer 1

1

If tx_queue is greater than 0, then it is the OS that cannot deliver packets as fast as the sending application is trying to send them. I guess it could also mean that Ethernet Flow Control is at work. In any event, the sending application is not the culprit.

The actual value in tx_queue will be hexadecimal.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .