mirror of
https://git.FreeBSD.org/src.git
synced 2025-01-06 13:09:50 +00:00
Add an option to use rfc6675 based pipe/inflight bytes calculation in newreno.
MFC after: 3 weeks Sponsored by: Limelight Networks
This commit is contained in:
parent
f81bc34eac
commit
a934d06194
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=292012
@ -214,6 +214,9 @@ newreno_cong_signal(struct cc_var *ccv, uint32_t type)
|
||||
static void
|
||||
newreno_post_recovery(struct cc_var *ccv)
|
||||
{
|
||||
int pipe;
|
||||
pipe = 0;
|
||||
|
||||
if (IN_FASTRECOVERY(CCV(ccv, t_flags))) {
|
||||
/*
|
||||
* Fast recovery will conclude after returning from this
|
||||
@ -224,10 +227,13 @@ newreno_post_recovery(struct cc_var *ccv)
|
||||
*
|
||||
* XXXLAS: Find a way to do this without needing curack
|
||||
*/
|
||||
if (SEQ_GT(ccv->curack + CCV(ccv, snd_ssthresh),
|
||||
CCV(ccv, snd_max)))
|
||||
CCV(ccv, snd_cwnd) = CCV(ccv, snd_max) -
|
||||
ccv->curack + CCV(ccv, t_maxseg);
|
||||
if (V_tcp_do_rfc6675_pipe)
|
||||
pipe = tcp_compute_pipe(ccv->ccvc.tcp);
|
||||
else
|
||||
pipe = CCV(ccv, snd_max) - ccv->curack;
|
||||
|
||||
if (pipe < CCV(ccv, snd_ssthresh))
|
||||
CCV(ccv, snd_cwnd) = pipe + CCV(ccv, t_maxseg);
|
||||
else
|
||||
CCV(ccv, snd_cwnd) = CCV(ccv, snd_ssthresh);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user