From eedc74b804a955de39e013f14c97f2abb4770157 Mon Sep 17 00:00:00 2001 From: Florin Coras Date: Fri, 31 Jul 2020 12:32:40 -0700 Subject: tcp: improve timestamp rtt accuracy - switch to using vlib_time as reference for timestamps - use us precision ticks for tcp but keep using ms precision for timestamps. As a result, srtt, rttvar and rto are now measured in us instead of ms. MRTT samples from timestamps are converted from ms to us (not accurate under ms) while high precision samples are used with us precision, i.e., they're no longer converted to ms precision samples. Type: improvement Change-Id: Ibda559575d9b4fdc85b0985264f7c865ff367e34 Signed-off-by: Florin Coras --- src/vnet/tcp/tcp_cli.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'src/vnet/tcp/tcp_cli.c') diff --git a/src/vnet/tcp/tcp_cli.c b/src/vnet/tcp/tcp_cli.c index b76b40474a6..6030440435d 100644 --- a/src/vnet/tcp/tcp_cli.c +++ b/src/vnet/tcp/tcp_cli.c @@ -205,10 +205,11 @@ format_tcp_vars (u8 * s, va_list * args) tc->rcv_opts.tsecr, tc->tsecr_last_ack, tcp_time_now () - tc->tsval_recent_age); s = format (s, " snd_mss %u\n", tc->snd_mss); - s = format (s, " rto %u rto_boff %u srtt %u us %.3f rttvar %u rtt_ts %.4f", - tc->rto, tc->rto_boff, tc->srtt, tc->mrtt_us * 1000, tc->rttvar, - tc->rtt_ts); - s = format (s, " rtt_seq %u\n", tc->rtt_seq - tc->iss); + s = format (s, " rto %u rto_boff %u srtt %.1f us %.3f rttvar %.1f", + tc->rto / 1000, tc->rto_boff, tc->srtt / 1000.0, + tc->mrtt_us * 1e3, tc->rttvar / 1000.0); + s = format (s, " rtt_ts %.4f rtt_seq %u\n", tc->rtt_ts, + tc->rtt_seq - tc->iss); s = format (s, " next_node %u opaque 0x%x fib_index %u\n", tc->next_node_index, tc->next_node_opaque, tc->c_fib_index); s = format (s, " cong: %U", format_tcp_congestion, tc); -- cgit 1.2.3-korg