To configure RoCE on the adapter for an Ubuntu host, RDMA must be installed and configured on the Ubuntu host. To configure and set up RoCE for Ubuntu 14.04.5/16.04.1 Linux:
When you begin installing the Ubuntu server, verify if the basic packages, modules, and tools are available for Ethernet and RDMA. Log in as ROOT,and install all required packages.
a. Install the basic packages required for Ubuntu:
```bash
apt-get install build-essential cmake gcc \
pkg-config vlan automake autoconf dkms git ninja-build \
libudev-dev libnl-3-dev libnl-route-3-dev valgrind python3-dev cython3 python3-docutils pandoc
b. Install the following RDMA packages required for Ubuntu:
apt-get install –f libibverbs* librdma* libibcm.* libibmad.* libibumad*
```
Or, Install from source code
git clone https://github.com/linux-rdma/rdma-core.git
bash [ -d build ] || mkdir build cd build cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release .. cmake --build . sudo cmake --build . --target install
c.Install RDMA user space tools and libraries required for Ubuntu:
apt-get install -f libtool ibutils ibverbs-utils \
rdmacm-utils infiniband-diags perftest librdmacm-dev \
libibverbs-dev numactl libnuma-dev libnl-3-200 \
libnl-route-3-200 libnl-route-3-dev libnl-utils
If the file /etc/udev/rules.d/40-rdma.rules does not exist, create it with the following content:
cat > /etc/udev/rules.d/40-rdma.rules << "EOF"
KERNEL=="umad*", NAME="infiniband/%k"
KERNEL=="issm*", NAME="infiniband/%k"
KERNEL=="ucm*", NAME="infiniband/%k", MODE="0666"
KERNEL=="uverbs*", NAME="infiniband/%k", MODE="0666"
KERNEL=="ucma", NAME="infiniband/%k", MODE="0666"
KERNEL=="rdma_cm", NAME="infiniband/%k", MODE="0666"
EOF
Edit the /etc/security/limits.conf file to increase the size of memory, which can be locked by a non-root user. Add the following lines, and then log out:
cat >> /etc/security/limits.conf << "EOF"
* soft memlock unlimited
* hard memlock unlimited
root soft memlock unlimited
root hard memlock unlimited
EOF
bash ulimit -l
unlimited
.Reboot the system.
To allow the device to be recognized as an InfiniBand device that can be used by OFED, install the FastLinQ package by issuing the following commands:
bash cd fastlinq-X.X.X.X make clean make install
Install the libqedr libraries to work with RDMA user space applications using one of the following command options:
Option 1:
cd fastlinq-X.X.X.X
make libqedr_install
Option 2:
cd fastlinq-X.X.X.X/libqedr-X.X.X.X/
./configure --prefix=/usr --libdir=${exec_prefix}/lib --sysconfdir=/etc make install
Before loading the QLogic Ethernet and RDMA drivers, uninstall the existing out-of-box or inbox drivers by issuing the following commands:
modprobe –r qede
depmod –a
modprobe -v qedr
Load the RDMA modules by issuing the following commands. You must perform this step whenever you reboot the system.
modprobe rdma_cm
modprobe ib_uverbs
modprobe rdma_ucm
modprobe ib_ucm
modprobe ib_umad
To list RoCE devices, issue the following command:
ibv_devinfo