git: fa3746be4203 - main - tcp: fix two bugs in new reno

Michael Tuexen tuexen at FreeBSD.org
Fri Jun 11 13:40:42 UTC 2021


The branch main has been updated by tuexen:

URL: https://cgit.FreeBSD.org/src/commit/?id=fa3746be4203fc9a3414afb21d964eec8bad74f8

commit fa3746be4203fc9a3414afb21d964eec8bad74f8
Author:     Michael Tuexen <tuexen at FreeBSD.org>
AuthorDate: 2021-06-11 13:37:39 +0000
Commit:     Michael Tuexen <tuexen at FreeBSD.org>
CommitDate: 2021-06-11 13:40:34 +0000

    tcp: fix two bugs in new reno
    
    * Completely initialise the CC module specific data
    * Use beta_ecn in case of an ECN event whenever ABE is enabled
      or it is requested by the stack.
    
    Reviewed by:            rscheff, rrs
    MFC after:              3 days
    Sponsored by:           Netflix, Inc.
---
 sys/netinet/cc/cc_newreno.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/sys/netinet/cc/cc_newreno.c b/sys/netinet/cc/cc_newreno.c
index 8f8ca953169e..8f939ad70695 100644
--- a/sys/netinet/cc/cc_newreno.c
+++ b/sys/netinet/cc/cc_newreno.c
@@ -111,6 +111,7 @@ newreno_malloc(struct cc_var *ccv)
 		/* NB: nreno is not zeroed, so initialise all fields. */
 		nreno->beta = V_newreno_beta;
 		nreno->beta_ecn = V_newreno_beta_ecn;
+		nreno->newreno_flags = 0;
 		ccv->cc_data = nreno;
 	}
 
@@ -254,8 +255,9 @@ newreno_cong_signal(struct cc_var *ccv, uint32_t type)
 	 * has set a flag in our newreno_flags (due to pacing) telling
 	 * us to use the lower valued back-off.
 	 */
-	if (V_cc_do_abe ||
-	    (nreno && (nreno->newreno_flags & CC_NEWRENO_BETA_ECN) && (type == CC_ECN)))
+	if ((type == CC_ECN) &&
+	    (V_cc_do_abe ||
+	    ((nreno != NULL) && (nreno->newreno_flags & CC_NEWRENO_BETA_ECN))))
 		factor = beta_ecn;
 	else
 		factor = beta;


More information about the dev-commits-src-all mailing list