tcp: fix bogus time update due to missing cast 51/27051/5
authorFlorin Coras <fcoras@cisco.com>
Thu, 14 May 2020 00:30:18 +0000 (00:30 +0000)
committerDamjan Marion <dmarion@me.com>
Thu, 14 May 2020 18:09:05 +0000 (18:09 +0000)
Type: fix

Seems clang needs explicit casting to u64 of u64 and f64 multiplication
before truncating to u32

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ib0d7a33d4c5e68577e401e854fc3e55e0723da93

src/vnet/tcp/tcp_inlines.h

index cb18860..c4b155a 100644 (file)
@@ -218,7 +218,8 @@ tcp_time_now_us (u32 thread_index)
 always_inline u32
 tcp_set_time_now (tcp_worker_ctx_t * wrk)
 {
-  wrk->time_now = clib_cpu_time_now () * tcp_main.tstamp_ticks_per_clock;
+  tcp_main_t *tm = &tcp_main;
+  wrk->time_now = (u64) (clib_cpu_time_now () * tm->tstamp_ticks_per_clock);
   return wrk->time_now;
 }