[TCP]: Another TAGBITS -> SACKED_ACKED|LOST conversion
authorIlpo Järvinen <ilpo.jarvinen@helsinki.fi>
Thu, 1 Nov 2007 07:10:18 +0000 (00:10 -0700)
committerDavid S. Miller <davem@davemloft.net>
Thu, 1 Nov 2007 07:10:18 +0000 (00:10 -0700)
Similar to commit 3eec0047d9bdd, point of this is to avoid
skipping R-bit skbs.

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/tcp_input.c

index 4d72781a49bec81a9a7e3bfa3a0597ecb80dee26..ca9590f4f520a4b08a2913659a1a48b374d341d9 100644 (file)
@@ -2078,7 +2078,7 @@ static void tcp_update_scoreboard(struct sock *sk)
                        if (!tcp_skb_timedout(sk, skb))
                                break;
 
-                       if (!(TCP_SKB_CB(skb)->sacked&TCPCB_TAGBITS)) {
+                       if (!(TCP_SKB_CB(skb)->sacked & (TCPCB_SACKED_ACKED|TCPCB_LOST))) {
                                TCP_SKB_CB(skb)->sacked |= TCPCB_LOST;
                                tp->lost_out += tcp_skb_pcount(skb);
                                tcp_verify_retransmit_hint(tp, skb);