No description, website, or topics provided.
Clone or download
shefty Merge pull request #3 from shefty/master
minor fixes to test apps
Latest commit 37ae092 Sep 13, 2016
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs rsocket: Add datagram support Dec 3, 2012
examples [librdmacm] fix udpong segfault on rconnect error Jun 23, 2016
include rdmacm: Add support for XRC QPs Jul 2, 2014
man librdmacm: Update rdma_accept man page May 27, 2014
src Add parens to sizeof operator to clarify usage Aug 31, 2015
.gitignore Add .gitignore rules Jul 17, 2013
INSTALL [librdmacm] Add missing riostream man page to man_MANS Nov 7, 2013
README librdmacm: Document to set accept_local sysctl for loopback Mar 10, 2011 release v1.1 Mar 18, 2016 release v1.1 Mar 18, 2016


This README is for userspace RDMA cm library.

To make this directory, run:
./ && ./configure && make && make install

Typically the autogen and configure steps only need be done the first
time unless or changes.

Libraries are installed by default at /usr/local/lib.

Device files
The userspace CMA uses a single device file regardless of the number
of adapters or ports present.

To create the appropriate character device file automatically with
udev, a rule like

    KERNEL="rdma_cm", NAME="infiniband/%k", MODE="0666"

can be used.  This will create the device node named


or you can create it manually

  mknod /dev/infiniband/rdma_cm c 231 255

Common issues

Using multiple interfaces
	The librdmacm does support multiple interfaces.  To make use
	of multiple interfaces, however, you need to instruct linux
	to only send ARP reples on the interface targetted in the ARP
	request.  This can be done using a command similar to the

	sysctl -w net.ipv4.conf.all.arp_ignore=2

	Without this change, it's possible for linux to resopnd to ARP
	requests on a different interface (IP address) than the IP
	address carried in the ARP request.  This causes the RDMA stack
	to incorrectly map the remote IP address to the wrong RDMA

Using loopback
	The librdmacm relies on ARP to resolve IP address to RDMA
	addresses.  To support loopback connections between different
	ports on the same system, ARP must be enabled for local

	sysctl net.ipv4.conf.all.accept_local=1

	Without this setting, loopback connections may timeout
	during address resolution.