svn commit: r216753 - head/sys/netinet

Lawrence Stewart lstewart at FreeBSD.org
Tue Dec 28 03:27:20 UTC 2010


Author: lstewart
Date: Tue Dec 28 03:27:20 2010
New Revision: 216753
URL: http://svn.freebsd.org/changeset/base/216753

Log:
  Add a new sack hint to track the most recent and highest sacked sequence number.
  This will be used by the incoming Enhanced RTT Khelp module.
  
  Sponsored by:	FreeBSD Foundation
  Submitted by:	David Hayes <dahayes at swin edu au>
  Reviewed by:	bz and others (as part of a larger patch)
  MFC after:	3 months

Modified:
  head/sys/netinet/tcp_sack.c
  head/sys/netinet/tcp_var.h

Modified: head/sys/netinet/tcp_sack.c
==============================================================================
--- head/sys/netinet/tcp_sack.c	Tue Dec 28 02:45:24 2010	(r216752)
+++ head/sys/netinet/tcp_sack.c	Tue Dec 28 03:27:20 2010	(r216753)
@@ -425,6 +425,7 @@ tcp_sack_doack(struct tcpcb *tp, struct 
 	 * are received.
 	 */
 	sblkp = &sack_blocks[num_sack_blks - 1];	/* Last SACK block */
+	tp->sackhint.last_sack_ack = sblkp->end;
 	if (SEQ_LT(tp->snd_fack, sblkp->start)) {
 		/*
 		 * The highest SACK block is beyond fack.  Append new SACK

Modified: head/sys/netinet/tcp_var.h
==============================================================================
--- head/sys/netinet/tcp_var.h	Tue Dec 28 02:45:24 2010	(r216752)
+++ head/sys/netinet/tcp_var.h	Tue Dec 28 03:27:20 2010	(r216753)
@@ -70,6 +70,7 @@ struct sackhole {
 struct sackhint {
 	struct sackhole	*nexthole;
 	int		sack_bytes_rexmit;
+	tcp_seq		last_sack_ack;	/* Most recent/largest sacked ack */
 
 	int		ispare;		/* explicit pad for 64bit alignment */
 	uint64_t	_pad[2];	/* 1 sacked_bytes, 1 TBD */


More information about the svn-src-head mailing list