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 */
};
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[email protected]"