Changeset View
Changeset View
Standalone View
Standalone View
sys/netinet/cc/cc_cubic.c
Show First 20 Lines • Show All 367 Lines • ▼ Show 20 Lines | cubic_post_recovery(struct cc_var *ccv) | ||||
if (IN_FASTRECOVERY(CCV(ccv, t_flags))) { | if (IN_FASTRECOVERY(CCV(ccv, t_flags))) { | ||||
/* | /* | ||||
* If inflight data is less than ssthresh, set cwnd | * If inflight data is less than ssthresh, set cwnd | ||||
* conservatively to avoid a burst of data, as suggested in | * conservatively to avoid a burst of data, as suggested in | ||||
* the NewReno RFC. Otherwise, use the CUBIC method. | * the NewReno RFC. Otherwise, use the CUBIC method. | ||||
* | * | ||||
* XXXLAS: Find a way to do this without needing curack | * XXXLAS: Find a way to do this without needing curack | ||||
*/ | */ | ||||
if (V_tcp_do_rfc6675_pipe) | if (V_tcp_do_newsack) | ||||
pipe = tcp_compute_pipe(ccv->ccvc.tcp); | pipe = tcp_compute_pipe(ccv->ccvc.tcp); | ||||
else | else | ||||
pipe = CCV(ccv, snd_max) - ccv->curack; | pipe = CCV(ccv, snd_max) - ccv->curack; | ||||
if (pipe < CCV(ccv, snd_ssthresh)) | if (pipe < CCV(ccv, snd_ssthresh)) | ||||
/* | /* | ||||
* Ensure that cwnd does not collapse to 1 MSS under | * Ensure that cwnd does not collapse to 1 MSS under | ||||
* adverse conditions. Implements RFC6582 | * adverse conditions. Implements RFC6582 | ||||
▲ Show 20 Lines • Show All 103 Lines • Show Last 20 Lines |