From d899d54c5ff48377345db7072077af7c71b9d104 Mon Sep 17 00:00:00 2001 From: Ryujiro Shibuya Date: Fri, 23 Oct 2020 07:35:53 +0000 Subject: tcp: byte tracker fix Type: fix Signed-off-by: Ryujiro Shibuya Change-Id: If7e22978a6b65f5b68ccb2bd97b5e0fba167b3bf --- src/vnet/tcp/tcp_bt.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/vnet/tcp') diff --git a/src/vnet/tcp/tcp_bt.c b/src/vnet/tcp/tcp_bt.c index de2e7ad7f8e..07f86789945 100644 --- a/src/vnet/tcp/tcp_bt.c +++ b/src/vnet/tcp/tcp_bt.c @@ -306,6 +306,7 @@ tcp_bt_track_tx (tcp_connection_t * tc, u32 len) tail = bt_get_sample (bt, bt->tail); if (tail && tail->max_seq == tc->snd_nxt + && !(tail->flags & TCP_BTS_IS_SACKED) && tail->tx_time == tcp_time_now_us (tc->c_thread_index)) { tail->max_seq += len; @@ -504,7 +505,10 @@ tcp_bt_walk_samples (tcp_connection_t * tc, tcp_rate_sample_t * rs) } if (cur && seq_lt (cur->min_seq, tc->snd_una)) - tcp_bt_sample_to_rate_sample (tc, cur, rs); + { + bt_update_sample (bt, cur, tc->snd_una); + tcp_bt_sample_to_rate_sample (tc, cur, rs); + } } static void -- cgit 1.2.3-korg