Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 10 Sep 2020 17:12:42 +0000 (UTC)
From:      Michael Tuexen <tuexen@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org
Subject:   svn commit: r365591 - in stable/12/sys/netinet: . tcp_stacks
Message-ID:  <202009101712.08AHCgso017306@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: tuexen
Date: Thu Sep 10 17:12:42 2020
New Revision: 365591
URL: https://svnweb.freebsd.org/changeset/base/365591

Log:
  MFC r364754:
  
  RFC 3465 defines a limit L used in TCP slow start for limiting the number
  of acked bytes as described in Section 2.2 of that document.
  This patch ensures that this limit is not also applied in congestion
  avoidance. Applying this limit also in congestion avoidance can result in
  using less bandwidth than allowed.

Modified:
  stable/12/sys/netinet/tcp_input.c
  stable/12/sys/netinet/tcp_stacks/rack.c
Directory Properties:
  stable/12/   (props changed)

Modified: stable/12/sys/netinet/tcp_input.c
==============================================================================
--- stable/12/sys/netinet/tcp_input.c	Thu Sep 10 17:03:36 2020	(r365590)
+++ stable/12/sys/netinet/tcp_input.c	Thu Sep 10 17:12:42 2020	(r365591)
@@ -309,8 +309,7 @@ cc_ack_received(struct tcpcb *tp, struct tcphdr *th, u
 
 	if (type == CC_ACK) {
 		if (tp->snd_cwnd > tp->snd_ssthresh) {
-			tp->t_bytes_acked += min(tp->ccv->bytes_this_ack,
-			     nsegs * V_tcp_abc_l_var * tcp_maxseg(tp));
+			tp->t_bytes_acked += tp->ccv->bytes_this_ack;
 			if (tp->t_bytes_acked >= tp->snd_cwnd) {
 				tp->t_bytes_acked -= tp->snd_cwnd;
 				tp->ccv->flags |= CCF_ABC_SENTAWND;

Modified: stable/12/sys/netinet/tcp_stacks/rack.c
==============================================================================
--- stable/12/sys/netinet/tcp_stacks/rack.c	Thu Sep 10 17:03:36 2020	(r365590)
+++ stable/12/sys/netinet/tcp_stacks/rack.c	Thu Sep 10 17:12:42 2020	(r365591)
@@ -1322,8 +1322,7 @@ rack_ack_received(struct tcpcb *tp, struct tcp_rack *r
 		}
 #endif
 		if (tp->snd_cwnd > tp->snd_ssthresh) {
-			tp->t_bytes_acked += min(tp->ccv->bytes_this_ack,
-			    nsegs * V_tcp_abc_l_var * tp->t_maxseg);
+			tp->t_bytes_acked += tp->ccv->bytes_this_ack;
 			if (tp->t_bytes_acked >= tp->snd_cwnd) {
 				tp->t_bytes_acked -= tp->snd_cwnd;
 				tp->ccv->flags |= CCF_ABC_SENTAWND;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202009101712.08AHCgso017306>