From: Florin Coras Date: Fri, 23 Aug 2019 17:28:01 +0000 (-0700) Subject: tcp: fix byte tracker samples flush X-Git-Tag: v20.05-rc0~940 X-Git-Url: https://gerrit.fd.io/r/gitweb?a=commitdiff_plain;h=92f190a802b6999ce68696032e556aa75171e1cc;p=vpp.git tcp: fix byte tracker samples flush Type: fix Change-Id: I3b4cb8fc17387693d6ad6cdef004ca99cd56bc23 Signed-off-by: Florin Coras --- diff --git a/src/plugins/unittest/tcp_test.c b/src/plugins/unittest/tcp_test.c index 940ffcf94c4..7aa24562d7e 100644 --- a/src/plugins/unittest/tcp_test.c +++ b/src/plugins/unittest/tcp_test.c @@ -1093,6 +1093,19 @@ tcp_test_delivery (vlib_main_t * vm, unformat_input_t * input) TCP_TEST (rs->flags & TCP_BTS_IS_APP_LIMITED, "is app limited"); TCP_TEST (tc->app_limited == 0, "app limited should be cleared"); + /* + * 9) test flush + */ + + tcp_bt_track_tx (tc); + tc->snd_nxt += burst; + + session_main.wrk[thread_index].last_vlib_time = 12; + tcp_bt_track_tx (tc); + tc->snd_nxt += burst; + + tcp_bt_flush_samples (tc); + /* * Cleanup */ diff --git a/src/vnet/tcp/tcp_bt.c b/src/vnet/tcp/tcp_bt.c index dd3d9539d9a..fe007543cd0 100644 --- a/src/vnet/tcp/tcp_bt.c +++ b/src/vnet/tcp/tcp_bt.c @@ -544,6 +544,7 @@ tcp_bt_flush_samples (tcp_connection_t * tc) u32 *samples = 0, *si; vec_validate (samples, pool_elts (bt->samples) - 1); + vec_reset_length (samples); /* *INDENT-OFF* */ pool_foreach (bts, bt->samples, ({