svn commit: r206762 - stable/8/sys/netinet

Rui Paulo rpaulo at FreeBSD.org
Sat Apr 17 17:40:13 UTC 2010


Author: rpaulo
Date: Sat Apr 17 17:40:12 2010
New Revision: 206762
URL: http://svn.freebsd.org/changeset/base/206762

Log:
  MFC r206456:
   Honor the CE bit even when the CWR bit is set.
  
   PR:		145600
   Submitted by:	Richard Scheffenegger <rs at netapp.com>

Modified:
  stable/8/sys/netinet/tcp_input.c
Directory Properties:
  stable/8/sys/   (props changed)
  stable/8/sys/amd64/include/xen/   (props changed)
  stable/8/sys/cddl/contrib/opensolaris/   (props changed)
  stable/8/sys/contrib/dev/acpica/   (props changed)
  stable/8/sys/contrib/pf/   (props changed)
  stable/8/sys/dev/xen/xenpci/   (props changed)

Modified: stable/8/sys/netinet/tcp_input.c
==============================================================================
--- stable/8/sys/netinet/tcp_input.c	Sat Apr 17 17:02:17 2010	(r206761)
+++ stable/8/sys/netinet/tcp_input.c	Sat Apr 17 17:40:12 2010	(r206762)
@@ -1134,6 +1134,8 @@ tcp_do_segment(struct mbuf *m, struct tc
 	 * TCP ECN processing.
 	 */
 	if (tp->t_flags & TF_ECN_PERMIT) {
+		if (thflags & TH_CWR)
+			tp->t_flags &= ~TF_ECN_SND_ECE;
 		switch (iptos & IPTOS_ECN_MASK) {
 		case IPTOS_ECN_CE:
 			tp->t_flags |= TF_ECN_SND_ECE;
@@ -1146,10 +1148,6 @@ tcp_do_segment(struct mbuf *m, struct tc
 			TCPSTAT_INC(tcps_ecn_ect1);
 			break;
 		}
-
-		if (thflags & TH_CWR)
-			tp->t_flags &= ~TF_ECN_SND_ECE;
-
 		/*
 		 * Congestion experienced.
 		 * Ignore if we are already trying to recover.


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