forked from ofiwg/librdmacm
-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
61 lines (41 loc) · 1.66 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
This README is for userspace RDMA cm library.
Building
========
To make this directory, run:
./autogen.sh && ./configure && make && make install
Typically the autogen and configure steps only need be done the first
time unless configure.in or Makefile.am 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
/dev/infiniband/rdma_cm
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
following:
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
device.
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
resolution:
sysctl net.ipv4.conf.all.accept_local=1
Without this setting, loopback connections may timeout
during address resolution.