tcp: accept sack reneging as a cc event
Type: fix Change-Id: Iead1303ca3dec7593eb3ce54f291b82d94c821a4 Signed-off-by: Florin Coras <fcoras@cisco.com> (cherry picked from commit 1de7167e7a12a80cc5996959aeb1fbe4b2853ccb)
This commit is contained in:
parent
62c6e93d10
commit
c69b18f818
@ -1422,6 +1422,10 @@ tcp_cc_handle_event (tcp_connection_t * tc, tcp_rate_sample_t * rs,
|
||||
{
|
||||
u8 has_sack = tcp_opts_sack_permitted (&tc->rcv_opts);
|
||||
|
||||
/* If reneging, wait for timer based retransmits */
|
||||
if (PREDICT_FALSE (tcp_is_lost_fin (tc) || tc->sack_sb.is_reneging))
|
||||
return;
|
||||
|
||||
/*
|
||||
* If not in recovery, figure out if we should enter
|
||||
*/
|
||||
@ -1552,10 +1556,6 @@ tcp_ack_is_cc_event (tcp_connection_t * tc, vlib_buffer_t * b,
|
||||
*is_dack = tc->sack_sb.last_sacked_bytes
|
||||
|| tcp_ack_is_dupack (tc, b, prev_snd_wnd, prev_snd_una);
|
||||
|
||||
/* If reneging, wait for timer based retransmits */
|
||||
if (PREDICT_FALSE (tcp_is_lost_fin (tc) || tc->sack_sb.is_reneging))
|
||||
return 0;
|
||||
|
||||
return (*is_dack || tcp_in_cong_recovery (tc));
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user