The Access Layer is the low level operating system infrastructure (plumbing) used for accessing the InfiniBand™ fabric. It includes all basic transport services needed to support upper level InfiniBand protocols, middleware, and management agents. The Access Layer is intended to provide the services described in Chapter 10, 11, and 12 of the InfiniBand Architecture Specification Vol 1a for the Linux Operating System. It also provides the low level common framework that supports development of the Management Services described in Chapter 13, 14, 15, and 16 of the InfiniBand Architecture Specification, Vol 1a.
High Level Architecture
Refer to the Access Layer Software Architecture Specification white paper in the documents section for more details.
The Access Layer project defines both the User-mode InfiniBand Access Interface and Kernel-Mode InfiniBand Access Layer interface, as shown in the architecture diagram above. The project is developing a complete open source implementation of the kernel and user mode access layers. The design is intended to support all Host Channel Adapter (HCA) vendor's products. The HCA driver interface, as shown above, is being defined in the HCA Device Driver Kit (DDK) project, located under Hardware Drivers. The HCA DDK also contains a sample driver template and headers needed to develop a driver that plugs into the access layer infrastructure.
The major goals of the project are:
One common infrastructure for all HCAs – The primary goal is to define and implement a common infrastructure for HCAs for the Linux operating system. This will allow multiple HCAs from multiple vendors to coexist on the same system and allow clients to code to one access API, rather than a different one for each HCA.
Support upper level protocols, clients, middleware, and management agents. The interface must provide the capabilities needed to develop upper level protocols, such as the Internet Protocol over InfiniBand (IPoIB), Socket's Direct Protocol(SDP), and SCSI RDMA Protocol (SRP) or other target drivers, support middleware, such as the new emerging Direct Access Transport API (DAPL), the Message Passing Interface (MPI). etc., and provide the interface to the special management queue pairs (QP0 and QP1) to allow development of management agents.
Open Source – The project intends to perform it's development totally within the context of an open source environment, releasing architecture, design, interface, and code as they become available to collect input from all stakeholders as early as possible.
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:
Architecture, Design, and requirements white papers
Kernel and User Mode API documentation
A complete open source implementation
Actual sub-project timelines are not yet determined and will be formulated by the participants of the sub-project.
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.
The project news is included on the SourceForge site. Click the "News" link at the left under "SourceForge Services".
Last Updated: 05/02/2002 01:47 PM