mlx5dv_create_mkey / mlx5dv_destroy_mkey

Section: (3)
Updated:
Page Index
 

NAME

mlx5dv_create_mkey - Creates an indirect mkey

mlx5dv_create_mkey - Destroys an indirect mkey  

SYNOPSIS


#include <infiniband/mlx5dv.h>

struct mlx5dv_mkey_init_attr {
    struct ibv_pd   *pd;
    uint32_t    create_flags;
    uint16_t    max_entries;
};

struct mlx5dv_mkey {
    uint32_t    lkey;
    uint32_t    rkey;
};

struct mlx5dv_mkey *
mlx5dv_create_mkey(struct mlx5dv_mkey_init_attr *mkey_init_attr);

int mlx5dv_destroy_mkey(struct mlx5dv_mkey *mkey);

 

DESCRIPTION

Create / destroy an indirect mkey.

Create an indirect mkey to enable application uses its specific device functionality.  

ARGUMENTS

##mkey_init_attr##

pd
ibv protection domain.
create_flags
MLX5DV_MKEY_INIT_ATTR_FLAGS_INDIRECT: Indirect mkey is being created.
max_entries
Requested max number of pointed entries by this indirect mkey. The function will update the mkey_init_attr->max_entries with the actual mkey value that was created; it will be greater than or equal to the value requested.
 

RETURN VALUE

Upon success mlx5dv_create_mkey will return a new struct mlx5dv_mkey on error NULL will be returned and errno will be set.

Upon success destroy 0 is returned or the value of errno on a failure.  

Notes

To let this functionality works a DEVX context should be opened by using mlx5dv_open_device.

The created indirect mkey can`t work with scatter to CQE feature, consider mlx5dv_create_qp() with MLX5DV_QP_CREATE_DISABLE_SCATTER_TO_CQE for small messages.  

SEE ALSO

mlx5dv_open_device(3), mlx5dv_create_qp(3)

#AUTHOR

Yishai Hadas <yishaih@mellanox.com>


 

Index

NAME
SYNOPSIS
DESCRIPTION
ARGUMENTS
RETURN VALUE
Notes
SEE ALSO