svn commit: r222407 - stable/8/sys/netinet
Lawrence Stewart
lstewart at FreeBSD.org
Sat May 28 07:23:27 UTC 2011
Author: lstewart
Date: Sat May 28 07:23:26 2011
New Revision: 222407
URL: http://svn.freebsd.org/changeset/base/222407
Log:
MFC r216753,217221:
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)
Modified:
stable/8/sys/netinet/tcp_input.c
stable/8/sys/netinet/tcp_sack.c
stable/8/sys/netinet/tcp_var.h
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)
Modified: stable/8/sys/netinet/tcp_input.c
==============================================================================
--- stable/8/sys/netinet/tcp_input.c Sat May 28 06:56:09 2011 (r222406)
+++ stable/8/sys/netinet/tcp_input.c Sat May 28 07:23:26 2011 (r222407)
@@ -1365,6 +1365,7 @@ tcp_do_segment(struct mbuf *m, struct tc
short ostate = 0;
#endif
thflags = th->th_flags;
+ tp->sackhint.last_sack_ack = 0;
/*
* If this is either a state-changing packet or current state isn't
Modified: stable/8/sys/netinet/tcp_sack.c
==============================================================================
--- stable/8/sys/netinet/tcp_sack.c Sat May 28 06:56:09 2011 (r222406)
+++ stable/8/sys/netinet/tcp_sack.c Sat May 28 07:23:26 2011 (r222407)
@@ -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: stable/8/sys/netinet/tcp_var.h
==============================================================================
--- stable/8/sys/netinet/tcp_var.h Sat May 28 06:56:09 2011 (r222406)
+++ stable/8/sys/netinet/tcp_var.h Sat May 28 07:23:26 2011 (r222407)
@@ -70,8 +70,8 @@ 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-all
mailing list