TCP ssthresh in Linux/RFC
From: Yuchung Cheng <hidden>
Date: 2010-07-22 17:57:02
From: Yuchung Cheng <hidden>
Date: 2010-07-22 17:57:02
The Linux set ssthresh upon entering recovery stage (tcp_fastretrans_alert()) to 1) max(snd_cwnd/2, 2) in tcp_cong.c 2) max((tp->snd_cwnd * beta) / BICTCP_BETA_SCALE, 2U) in tcp_cubic.c but RFC 5681 says ssthresh = max (FlightSize / 2, 2*SMSS). It also specifically mentions " Implementation Note: An easy mistake to make is to simply use cwnd, rather than FlightSize, which in some implementations may incidentally increase well beyond rwnd." I can think of a few pros and cons of both design, but would like to hear Linux developers opinions first. Yuchung