tcp: consolidate tcp_mark_skb_lost and tcp_skb_mark_lost
authorYuchung Cheng <ycheng@google.com>
Fri, 25 Sep 2020 17:04:31 +0000 (10:04 -0700)
committerDavid S. Miller <davem@davemloft.net>
Sat, 26 Sep 2020 00:17:14 +0000 (17:17 -0700)
tcp_skb_mark_lost is used by RFC6675-SACK and can easily be replaced
with the new tcp_mark_skb_lost handler.

Signed-off-by: Yuchung Cheng <ycheng@google.com>
Signed-off-by: Neal Cardwell <ncardwell@google.com>
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/tcp_input.c

index 63417c4..f7b3e37 100644 (file)
@@ -1043,17 +1043,6 @@ void tcp_mark_skb_lost(struct sock *sk, struct sk_buff *skb)
        }
 }
 
-static void tcp_skb_mark_lost(struct tcp_sock *tp, struct sk_buff *skb)
-{
-       if (!(TCP_SKB_CB(skb)->sacked & (TCPCB_LOST|TCPCB_SACKED_ACKED))) {
-               tcp_verify_retransmit_hint(tp, skb);
-
-               tp->lost_out += tcp_skb_pcount(skb);
-               tcp_sum_lost(tp, skb);
-               TCP_SKB_CB(skb)->sacked |= TCPCB_LOST;
-       }
-}
-
 /* Updates the delivered and delivered_ce counts */
 static void tcp_count_delivered(struct tcp_sock *tp, u32 delivered,
                                bool ece_ack)
@@ -2308,7 +2297,8 @@ static void tcp_mark_head_lost(struct sock *sk, int packets, int mark_head)
                if (cnt > packets)
                        break;
 
-               tcp_skb_mark_lost(tp, skb);
+               if (!(TCP_SKB_CB(skb)->sacked & TCPCB_LOST))
+                       tcp_mark_skb_lost(sk, skb);
 
                if (mark_head)
                        break;