Date: Wed, 23 May 2007 03:07:51 GMT From: Phil Rosenthal<pr@isprime.com> To: freebsd-gnats-submit@FreeBSD.org Subject: bin/112882: systat -tcp does not show tcp rexmit on sack enabled sockets (patch included) Message-ID: <200705230307.l4N37poc067723@www.freebsd.org> Resent-Message-ID: <200705230320.l4N3K2l4023140@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 112882 >Category: bin >Synopsis: systat -tcp does not show tcp rexmit on sack enabled sockets (patch included) >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: update >Submitter-Id: current-users >Arrival-Date: Wed May 23 03:20:01 GMT 2007 >Closed-Date: >Last-Modified: >Originator: Phil Rosenthal >Release: FreeBSD 6.2-STABLE amd64 >Organization: ISPrime LLC >Environment: FreeBSD bmw2.isprime.com 6.2-STABLE FreeBSD 6.2-STABLE #0: Tue May 22 22:20:23 EDT 2007 root@bmw2.isprime.com:/usr/obj/usr/src/sys/BMW2 amd64 >Description: FreeBSD's "systat" tool has a mode to display statistics for all tcp sessions on the system. This mode is called by running "systat -tcp". When a packet is retransmitted due to duplicate ack packets, or a timeout waiting for an ack, tcps_sndrexmitpack is incremented. When a packet is retransmitted due to a selective acknowledgement (sack), tcps_sack_rexmits is incremented instead. systat -tcp only shows tcps_sndrexmitpack, and given that most clients today support sack, the user is falsely informed that there is a much lower amount of packet loss/retransmits. Additionally, the 9 digit values are easily overflowed on a server serving hundreds of megabits of traffic which is becoming more commonplace given the performance and wide availability of gig-e chipsets. The patch referenced below fixes both of these issues. >How-To-Repeat: 1) Enable sack on both a client and a server, and set up a tcp socket. 2) Cause packet loss (you can use dummynet for this) 3) Watch systat -tcp >Fix: cd /usr/src/usr.bin/systat fetch http://bmw2.isprime.com/systat-sack-rexmit.diff patch < systat-sack-rexmit.diff make make install This patch is built against FreeBSD 6.2-STABLE. Earlier builds will fail with this patch. >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200705230307.l4N37poc067723>
