Scroll to navigation

manadv_init_obj(3) manadv_init_obj(3)

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

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; };
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>