X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Ftcp%2Ftcp_bt.c;h=3cb57a550deb8d9e38d4cbb5a916e0212bd74e2d;hb=e8ea6be8dfb626b5bb4ff3355ce8037724ce1d83;hp=de2e7ad7f8eafd2d45d301522c1462395ec77d0f;hpb=3e2ec42a07ae51aed54e63d05e743a338c666e30;p=vpp.git diff --git a/src/vnet/tcp/tcp_bt.c b/src/vnet/tcp/tcp_bt.c index de2e7ad7f8e..3cb57a550de 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 @@ -634,11 +638,9 @@ tcp_bt_flush_samples (tcp_connection_t * tc) vec_validate (samples, pool_elts (bt->samples) - 1); vec_reset_length (samples); - /* *INDENT-OFF* */ - pool_foreach (bts, bt->samples, ({ + pool_foreach (bts, bt->samples) { vec_add1 (samples, bts - bt->samples); - })); - /* *INDENT-ON* */ + } vec_foreach (si, samples) {