summaryrefslogtreecommitdiff
path: root/packages/net-tools/files/net-tools-1.60-statistics.patch
blob: d3a56499e89d175b59debe0a60cc43aca4576208 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
--- net-tools-1.60/statistics.c.tcpdata	2005-04-26 10:38:10.000000000 +0200
+++ net-tools-1.60/statistics.c	2005-04-26 10:36:19.000000000 +0200
@@ -1,6 +1,6 @@
 /*
  * Copyright 1997,1999,2000 Andi Kleen. Subject to the GPL. 
- * $Id: statistics.c,v 1.14 2001/02/02 18:01:23 pb Exp $
+ * $Id: statistics.c,v 1.17 2002/04/28 15:41:01 ak Exp $
  * 19980630 - i18n - Arnaldo Carvalho de Melo <acme@conectiva.com.br> 
  * 19981113 - i18n fixes - Arnaldo Carvalho de Melo <acme@conectiva.com.br> 
  * 19990101 - added net/netstat, -t, -u, -w supprt - Bernd Eckenfels 
@@ -185,6 +185,44 @@
 			    "directly queued to user"), opt_number },
     { "SockMallocOOM", N_("Ran %lu times out of system memory during " 
 			  "packet sending"), opt_number }, 
+     { "TCPPureAcks", N_("%u acknowledgments not containing data received"), opt_number },
+     { "TCPHPAcks", N_("%u predicted acknowledgments"), opt_number },
+     { "TCPRenoRecovery", N_("%u times recovered from packet loss due to fast retransmit"), opt_number },
+     { "TCPSackRecovery", N_("%u times recovered from packet loss due to SACK data"), opt_number },
+     { "TCPSACKReneging", N_("%u bad SACKs received"), opt_number },
+     { "TCPFACKReorder", N_("Detected reordering %u times using FACK"), opt_number },
+     { "TCPSACKReorder", N_("Detected reordering %u times using SACK"), opt_number },
+     { "TCPTSReorder", N_("Detected reordering %u times using time stamp"), opt_number },
+     { "TCPRenoReorder", N_("Detected reordering %u times using reno fast retransmit"), opt_number },
+     { "TCPFullUndo", N_("%u congestion windows fully recovered"), opt_number }, 
+     { "TCPPartialUndo", N_("%u congestion windows partially recovered using Hoe heuristic"), opt_number },
+     { "TCPDSackUndo", N_("%u congestion window recovered using DSACK"), opt_number },
+     { "TCPLossUndo", N_("%u congestion windows recovered after partial ack"), opt_number },
+     { "TCPLostRetransmits", N_("%u retransmits lost"), opt_number },
+     { "TCPRenoFailures",  N_("%u timeouts after reno fast retransmit"), opt_number },
+     { "TCPSackFailures",  N_("%u timeouts after SACK recovery"), opt_number },
+     { "TCPLossFailures",  N_("%u timeouts in loss state"), opt_number },
+     { "TCPFastRetrans", N_("%u fast retransmits"), opt_number },
+     { "TCPForwardRetrans", N_("%u forward retransmits"), opt_number }, 
+     { "TCPSlowStartRetrans", N_("%u retransmits in slow start"), opt_number },
+     { "TCPTimeouts", N_("%u other TCP timeouts"), opt_number },
+     { "TCPRenoRecoveryFailed", N_("%u reno fast retransmits failed"), opt_number },
+     { "TCPSackRecoveryFail", N_("%u sack retransmits failed"), opt_number },
+     { "TCPSchedulerFailed", N_("%u times receiver scheduled too late for direct processing"), opt_number },
+     { "TCPRcvCollapsed", N_("%u packets collapsed in receive queue due to low socket buffer"), opt_number },
+     { "TCPDSACKOldSent", N_("%u DSACKs sent for old packets"), opt_number },
+     { "TCPDSACKOfoSent", N_("%u DSACKs sent for out of order packets"), opt_number },
+     { "TCPDSACKRecv", N_("%u DSACKs received"), opt_number },
+     { "TCPDSACKOfoRecv", N_("%u DSACKs for out of order packets received"), opt_number },
+     { "TCPAbortOnSyn", N_("%u connections reset due to unexpected SYN"), opt_number },
+     { "TCPAbortOnData", N_("%u connections reset due to unexpected data"), opt_number },
+     { "TCPAbortOnClose", N_("%u connections reset due to early user close"), opt_number },
+     { "TCPAbortOnMemory", N_("%u connections aborted due to memory pressure"), opt_number },
+     { "TCPAbortOnTimeout", N_("%u connections aborted due to timeout"), opt_number },
+     { "TCPAbortOnLinger", N_("%u connections aborted after user close in linger timeout"), opt_number },
+     { "TCPAbortFailed", N_("%u times unabled to send RST due to no memory"), opt_number }, 
+     { "TCPMemoryPressures", N_("TCP ran low on memory %u times"), opt_number }, 
+     { "TCPLoss", N_("%u TCP data loss events") },
 };
 
 struct tabtab {
@@ -222,7 +260,8 @@
 	    ent = bsearch(&key, tab->tab, tab->size / sizeof(struct entry),
 			  sizeof(struct entry), cmpentries);
     if (!ent) {			/* try our best */
-	printf("%*s%s: %d\n", states[state].indent, "", title, val);
+	if (val) 
+		printf("%*s%s: %d\n", states[state].indent, "", title, val);
 	return;
     }
     type = ent->type;