From owner-svn-src-all@FreeBSD.ORG Fri Jan 28 21:05:22 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 46F2A106566C; Fri, 28 Jan 2011 21:05:22 +0000 (UTC) (envelope-from rrs@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 3712D8FC1B; Fri, 28 Jan 2011 21:05:22 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id p0SL5MjI000170; Fri, 28 Jan 2011 21:05:22 GMT (envelope-from rrs@svn.freebsd.org) Received: (from rrs@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p0SL5MHZ000167; Fri, 28 Jan 2011 21:05:22 GMT (envelope-from rrs@svn.freebsd.org) Message-Id: <201101282105.p0SL5MHZ000167@svn.freebsd.org> From: Randall Stewart Date: Fri, 28 Jan 2011 21:05:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218039 - head/sys/netinet X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 28 Jan 2011 21:05:22 -0000 Author: rrs Date: Fri Jan 28 21:05:21 2011 New Revision: 218039 URL: http://svn.freebsd.org/changeset/base/218039 Log: Keep track of the real last RTT on each net. This will be used for Data Center congestion control, we won't want to engage it in the ECN code unless we KNOW that the RTT is less than 500us. MFC after: 1 week Modified: head/sys/netinet/sctp_structs.h head/sys/netinet/sctputil.c Modified: head/sys/netinet/sctp_structs.h ============================================================================== --- head/sys/netinet/sctp_structs.h Fri Jan 28 21:03:32 2011 (r218038) +++ head/sys/netinet/sctp_structs.h Fri Jan 28 21:05:21 2011 (r218039) @@ -266,7 +266,7 @@ struct sctp_nets { uint32_t tos_flowlabel; struct timeval start_time; /* time when this net was created */ - + struct timeval last_measured_rtt; uint32_t marked_retrans;/* number or DATA chunks marked for timer * based retransmissions */ uint32_t marked_fastretrans; Modified: head/sys/netinet/sctputil.c ============================================================================== --- head/sys/netinet/sctputil.c Fri Jan 28 21:03:32 2011 (r218038) +++ head/sys/netinet/sctputil.c Fri Jan 28 21:05:21 2011 (r218039) @@ -2500,6 +2500,13 @@ sctp_calculate_rto(struct sctp_tcb *stcb /************************/ /* get the current time */ (void)SCTP_GETTIME_TIMEVAL(&now); + + /* + * Record the real time of the last RTT for use in DC-CC. + */ + net->last_measured_rtt = now; + timevalsub(&net->last_measured_rtt, old); + /* compute the RTT value */ if ((u_long)now.tv_sec > (u_long)old->tv_sec) { calc_time = ((u_long)now.tv_sec - (u_long)old->tv_sec) * 1000;