tcp: avoid head retransmit if scoreboard has no holes
Type: fix Change-Id: I6164ad0d97cd91b60c85302eff691836d12a0a70 Signed-off-by: Florin Coras <fcoras@cisco.com>
This commit is contained in:

committed by
Dave Barach

parent
71e5b47102
commit
8a8b05c526
@ -945,8 +945,6 @@ scoreboard_clear (sack_scoreboard_t * sb)
|
||||
sb->sacked_bytes = 0;
|
||||
sb->last_sacked_bytes = 0;
|
||||
sb->last_bytes_delivered = 0;
|
||||
sb->high_sacked = 0;
|
||||
sb->high_rxt = 0;
|
||||
sb->lost_bytes = 0;
|
||||
sb->last_lost_bytes = 0;
|
||||
sb->cur_rxt_hole = TCP_INVALID_SACK_HOLE_INDEX;
|
||||
|
@ -1932,7 +1932,8 @@ tcp_retransmit_sack (tcp_worker_ctx_t * wrk, tcp_connection_t * tc,
|
||||
sb = &tc->sack_sb;
|
||||
|
||||
/* Check if snd_una is a lost retransmit */
|
||||
if (seq_gt (sb->high_sacked, tc->snd_congestion)
|
||||
if (pool_elts (sb->holes)
|
||||
&& seq_gt (sb->high_sacked, tc->snd_congestion)
|
||||
&& tc->rxt_head != tc->snd_una
|
||||
&& tcp_retransmit_should_retry_head (tc, sb))
|
||||
{
|
||||
|
Reference in New Issue
Block a user