From: Florin Coras Date: Fri, 20 Mar 2020 20:25:37 +0000 (+0000) Subject: tcp: avoid spurious retransmit attempt X-Git-Tag: v20.09-rc0~380 X-Git-Url: https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commitdiff_plain;h=34177e87639c62160318fd3957d0575f0a28e526 tcp: avoid spurious retransmit attempt Type: improvement Signed-off-by: Florin Coras Change-Id: I6ce6fb0fe0ceb8a70b6a13e6a72fdb842bfded7a --- diff --git a/src/vnet/tcp/tcp_input.c b/src/vnet/tcp/tcp_input.c index 0757741fa8f..bc11461b521 100755 --- a/src/vnet/tcp/tcp_input.c +++ b/src/vnet/tcp/tcp_input.c @@ -1550,8 +1550,6 @@ tcp_cc_handle_event (tcp_connection_t * tc, tcp_rate_sample_t * rs, tc->rxt_delivered += tc->sack_sb.rxt_sacked; tc->prr_delivered += tc->bytes_acked + tc->sack_sb.last_sacked_bytes - tc->sack_sb.last_bytes_delivered; - - tcp_program_retransmit (tc); } else { @@ -1573,8 +1571,6 @@ tcp_cc_handle_event (tcp_connection_t * tc, tcp_rate_sample_t * rs, /* If partial ack, assume that the first un-acked segment was lost */ if (tc->bytes_acked || tc->rcv_dupacks == TCP_DUPACK_THRESHOLD) tcp_fastrecovery_first_on (tc); - - tcp_program_retransmit (tc); } /* @@ -1594,6 +1590,8 @@ tcp_cc_handle_event (tcp_connection_t * tc, tcp_rate_sample_t * rs, return; } + tcp_program_retransmit (tc); + /* * Notify cc of the event */