Changeset View
Changeset View
Standalone View
Standalone View
sys/netinet/cc/cc_newreno.c
Show All 12 Lines | |||||
* snd_nxt == snd_max check is sufficient to | * snd_nxt == snd_max check is sufficient to | ||||
* handle this). | * handle this). | ||||
* | * | ||||
* XXXLAS: Find a way to signal SS after RTO that | * XXXLAS: Find a way to signal SS after RTO that | ||||
* doesn't rely on tcpcb vars. | * doesn't rely on tcpcb vars. | ||||
*/ | */ | ||||
if (CCV(ccv, snd_nxt) == CCV(ccv, snd_max)) | if (CCV(ccv, snd_nxt) == CCV(ccv, snd_max)) | ||||
incr = min(ccv->bytes_this_ack, | incr = min(ccv->bytes_this_ack, | ||||
V_tcp_abc_l_var * CCV(ccv, t_maxseg)); | ccv->nsegs * V_tcp_abc_l_var * | ||||
CCV(ccv, t_maxseg)); | |||||
else | else | ||||
incr = min(ccv->bytes_this_ack, CCV(ccv, t_maxseg)); | incr = min(ccv->bytes_this_ack, CCV(ccv, t_maxseg)); | ||||
} | } | ||||
/* ABC is on by default, so incr equals 0 frequently. */ | /* ABC is on by default, so incr equals 0 frequently. */ | ||||
if (incr > 0) | if (incr > 0) | ||||
CCV(ccv, snd_cwnd) = min(cw + incr, | CCV(ccv, snd_cwnd) = min(cw + incr, | ||||
TCP_MAXWIN << CCV(ccv, snd_scale)); | TCP_MAXWIN << CCV(ccv, snd_scale)); | ||||
} | } | ||||
Show All 12 Lines |