mlx5dv_pp_alloc / mlx5dv_pp_free(3) mlx5dv_pp_alloc / mlx5dv_pp_free(3)

mlx5dv_pp_alloc - Allocates a packet pacing entry

mlx5dv_pp_free - Frees a packet pacing entry

#include <infiniband/mlx5dv.h>
struct mlx5dv_pp *
mlx5dv_pp_alloc(struct ibv_context *context,

size_t pp_context_sz,
const void *pp_context,
uint32_t flags); void mlx5dv_pp_free(struct mlx5dv_pp *dv_pp);

Create / free a packet pacing entry which can be used for some device commands over the DEVX interface.

The DEVX API enables direct access from the user space area to the mlx5 device driver, the packet pacing information is needed for few commands where a packet pacing index is needed.

RDMA device context to work on, need to be opened with DEVX support by using mlx5dv_open_device().
Length of pp_context input buffer.
Packet pacing context according to the device specification.
MLX5DV_PP_ALLOC_FLAGS_DEDICATED_INDEX: allocate a dedicated index.

struct mlx5dv_pp {

uint16_t index; };
The device index to be used.

Upon success mlx5dv_pp_alloc returns a pointer to the created packet pacing object, on error NULL will be returned and errno will be set.

mlx5dv_open_device, mlx5dv_devx_obj_create

Yishai Hadas <>