manadv_init_obj(3)

manadv_init_obj - Initialize mana direct verbs object from ibv_xxx structures

Section 3 libibverbs-dev bookworm source

Description

manadv_init_obj

NAME

manadv_init_obj - Initialize mana direct verbs object from ibv_xxx structures

SYNOPSIS”

#include <infiniband/manadv.h>

int manadv_init_obj(struct manadv_obj *obj, uint64_t obj_type);

DESCRIPTION

manadv_init_obj() This function will initialize manadv_xxx structs based on supplied type. The information for initialization is taken from ibv_xx structs supplied as part of input.

ARGUMENTS

obj

The manadv_xxx structs be to returned.

struct manadv_qp {
void *sq_buf;
uint32_t sq_count;
uint32_t sq_size;
uint32_t sq_id;
uint32_t tx_vp_offset;
void *db_page;
};

struct manadv_cq {
void *buf;
uint32_t count;
uint32_t cq_id;
};

struct manadv_rwq {
void *buf;
uint32_t count;
uint32_t size;
uint32_t wq_id;
void *db_page;
};

struct manadv_obj {
struct {
struct ibv_qp *in;
struct manadv_qp *out;
} qp;

struct {
struct ibv_cq *in;
struct manadv_cq *out;
} cq;

struct {
struct ibv_wq *in;
struct manadv_rwq *out;
} rwq;
};

obj_type

The types of the manadv_xxx structs to be returned.

enum manadv_obj_type {
MANADV_OBJ_QP = 1 << 0,
MANADV_OBJ_CQ = 1 << 1,
MANADV_OBJ_RWQ = 1 << 2,
};

RETURN VALUE

0 on success or the value of errno on failure (which indicates the failure reason).

AUTHORS

Long Li <longli@microsoft.com>