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 <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.