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