• Yan, Zheng's avatar
    tcp: properly update lost_cnt_hint during shifting · 1e5289e1
    Yan, Zheng authored
    lost_skb_hint is used by tcp_mark_head_lost() to mark the first unhandled skb.
    lost_cnt_hint is the number of packets or sacked packets before the lost_skb_hint;
    When shifting a skb that is before the lost_skb_hint, if tcp_is_fack() is ture,
    the skb has already been counted in the lost_cnt_hint; if tcp_is_fack() is false,
    tcp_sacktag_one() will increase the lost_cnt_hint. So tcp_shifted_skb() does not
    need to adjust the lost_cnt_hint by itself. When shifting a skb that is equal to
    lost_skb_hint, the shifted packets will not be counted by tcp_mark_head_lost().
    So tcp_shifted_skb() should adjust the lost_cnt_hint even tcp_is_fack(tp) is true.
    Signed-off-by: default avatarZheng Yan <zheng.z.yan@intel.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    1e5289e1
tcp_input.c 168 KB