linux-rdma/rdma-core
FreeRDMA core userspace libraries and daemons
About linux-rdma/rdma-core
rdma-core is the userspace component of the Linux Kernel's drivers/infiniband subsystem. It provides libraries and daemons for RDMA (Remote Direct Memory Access) operations, including libibverbs (for /dev/infiniband/uverbsX), librdmacm (for /dev/infiniband/rdma_cm), and libibumad (for /dev/infiniband/umadX). The project includes userspace drivers for a wide range of kernel RDMA hardware (e.g., bnxt_re, efa, mlx5_ib, hfi1, iw_cxgb4, etc.) and service daemons such as srp_daemon, iwpmd, and ibacm. It uses a CMake-based build system and supports Linux distributions including Debian, Ubuntu, Fedora, CentOS, and openSUSE. rdma-core enables users to set up software RDMA over existing network interfaces using drivers like rdma_rxe or siw.
Key Features
Pros & Cons
- Open source under multiple permissive licenses (BSD, GPL2, MIT)
- Supports a wide range of RDMA hardware from multiple vendors
- Active community and frequent updates on GitHub
- Comprehensive documentation and build instructions for major Linux distros
- Includes both low-level verbs and higher-level communication management APIs
- Limited to Linux systems; no native Windows or macOS support
- Requires kernel support and appropriate drivers to function
- Configuration and setup can be complex for beginners
- Some features may depend on specific kernel versions or hardware availability