mirror of
https://github.com/hermitcore/libhermit.git
synced 2025-03-09 00:00:03 +01:00
75 lines
1.6 KiB
C
75 lines
1.6 KiB
C
struct ibv_mw_bind_info {
|
|
struct ibv_mr *mr;
|
|
uint64_t addr;
|
|
uint64_t length;
|
|
int mw_access_flags; /* use ibv_access_flags */
|
|
};
|
|
|
|
struct ibv_pd {
|
|
struct ibv_context *context;
|
|
uint32_t handle;
|
|
};
|
|
|
|
struct ibv_xrcd {
|
|
struct ibv_context *context;
|
|
};
|
|
|
|
struct ibv_mr {
|
|
struct ibv_context *context;
|
|
struct ibv_pd *pd;
|
|
void *addr;
|
|
size_t length;
|
|
uint32_t handle;
|
|
uint32_t lkey;
|
|
uint32_t rkey;
|
|
};
|
|
|
|
struct ibv_mw {
|
|
struct ibv_context *context;
|
|
struct ibv_pd *pd;
|
|
uint32_t rkey;
|
|
uint32_t handle;
|
|
enum ibv_mw_type type;
|
|
};
|
|
|
|
struct ibv_srq_init_attr {
|
|
void *srq_context;
|
|
struct ibv_srq_attr attr;
|
|
};
|
|
|
|
struct ibv_srq_init_attr_ex {
|
|
void *srq_context;
|
|
struct ibv_srq_attr attr;
|
|
|
|
uint32_t comp_mask;
|
|
enum ibv_srq_type srq_type;
|
|
struct ibv_pd *pd;
|
|
struct ibv_xrcd *xrcd;
|
|
struct ibv_cq *cq;
|
|
};
|
|
|
|
struct ibv_wq_init_attr {
|
|
void *wq_context;
|
|
enum ibv_wq_type wq_type;
|
|
uint32_t max_wr;
|
|
uint32_t max_sge;
|
|
struct ibv_pd *pd;
|
|
struct ibv_cq *cq;
|
|
uint32_t comp_mask; /* Use ibv_wq_init_attr_mask */
|
|
uint32_t create_flags; /* use ibv_wq_flags */
|
|
};
|
|
|
|
/*
|
|
* Receive Work Queue Indirection Table.
|
|
* It's used in order to distribute incoming packets between different
|
|
* Receive Work Queues. Associating Receive WQs with different CPU cores
|
|
* allows to workload the traffic between different CPU cores.
|
|
* The Indirection Table can contain only WQs of type IBV_WQT_RQ.
|
|
*/
|
|
struct ibv_rwq_ind_table {
|
|
struct ibv_context *context;
|
|
int ind_tbl_handle;
|
|
int ind_tbl_num;
|
|
uint32_t comp_mask;
|
|
};
|
|
|