Skip to content

Posts by Dotan Barak

void ibv_free_device_list(struct ibv_device **list);void ibv_free_device_list(struct ibv_device **list); Description ibv_free_device_list() frees the RDMA devices array list. Once the array is freed, pointers to devices that were not opened with ibv_open_device() are no longer valid. Client code must open all devices, it...

struct ibv_device** ibv_get_device_list(int *num_devices);struct ibv_device** ibv_get_device_list(int *num_devices); Prerequisite ibv_fork_init() should be called before calling any other function in libibverbs. Description ibv_get_device_list() returns a NULL-terminated array of RDMA devices currently available. The array should be released with ibv_free_device_list(). The array entries...

int ibv_fork_init(void);int ibv_fork_init(void); Prerequisite ibv_fork_init() should be called before calling any other function in libibverbs. Description ibv_fork_init() initializes libibverbs's data structures to handle the fork() function calls correctly and avoid data corruption, whether fork() is called explicitly or implicitly (such...

General libibverbs is an implementation of the RDMA verbs for both Infiniband (according to the Infiniband specifications) and iWarp (iWARP verbs specifications). It handles the control path of creating, modifying, querying and destroying resources such as Protection Domains (PD), Completion...

In the last post we discuss the various QP states. In this post I will try to explain why those states are needed and how to use the QP in each state. Reset state A QP can get to the...

Since a QP is one of the important objects in of RDMA, I will handle it in the next few posts. QP State transitions In a QP lifetime, the possible states can be: Reset Initialize (Init) Ready To Receive (RTR)...

The OpenFabrics Enterprise Distribution (OFED) is a package for Linux that includes all of the needed software (libraries, utilities and drivers) in order to work with RDMA enabled protocols (InfiniBand and iWARP). OFED content This package includes many components to...

Hi all. This is the first post in the blog RDMAmojo. This blog will provide information on the RDMA (Remote Direct Memory Access) technology. In the blog, I will cover many areas including: Installation Programming Error diagnostics Tips However, in...