summaryrefslogtreecommitdiffstats
path: root/sys/netinet/tcp_timer.c
diff options
context:
space:
mode:
authorjlemon <jlemon@FreeBSD.org>2000-05-06 03:31:09 +0000
committerjlemon <jlemon@FreeBSD.org>2000-05-06 03:31:09 +0000
commit8a3c72bb35758d483f05567e3ff8926bee1a8813 (patch)
tree22b719c35e23206090023b078760d76bcd4627e7 /sys/netinet/tcp_timer.c
parent796be5b52651cb1727e79565d25b60e69d1f738a (diff)
downloadFreeBSD-src-8a3c72bb35758d483f05567e3ff8926bee1a8813.zip
FreeBSD-src-8a3c72bb35758d483f05567e3ff8926bee1a8813.tar.gz
Implement TCP NewReno, as documented in RFC 2582. This allows
better recovery for multiple packet losses in a single window. The algorithm can be toggled via the sysctl net.inet.tcp.newreno, which defaults to "on". Submitted by: Jayanth Vijayaraghavan <jayanth@yahoo-inc.com>
Diffstat (limited to 'sys/netinet/tcp_timer.c')
-rw-r--r--sys/netinet/tcp_timer.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/sys/netinet/tcp_timer.c b/sys/netinet/tcp_timer.c
index 4555eac..1cf64fe 100644
--- a/sys/netinet/tcp_timer.c
+++ b/sys/netinet/tcp_timer.c
@@ -416,6 +416,11 @@ tcp_timer_rexmt(xtp)
}
tp->snd_nxt = tp->snd_una;
/*
+ * Note: We overload snd_recover to function also as the
+ * snd_last variable described in RFC 2582
+ */
+ tp->snd_recover = tp->snd_max;
+ /*
* Force a segment to be sent.
*/
tp->t_flags |= TF_ACKNOW;
OpenPOWER on IntegriCloud