Add the tcps_sndrexmitbad statistic, keep track of late acks that caused

unnecessary retransmissions.
This commit is contained in:
dillon 2002-07-19 18:29:38 +00:00
parent 22da19bb06
commit 62fef107e4
4 changed files with 5 additions and 0 deletions

View File

@ -1785,6 +1785,7 @@ process_ACK:
* we left off.
*/
if (tp->t_rxtshift == 1 && ticks < tp->t_badrxtwin) {
++tcpstat.tcps_sndrexmitbad;
tp->snd_cwnd = tp->snd_cwnd_prev;
tp->snd_ssthresh = tp->snd_ssthresh_prev;
tp->snd_nxt = tp->snd_max;

View File

@ -1785,6 +1785,7 @@ process_ACK:
* we left off.
*/
if (tp->t_rxtshift == 1 && ticks < tp->t_badrxtwin) {
++tcpstat.tcps_sndrexmitbad;
tp->snd_cwnd = tp->snd_cwnd_prev;
tp->snd_ssthresh = tp->snd_ssthresh_prev;
tp->snd_nxt = tp->snd_max;

View File

@ -310,6 +310,7 @@ struct tcpstat {
u_long tcps_sndbyte; /* data bytes sent */
u_long tcps_sndrexmitpack; /* data packets retransmitted */
u_long tcps_sndrexmitbyte; /* data bytes retransmitted */
u_long tcps_sndrexmitbad; /* unnecessary packet retransmissions */
u_long tcps_sndacks; /* ack-only packets sent */
u_long tcps_sndprobe; /* window probes sent */
u_long tcps_sndurg; /* packets sent with URG only */

View File

@ -381,6 +381,8 @@ tcp_stats(u_long off __unused, char *name, int af __unused)
"\t\t%lu data packet%s (%lu byte%s)\n");
p2(tcps_sndrexmitpack, tcps_sndrexmitbyte,
"\t\t%lu data packet%s (%lu byte%s) retransmitted\n");
p(tcps_sndrexmitbad,
"\t\t%lu data packet%s unnecessarily retransmitted\n");
p(tcps_mturesent, "\t\t%lu resend%s initiated by MTU discovery\n");
p2a(tcps_sndacks, tcps_delack,
"\t\t%lu ack-only packet%s (%lu delayed)\n");