aboutsummaryrefslogtreecommitdiff
path: root/sys/netinet/tcp_output.c
diff options
context:
space:
mode:
authorAndre Oppermann <andre@FreeBSD.org>2007-05-06 15:56:31 +0000
committerAndre Oppermann <andre@FreeBSD.org>2007-05-06 15:56:31 +0000
commit3529149e9a40ce02ac17918077ad9e975070ce57 (patch)
tree1a17978c8b135df93be816a3eeb0a959a925db50 /sys/netinet/tcp_output.c
parent0ca3f933ebc620672a50ff9d185831a111760b5d (diff)
downloadsrc-3529149e9a40ce02ac17918077ad9e975070ce57.tar.gz
src-3529149e9a40ce02ac17918077ad9e975070ce57.zip
Use existing TF_SACK_PERMIT flag in struct tcpcb t_flags field instead of
a decdicated sack_enable int for this bool. Change all users accordingly.
Notes
Notes: svn path=/head/; revision=169317
Diffstat (limited to 'sys/netinet/tcp_output.c')
-rw-r--r--sys/netinet/tcp_output.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/sys/netinet/tcp_output.c b/sys/netinet/tcp_output.c
index 9916f2850e4b..390009ddcead 100644
--- a/sys/netinet/tcp_output.c
+++ b/sys/netinet/tcp_output.c
@@ -197,7 +197,8 @@ again:
* snd_nxt. There may be SACK information that allows us to avoid
* resending already delivered data. Adjust snd_nxt accordingly.
*/
- if (tp->sack_enable && SEQ_LT(tp->snd_nxt, tp->snd_max))
+ if ((tp->t_flags & TF_SACK_PERMIT) &&
+ SEQ_LT(tp->snd_nxt, tp->snd_max))
tcp_sack_adjust(tp);
sendalot = 0;
off = tp->snd_nxt - tp->snd_una;
@@ -219,7 +220,7 @@ again:
sack_bytes_rxmt = 0;
len = 0;
p = NULL;
- if (tp->sack_enable && IN_FASTRECOVERY(tp) &&
+ if ((tp->t_flags & TF_SACK_PERMIT) && IN_FASTRECOVERY(tp) &&
(p = tcp_sack_output(tp, &sack_bytes_rxmt))) {
long cwin;
@@ -566,7 +567,8 @@ after_sack_rexmit:
* after the retransmission timer has been turned off. Make sure
* that the retransmission timer is set.
*/
- if (tp->sack_enable && SEQ_GT(tp->snd_max, tp->snd_una) &&
+ if ((tp->t_flags & TF_SACK_PERMIT) &&
+ SEQ_GT(tp->snd_max, tp->snd_una) &&
!tcp_timer_active(tp, TT_REXMT) &&
!tcp_timer_active(tp, TT_PERSIST)) {
tcp_timer_activate(tp, TT_REXMT, tp->t_rxtcur);
@@ -656,7 +658,7 @@ send:
tp->rfbuf_ts = ticks;
}
/* Selective ACK's. */
- if (tp->sack_enable) {
+ if (tp->t_flags & TF_SACK_PERMIT) {
if (flags & TH_SYN)
to.to_flags |= TOF_SACKPERM;
else if (TCPS_HAVEESTABLISHED(tp->t_state) &&