patch-2.4.19 linux-2.4.19/net/ipv4/tcp_input.c
Next file: linux-2.4.19/net/ipv4/tcp_ipv4.c
Previous file: linux-2.4.19/net/ipv4/tcp.c
Back to the patch index
Back to the overall index
- Lines: 42
- Date:
Fri Aug 2 17:39:46 2002
- Orig file:
linux-2.4.18/net/ipv4/tcp_input.c
- Orig date:
Mon Feb 25 11:38:14 2002
diff -urN linux-2.4.18/net/ipv4/tcp_input.c linux-2.4.19/net/ipv4/tcp_input.c
@@ -124,9 +124,6 @@
len = skb->len;
if (len >= tp->ack.rcv_mss) {
tp->ack.rcv_mss = len;
- /* Dubious? Rather, it is final cut. 8) */
- if (tcp_flag_word(skb->h.th)&TCP_REMNANT)
- tp->ack.pending |= TCP_ACK_PUSHED;
} else {
/* Otherwise, we make more careful check taking into account,
* that SACKs block is variable.
@@ -461,13 +458,13 @@
if (after(tp->snd_una, tp->rtt_seq)) {
if (tp->mdev_max < tp->rttvar)
tp->rttvar -= (tp->rttvar-tp->mdev_max)>>2;
- tp->rtt_seq = tp->snd_una;
+ tp->rtt_seq = tp->snd_nxt;
tp->mdev_max = TCP_RTO_MIN;
}
} else {
/* no previous measure. */
tp->srtt = m<<3; /* take the measured time to be rtt */
- tp->mdev = m<<2; /* make sure rto = 3*rtt */
+ tp->mdev = m<<1; /* make sure rto = 3*rtt */
tp->mdev_max = tp->rttvar = max(tp->mdev, TCP_RTO_MIN);
tp->rtt_seq = tp->snd_nxt;
}
@@ -1763,6 +1760,7 @@
acked |= FLAG_DATA_ACKED;
} else {
acked |= FLAG_SYN_ACKED;
+ tp->retrans_stamp = 0;
}
if (sacked) {
@@ -3850,6 +3848,7 @@
switch (sk->state) {
case TCP_CLOSE_WAIT:
case TCP_CLOSING:
+ case TCP_LAST_ACK:
if (!before(TCP_SKB_CB(skb)->seq, tp->rcv_nxt))
break;
case TCP_FIN_WAIT1:
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)