Skip to content

Posts under Programming Category

int ibv_destroy_comp_channel(struct ibv_comp_channel *channel);int ibv_destroy_comp_channel(struct ibv_comp_channel *channel); Description ibv_destroy_comp_channel() destroys a Completion event channel. The destruction of a Completion event channel will fail if any CQ is still associated with it. Parameters Name Direction Description channel in Completion event channel...

struct ibv_comp_channel *ibv_create_comp_channel(struct ibv_context *context);struct ibv_comp_channel *ibv_create_comp_channel(struct ibv_context *context); Description ibv_create_comp_channel() creates a Completion event channel for an RDMA device context. This Completion event channel is an abstraction introduced by libibverbs that does not exist in the InfiniBand Architecture verbs...

int ibv_destroy_ah(struct ibv_ah *ah);int ibv_destroy_ah(struct ibv_ah *ah); Description ibv_destroy_ah() destroys an Address Handle. It is up to the user waiting for all outstanding Send Requests, that were posted with this AH, to be completed or flushed before he destroys the...

struct ibv_ah *ibv_create_ah_from_wc(struct ibv_pd *pd, struct ibv_wc *wc, struct ibv_grh *grh, uint8_t port_num);struct ibv_ah *ibv_create_ah_from_wc(struct ibv_pd *pd, struct ibv_wc *wc, struct ibv_grh *grh, uint8_t port_num); Description ibv_create_ah_from_wc() creates an Address Handle (AH) using a Work Completion and a Global Routing...

int ibv_init_ah_from_wc(struct ibv_context *context, uint8_t port_num, struct ibv_wc *wc, struct ibv_grh *grh, struct ibv_ah_attr *ah_attr);int ibv_init_ah_from_wc(struct ibv_context *context, uint8_t port_num, struct ibv_wc *wc, struct ibv_grh *grh, struct ibv_ah_attr *ah_attr); Description ibv_init_ah_from_wc() initializes the Address Handle (AH) attribute structure using A...

struct ibv_ah *ibv_create_ah(struct ibv_pd *pd, struct ibv_ah_attr *attr);struct ibv_ah *ibv_create_ah(struct ibv_pd *pd, struct ibv_ah_attr *attr); Description ibv_create_ah() creates an Address Handle (AH) associated with a Protection Domain. This AH will later be used when a Send Request (SR) will be...

int ibv_dereg_mr(struct ibv_mr *mr);int ibv_dereg_mr(struct ibv_mr *mr); Description ibv_dereg_mr() deregisters a Memory Region and release the resources of that MR in the RDMA device it is associated with. Only after a Memory Region is deregistered, the memory buffer that was...

struct ibv_mr *ibv_reg_mr(struct ibv_pd *pd, void *addr, size_t length, enum ibv_access_flags access);struct ibv_mr *ibv_reg_mr(struct ibv_pd *pd, void *addr, size_t length, enum ibv_access_flags access); Description ibv_reg_mr() registers a Memory Region (MR) associated with a Protection Domain. By doing that, allowing the...

int ibv_dealloc_pd(struct ibv_pd *pd);int ibv_dealloc_pd(struct ibv_pd *pd); Description ibv_dealloc_pd() deallocates a Protection Domain. The destruction of a PD will fail if any other resource is still associated with that PD. In that case the PD, or those resource's state won't...

struct ibv_pd *ibv_alloc_pd(struct ibv_context *context);struct ibv_pd *ibv_alloc_pd(struct ibv_context *context); Description ibv_alloc_pd() allocates a Protection Domain (PD) for an RDMA device context. The created PD will be used for: Create AH, SRQ, QP Register MR Allocate MW Parameters Name Direction Description...