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:
Florin Coras 2019-12-22 09:20:26 -08:00 committed by Dave Wallace
parent 62c6e93d10
commit c69b18f818

View File

@ -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));
}