svn commit: r365591 - in stable/12/sys/netinet: . tcp_stacks

Michael Tuexen tuexen at FreeBSD.org
Thu Sep 10 17:12:42 UTC 2020


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;


More information about the svn-src-stable-12 mailing list