- bm->cpu_cps = (u64) vm->clib_time.clocks_per_second;
- BFD_DBG ("cps is %.2f", bm->cpu_cps);
- bm->default_desired_min_tx_clocks =
- bfd_usec_to_clocks (bm, BFD_DEFAULT_DESIRED_MIN_TX_USEC);
- bm->min_required_min_rx_while_echo_clocks =
- bfd_usec_to_clocks (bm, BFD_REQUIRED_MIN_RX_USEC_WHILE_ECHO);
- const u64 now = clib_cpu_time_now ();
- timing_wheel_init (&bm->wheel, now, bm->cpu_cps);
- bm->wheel_inaccuracy = 2 << bm->wheel.log2_clocks_per_bin;
+ bm->nsec_per_tw_tick = (f64) NSEC_PER_SEC / BFD_TW_TPS;
+ bm->default_desired_min_tx_nsec =
+ bfd_usec_to_nsec (BFD_DEFAULT_DESIRED_MIN_TX_USEC);
+ bm->min_required_min_rx_while_echo_nsec =
+ bfd_usec_to_nsec (BFD_REQUIRED_MIN_RX_USEC_WHILE_ECHO);
+ BFD_DBG ("tw_timer_wheel_init(%p, %p, %.04f, %u)", &bm->wheel, NULL,
+ 1.00 / BFD_TW_TPS, ~0);
+ TW (tw_timer_wheel_init) (&bm->wheel, NULL, 1.00 / BFD_TW_TPS, ~0);