Setting congestion window on loss detection

hiren panchasara hiren at
Wed Oct 7 19:54:52 UTC 2015

Found this issue about a month ago and started a discussion on -net:

I feel this forum is a better place to discuss this further now.

Problem: We set cwnd to 1mss when we detect loss via arrivals of 3 dupacks.
That is wrong as we severely underutilizing network capacity by doing

Next question is, what should we set cwnd to?

RFC6675 (TCP SACK) suggests following on detecting loss:
ssthresh = cwnd = (FlightSize / 2)

RFC5681 (TCP Congestion control) suggest:
ssthresh = max (FlightSize / 2, 2*SMSS)
cwnd = (ssthresh + 3*SMSS)

(Here, FlightSize is bytes in flight.)

OR should we let whatever congestion control (CC) algo in control decide
that value?

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 603 bytes
Desc: not available
URL: <>

More information about the freebsd-transport mailing list