| SCSI RDMA Protocol (SRP) Target driver for Linux |
| ================================================= |
| |
| Introduction |
| ------------ |
| |
| The SRP target driver has been designed to work on top of the Linux |
| InfiniBand kernel drivers. While all recent Linux distributions |
| include recent versions of the InfiniBand drivers, the only way to |
| obtain the latest available InfiniBand drivers is by installing the |
| OFED software stack. |
| |
| The OFED stack is distributed by the OpenFabrics Alliance (OFA). The |
| mission of the OpenFabrics Alliance is to is to develop, distribute |
| and promote a unified, transport-independent, open-source software |
| stack for RDMA-capable fabrics and networks, including InfiniBand and |
| Ethernet. |
| |
| Note: because during OFED installation the distro-provided InfiniBand |
| kernel drivers are replaced, doing so voids the support contract |
| offered by your Linux distributor. |
| |
| Please follow the instructions below carefully. Skipping a step may |
| result in kernel modules that fail to load, a kernel oops or even a |
| system that does no longer boot. |
| |
| |
| Verifying the kernel version |
| ---------------------------- |
| |
| Before installing the OFED distribution, it is very important to check |
| the OFED release notes. Each OFED distribution has been tested |
| carefully, but only against the kernel versions specified in |
| docs/OFED_release_notes.txt (you can find this document in the OFED |
| distribution). Make sure that you are using a supported kernel / OFED |
| combination. As an example, if you want to use OFED 1.5.1 on an Ubuntu |
| system, you will have to start with replacing the Ubuntu kernel by a |
| kernel from kernel.org since OFED 1.5.1 has not been tested on any |
| Ubuntu kernel. |
| |
| |
| Compiling SRP against OFED |
| -------------------------- |
| |
| Make sure that all necessary packages needed for kernel compilation |
| have been installed (kernel headers, gcc, binutils, ...). |
| |
| Unload any loaded InfiniBand drivers: |
| |
| /etc/init.d/opensmd stop |
| /etc/init.d/openibd stop |
| |
| Remove any distro-provided InfiniBand drivers: |
| |
| rm -rf /lib/modules/$(uname -r)/kernel/drivers/infiniband |
| rm -rf /lib/modules/$(uname -r)/kernel/drivers/net/mlx4 |
| |
| Next, download and install the OFED package. Make sure to disable |
| OFED's SRP target driver (srpt=n) and to enable at least the |
| kernel-ib, kernel-ib-devel and SRP tools packages. An example: |
| |
| wget http://www.openfabrics.org/downloads/OFED/ofed-1.5.1/OFED-1.5.1.tgz |
| tar xzf OFED-1.5.1.tgz |
| cd OFED-1.5.1 |
| cat <<EOF >ofed.conf |
| libibverbs=y |
| libibverbs-utils=y |
| libmthca=y |
| libmlx4=y |
| libcxgb3=y |
| libnes=y |
| libipathverbs=y |
| librdmacm=y |
| librdmacm-utils=y |
| mstflint=y |
| ofed-docs=y |
| ofed-scripts=y |
| kernel-ib=y |
| kernel-ib-devel=y |
| ibvexdmtools=y |
| qlgc_vnic_daemon=y |
| core=y |
| mthca=y |
| mlx4=y |
| mlx4_en=y |
| cxgb3=y |
| nes=y |
| ipath=y |
| ipoib=y |
| opensm=y |
| opensm-libs=y |
| srpt=n |
| srptools=y |
| perftest=y |
| EOF |
| ./install.pl -c ofed.conf |
| |
| Now continue with the installation instructions you can find in the |
| SCST-SRPT README file. The Makefile included with SCST-SRPT detects |
| whether OFED has been installed, and if so, compiles SCST-SRPT with |
| the OFED kernel headers instead of with the regular kernel headers. |