Module Name: src
Committed By: yamt
Date: Thu Apr 14 15:55:46 UTC 2011
Modified Files:
src/sys/netinet: tcp_var.h
Log Message:
comments
To generate a diff of this commit:
cvs rdiff -u -r1.162 -r1.163 src/sys/netinet/tcp_var.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/netinet/tcp_var.h
diff -u src/sys/netinet/tcp_var.h:1.162 src/sys/netinet/tcp_var.h:1.163
--- src/sys/netinet/tcp_var.h:1.162 Wed Sep 16 15:23:05 2009
+++ src/sys/netinet/tcp_var.h Thu Apr 14 15:55:46 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: tcp_var.h,v 1.162 2009/09/16 15:23:05 pooka Exp $ */
+/* $NetBSD: tcp_var.h,v 1.163 2011/04/14 15:55:46 yamt Exp $ */
/*
* Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
@@ -191,6 +191,12 @@
short t_rxtshift; /* log(2) of rexmt exp. backoff */
uint32_t t_rxtcur; /* current retransmit value */
short t_dupacks; /* consecutive dup acks recd */
+ /*
+ * t_partialacks:
+ * <0 not in fast recovery.
+ * ==0 in fast recovery. has not received partial acks
+ * >0 in fast recovery. has received partial acks
+ */
short t_partialacks; /* partials acks during fast rexmit */
u_short t_peermss; /* peer's maximum segment size */
u_short t_ourmss; /* our's maximum segment size */
@@ -233,8 +239,18 @@
tcp_seq snd_wl2; /* window update seg ack number */
tcp_seq iss; /* initial send sequence number */
u_long snd_wnd; /* send window */
- tcp_seq snd_recover; /* for use in fast recovery */
- tcp_seq snd_high; /* NewReno false fast rexmit seq */
+/*
+ * snd_recover
+ * it's basically same as the "recover" variable in RFC 2852 (NewReno).
+ * when entering fast retransmit, it's set to snd_max.
+ * newreno uses this to detect partial ack.
+ * snd_high
+ * it's basically same as the "send_high" variable in RFC 2852 (NewReno).
+ * on each RTO, it's set to snd_max.
+ * newreno uses this to avoid false fast retransmits.
+ */
+ tcp_seq snd_recover;
+ tcp_seq snd_high;
/* receive sequence variables */
u_long rcv_wnd; /* receive window */
tcp_seq rcv_nxt; /* receive next */
@@ -245,10 +261,16 @@
*/
/* receive variables */
tcp_seq rcv_adv; /* advertised window */
-/* retransmit variables */
- tcp_seq snd_max; /* highest sequence number sent;
- * used to recognize retransmits
- */
+
+/*
+ * retransmit variables
+ *
+ * snd_max
+ * the highest sequence number we've ever sent.
+ * used to recognize retransmits.
+ */
+ tcp_seq snd_max;
+
/* congestion control (for slow start, source quench, retransmit after loss) */
u_long snd_cwnd; /* congestion-controlled window */
u_long snd_ssthresh; /* snd_cwnd size threshhold for