• Ilpo Järvinen's avatar
    [TCP] FRTO: Reverse RETRANS bit clearing logic · d1a54c6a
    Ilpo Järvinen authored
    Previously RETRANS bits were cleared on the entry to FRTO. We
    postpone that into tcp_enter_frto_loss, which is really the
    place were the clearing should be done anyway. This allows
    simplification of the logic from a clearing loop to the head skb
    clearing only.
    
    Besides, the other changes made in the previous patches to
    tcp_use_frto made it impossible for the non-SACKed FRTO to be
    entered if other than the head has been rexmitted.
    
    With SACK-enhanced FRTO (and Appendix B), however, there can be
    a number retransmissions in flight when RTO expires (same thing
    could happen before this patchset also with non-SACK FRTO). To
    not introduce any jumpiness into the packet counting during FRTO,
    instead of clearing RETRANS bits from skbs during entry, do it
    later on.
    Signed-off-by: default avatarIlpo Järvinen <ilpo.jarvinen@helsinki.fi>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    d1a54c6a
tcp_input.c 135 KB