RDMA Core Migration

RoCE Time-Stamping

RoCE Time-Stamping allows you to stamp packets when they are sent to the wire or when they are received from the wire. The time stamp is given in raw hardware cycles, but can easily be converted into hardware-referenced nanoseconds-based-time. Additionally, it enables you to query the hardware for the hardware time, thus stamp other application’s event and compare time.

RoCE Time-Stamping Experimental vs. RDMA-Core Verbs and Device Attributes

Experimental

RDMA-Core

Verbs

ibv_exp_query_values


ibv_query_rt_values_ex


IBV_WXP_VALUES_HW_CLOCK_NS

ibv_query_rt_values_ex

IBV_EXP_VALUES_HW_CLOCK

ibv_query_rt_values_ex

IBV_VALUES_MASK_RAW_CLOCK

IBV_EXP_VALUES_CLOCK_INFO

mlx5dv_get_clock_info


Ibv_exp_cqe_ts_to_ns


mlx5dv_ts_to_ns


Ibv_exp_create_cq


ibv_create_cq_ex



IBV_EXP_CQ_TIMESTAMP


IBV_WC_EX_WITH_COMPLETION_TIMESTAM

IBV_EXP_CQ_TIMESTAMP_TO_SYS_TIME

IBV_WC_EX_WITH_COMPLETION_TIMESTAMP_WALLCLOCK

Ibv_exp_poll_cq


ibv_start_poll


  • Timestamp

  • IBV_EXP_WC_WITH_TIMESTAMP

  • ibv_wc_read_completion_ts

  • ibv_wc_read_completion_wallclock_ns

Ibv_exp_query_device


ibv_query_device_ex


timestamp_mask

completion_timestamp_mask

hca_core_clock

hca_core_clock

Device Attributes

IBV_EXP_DEVICE_ATTR_WITH_TIMESTAMP_MASK


Device attributes are not needed in RDMA-Core.

IBV_EXP_DEVICE_ATTR_WITH_HCA_CORE_CLOC

Relevant Man Pages

Example

See example in libibverbs/examples/rc_pingpong.c


Last updated: