The Early Reference Code is a version of code developed prior to completion of the InfiniBand™ Architecture 1.0a specification. As such, it does not support all of the optional features and may not be compliant in some areas. The reference code has some deficiencies that make it not well suited for a general Linux solution. These include:
The code does not support many of the optional InfiniBand features.
The code does not follow Linux coding style.
Vendor plug-ins for user-mode access are not flexible.
The LAN emulation protocol does not follow the emerging IPoIB specification as it was developed prior to the inception of the IPoIB working group.
The code does not include other emerging standards, such as SDP or uDAPL, since it was developed prior to the inception of these standards.
The intent is to address these deficiencies following an open source model that encourages participation from all interested parties. Refer to the other sub-projects within the InfiniBand project for details, e.g., Access Layer, HCA DDK, IPoIB, SRP, SDP, etc.
The reference code is however a complete proof of concept. It provides reference code that runs on the Intel® Profile A HCA hardware. It is provided primarily as an example reference implementation for use by developers of InfiniBand open source projects, IHVs developing target hardware, or ISVs wanting to gain some experience with or do early development on InfiniBand software. The Early Reference Code includes Linux drivers for storage, networking, and IPC, plus a InfiniBand transport ( infrastructure) drivers that provide access to the HCAs. The HCA hardware can be obtained from Intel as part of the Intel® InfiniBand™ Device Architecture Test Development Kit (PDK). The PDK also contains a subnet manager which is needed to configure the hardware and initialize the subnet. See the FAQ for more details regarding the subnet manager.
This early reference source code project provides reference source code for the following components:
82808BA Driver – The Intel® 82808BA HCA device driver.
InfiniBand Transport (IBT) Driver - First generation InfiniBand access transport, containing a Transport Services Library, Connection Manager, Subnet Management Agent, General Services Agent, and infrastructure for user mode support.
SRP – The early reference S/W contains source code for a SCSI RDMA Protocol (SRP) driver. The driver currently implements Draft 10 of the SRP specification being defined in the ANSI NCITS T10 working group. The source code contains only the Linux OS host driver and does not include the source code for the target device. The Intel® PDK contains an emulated SRP target and several storage vendors are working on native InfiniBand SRP target devices.
IBLAN – An early LAN emulation driver that implemented a proprietary LAN emulation protocol. This will be replaced by the IPoIB standard protocol being define by ANSI.
VNIC – The Virtual NIC (VNIC) driver enables a host on an InfiniBand fabric to access nodes on an external Ethernet without requiring an Ethernet NIC to be installed in that host. The Intel® PDK contains VNIC target S/W.
VIPL – Virtual Interface Provider Library that implements VI 1.0 on InfiniBand. More information on VI can be found at http://www.vidf.org.
Provide a reference implementation of an OS software stack for the InfiniBand Architecture.
This software is being made available under a choice of one of two licenses. You may choose to be licensed under either the GNU General Public License (GPL) Version 2, June 1991, available at http://www.fsf.org/copyleft/gpl.html, or the Intel BSD + Patent License, further described here.
The deliverables of this project are:
A tar file containing the code.
How to Get Involved
The best way to contribute to this effort is to get in touch with the contact for the area you are interested in. New participants are welcomed and encouraged to join in this effort to bring InfiniBand support to the Linux operating system.
Last Updated: 05/02/2002 02:03 PM