• Yuchung Cheng's avatar
    tcp: simplify tcp_mark_skb_lost · 68698970
    Yuchung Cheng authored
    This patch consolidates and simplifes the loss marking logic used
    by a few loss detections (RACK, RFC6675, NewReno). Previously
    each detection uses a subset of several intertwined subroutines.
    This unncessary complexity has led to bugs (and fixes of bug fixes).
    
    tcp_mark_skb_lost now is the single one routine to mark a packet loss
    when a loss detection caller deems an skb ist lost:
    
       1. rewind tp->retransmit_hint_skb if skb has lower sequence or
          all lost ones have been retransmitted.
    
       2. book-keeping: adjust flags and counts depending on if skb was
          retransmitted or not.
    Signed-off-by: default avatarYuchung Cheng <ycheng@google.com>
    Signed-off-by: default avatarNeal Cardwell <ncardwell@google.com>
    Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    68698970
tcp_input.c 195 KB