Hi, For a graduate network class at UCSD I implemented some TCP performance monitors in the Linux TCP stack (ipv4). I have added a file to the proc filesystem (/proc/net/tcphealth) that monitors the "health" of all tcp connections on a machine. The tcphealth file tracks smoothed Round-Trip-Times, duplicate acks, and duplicate incoming packets for each established tcp connection. I believe that there is lots of good monitoring information that can be gleaned from this file. It is designed to help answer the question: "Why is my network connection so slow?", and work on all TCP connections without the cooperation of the remote server. I also wrote a module for the sweet GKrellM monitor that shows sender and receiver retransmissions (receiver side metric is 3 consecutive dupAcks - a retransmission request), and average SRTT over all open connections. In the code I have taken care not to disrupt the fast path in tcp_rcv_established(), and generally have tried to step lightly. I have patched kernel versions 2.2.14 and 2.2.16, and tested it on an ix86, a SUN, and a PPC. If there is any interest, I will submit the patch to the appropriate maintainer. Sincerely, Federico David Sacerdoti PS. This is my first time communicating with the kernel developers so please forgive any of my breaches of protocol. My team wrote a short paper on these Network Health Monitors and ran some interesting experiments using them. If interested the link is: http://www-cse.ucsd.edu/classes/wi01/cse222/projects/reports/net-health-14.pdf A Sample Output (fairly health connections - 11Mbps wireless eth): [fds@sandpiper fds]$ cat /proc/net/tcphealth TCP Health Monitoring -Duplicate ACKs are normal and indicate lost/reordered packets. -Duplicate Packets are Bad and show an inefficient connection. id Local Address Remote Address RttEst AcksSent DupAcksSent PktsRecv DupPktsRecv 1: 132.239.10.189:1150 207.25.71.146:80 80 3 0 3 0 6: 132.239.10.189:1145 207.25.71.146:80 66 29 13 37 0 7: 132.239.10.189:1141 208.48.26.229:80 112 8 0 12 0 8: 132.239.10.189:1131 208.48.26.226:80 77 12 0 23 0 9: 132.239.10.189:1077 132.239.55.100:993 28 9 0 20 0 [fds@sandpiper fds]$ - : send the line "unsubscribe linux-net" in the body of a message to majordomo@vger.kernel.org