#include <infiniband/verbs.h> struct ibv_context *ibv_import_device(int cmd_fd);
ibv_import_device() returns an ibv_context pointer that is associated with the given cmd_fd.
The cmd_fd is obtained from the ibv_context cmd_fd member, which must be dup’d (eg by dup(), SCM_RIGHTS, etc) before being passed to ibv_import_device().
Once the ibv_context usage has been ended ibv_close_device() should be called. This call may cleanup whatever is needed/opposite of the import including closing the command FD.
ibv_import_device() returns a pointer to the allocated RDMA context, or NULL if the request fails.
Yishai Hadas <email@example.com>