1This README is for userspace RDMA cm library. 2 3 4Building 5======== 6To make this directory, run: 7./autogen.sh && ./configure && make && make install 8 9Typically the autogen and configure steps only need be done the first 10time unless configure.in or Makefile.am changes. 11 12Libraries are installed by default at /usr/local/lib. 13 14 15Device files 16============ 17The userspace CMA uses a single device file regardless of the number 18of adapters or ports present. 19 20To create the appropriate character device file automatically with 21udev, a rule like 22 23 KERNEL="rdma_cm", NAME="infiniband/%k", MODE="0666" 24 25can be used. This will create the device node named 26 27 /dev/infiniband/rdma_cm 28 29or you can create it manually 30 31 mknod /dev/infiniband/rdma_cm c 231 255 32 33 34Common issues 35============= 36 37Using multiple interfaces 38 The librdmacm does support multiple interfaces. To make use 39 of multiple interfaces, however, you need to instruct linux 40 to only send ARP reples on the interface targetted in the ARP 41 request. This can be done using a command similar to the 42 following: 43 44 sysctl -w net.ipv4.conf.all.arp_ignore=2 45 46 Without this change, it's possible for linux to resopnd to ARP 47 requests on a different interface (IP address) than the IP 48 address carried in the ARP request. This causes the RDMA stack 49 to incorrectly map the remote IP address to the wrong RDMA 50 device. 51