Dynamically Connected On-Demand-Paging (DC ODP)
ibv_exp_query_device
dc_odp_caps
mlx5dv_query_device
comp_mask: MLX5DV_CONTEXT_MASK_DC_ODP_CAPS
dc_odp_caps with enum ibv_odp_transport_cap_bits
Enabling ODP for DC is done, as in all other transports, by setting the IBV_ACCESS_ON_DEMAND flag in ibv_reg_mr access parameter.
Example
struct mlx5dv_context attr_out = {};
attr_out.comp_mask |= MLX5DV_CONTEXT_MASK_DC_ODP_CAPS;
mlx5dv_query_device(context, &attr_out);
if
(attr_out.dc_odp_caps & IBV_ODP_SUPPORT_SEND)
printf(“support DC ODP send operation”);