Page MenuHomeFreeBSD

D22438.id77512.diff
No OneTemporary

D22438.id77512.diff

Index: head/sys/netinet/cc/cc_newreno.c
===================================================================
--- head/sys/netinet/cc/cc_newreno.c
+++ head/sys/netinet/cc/cc_newreno.c
@@ -213,8 +213,15 @@
* wirespeed, overloading router and switch buffers along the way.
*
* See RFC5681 Section 4.1. "Restarting Idle Connections".
+ *
+ * In addition, per RFC2861 Section 2, the ssthresh is set to the
+ * maximum of the former ssthresh or 3/4 of the old cwnd, to
+ * not exit slow-start prematurely.
*/
rw = tcp_compute_initwnd(tcp_maxseg(ccv->ccvc.tcp));
+
+ CCV(ccv, snd_ssthresh) = max(CCV(ccv, snd_ssthresh),
+ CCV(ccv, snd_cwnd)-(CCV(ccv, snd_cwnd)>>2));
CCV(ccv, snd_cwnd) = min(rw, CCV(ccv, snd_cwnd));
}

File Metadata

Mime Type
text/plain
Expires
Tue, Aug 4, 2:00 AM (32 m, 16 s)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
35925332
Default Alt Text
D22438.id77512.diff (738 B)

Event Timeline