From babecb41329c68747517b8af576d08d36f42ade3 Mon Sep 17 00:00:00 2001 From: Florin Coras Date: Fri, 9 Oct 2020 12:04:50 -0700 Subject: tcp: fix bt acked_sacked on recovery Type: fix Signed-off-by: Florin Coras Change-Id: I2e2d76661fbb07dd8c6afa3583bb18e01b7a7fb6 (cherry picked from commit 3e2ec42a07ae51aed54e63d05e743a338c666e30) --- src/vnet/tcp/tcp_bt.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/vnet/tcp/tcp_bt.c b/src/vnet/tcp/tcp_bt.c index d67a248b037..e5162515da6 100644 --- a/src/vnet/tcp/tcp_bt.c +++ b/src/vnet/tcp/tcp_bt.c @@ -591,11 +591,12 @@ tcp_bt_sample_delivery_rate (tcp_connection_t * tc, tcp_rate_sample_t * rs) return; delivered = tc->bytes_acked + tc->sack_sb.last_sacked_bytes; + /* Do not count bytes that were previously sacked again */ + delivered -= tc->sack_sb.last_bytes_delivered; if (!delivered || tc->bt->head == TCP_BTS_INVALID_INDEX) return; - /* Do not count bytes that were previously sacked again */ - tc->delivered += delivered - tc->sack_sb.last_bytes_delivered; + tc->delivered += delivered; tc->delivered_time = tcp_time_now_us (tc->c_thread_index); if (tc->app_limited && tc->delivered > tc->app_limited) -- cgit 1.2.3-korg