Cisco SFS InfiniBand Host Drivers
User Guide for Linux
Release 3.2.0
June 2007
Americas Headquarters
Cisco Systems, Inc.
170 West Tasman Drive
San Jose, CA 95134-1706
USA
http://www.cisco.com
Tel: 408 526-4000
800 553-NETS (6387)
Fax: 408 527-0883
Text Part Number: OL-12309-01
THE SPECIFICATIONS AND INFORMATION REGARDING THE PRODUCTS IN THIS MANUAL ARE SUBJECT TO CHANGE WITHOUT NOTICE. ALL
C
I
C
F
M
Q
A
b
STATEMENTS, INFORMATION, AND RECOMMENDATIONS IN THIS MANUAL ARE BELIEVED TO BE ACCURATE BUT ARE PRESENTED WITHOUT
WARRANTY OF ANY KIND, EXPRESS OR IMPLIED. USERS MUST TAKE FULL RESPONSIBILITY FOR THEIR APPLICATION OF ANY PRODUCTS.
THE SOFTWARE LICENSE AND LIMITED WARRANTY FOR THE ACCOMPANYING PRODUCT ARE SET FORTH IN THE INFORMATION PACKET THAT
SHIPPED WITH THE PRODUCT AND ARE INCORPORATED HEREIN BY THIS REFERENCE. IF YOU ARE UNABLE TO LOCATE THE SOFTWARE LICENSE
OR LIMITED WARRANTY, CONTACT YOUR CISCO REPRESENTATIVE FOR A COPY.
NOTWITHSTANDING ANY OTHER WARRANTY HEREIN, ALL DOCUMENT FILES AND SOFTWARE OF THESE SUPPLIERS ARE PROVIDED “AS IS” WITH
ALL FAULTS. CISCO AND THE ABOVE-NAMED SUPPLIERS DISCLAIM ALL WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING, WITHOUT
LIMITATION, THOSE OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OR ARISING FROM A COURSE OF
DEALING, USAGE, OR TRADE PRACTICE.
IN NO EVENT SHALL CISCO OR ITS SUPPLIERS BE LIABLE FOR ANY INDIRECT, SPECIAL, CONSEQUENTIAL, OR INCIDENTAL DAMAGES, INCLUDING,
WITHOUT LIMITATION, LOST PROFITS OR LOSS OR DAMAGE TO DATA ARISING OUT OF THE USE OR INABILITY TO USE THIS MANUAL, EVEN IF CISCO
OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
CVP, the Cisco logo, and the Cisco Square Bridge logo are trademarks of Cisco Systems, Inc.; Changing the Way We Work, Live, Play, and Learn is a service mark of Cisco Systems,
isco Systems, Cisco Systems Capital, the Cisco Systems logo, Cisco Unity, Enterprise/Solver, EtherChannel, EtherFast, EtherSwitch, Fast Step, Follow Me Browsing,
ormShare, GigaDrive, HomeLink, Internet Quotient, IOS, iPhone, IP/TV, iQ Expertise, the iQ logo, iQ Net Readiness Scorecard, iQuick Study, LightStream, Linksys,
eetingPlace, MGX, Networking Academy, Network Registrar, Pac k e t, PIX, ProConnect, ScriptShare, SMARTnet, StackWise, The Fastest Way to Increase Your Internet
uotient, and TransPath are registered trademarks of Cisco Systems, Inc. and/or its affiliates in the United States and certain other countries.
ll other trademarks mentioned in this document or Website are the property of their respective owners. The use of the word partner does not imply a partnership relationship
etween Cisco and any other company. (0705R)
Any Internet Protocol (IP) addresses used in this document are not intended to be actual addresses. Any examples, command display output, and figures included in the
document are shown for illustrative purposes only. Any use of actual IP addresses in illustrative content is unintentional and coincidental.
Cisco SFS InfiniBand Host Drivers
User Guide for Linux
Configuring ITLs when Using Fibre Channel Gateway4-2
Configuring ITLs with Element Manager while No Global Policy Restrictions Apply4-2
Configuring ITLs with Element Manager while Global Policy Restrictions Apply4-4
Configuring SRP Host4-6
Verifying SRP4-7
Verifying SRP Functionality4-7
Verifying with Element Manager4-8
uDAPL Throughput Test Performance6-2
uDAPL Latency Test Performance6-3
Compiling uDAPL Programs6-4
Cisco SFS InfiniBand Host Drivers User Guide for Linux
OL-12309-01
Contents
CHAPTER
CHAPTER
7MVAPICH MPI7-1
Introduction7-1
Initial Setup7-2
Configuring SSH7-2
Editing Environment Variables7-5
Setting Environment Variables in System-Wide Startup Files7-6
Editing Environment Variables in the Users Shell Startup Files7-6
Editing Environment Variables Manually7-7
MPI Bandwidth Test Performance7-7
MPI Latency Test Performance7-8
Intel MPI Benchmarks (IMB) Test Performance7-9
Compiling MPI Programs7-12
8HCA Utilities and Diagnostics8-1
Introduction8-1
hca_self_test Utility8-1
tvflash Utility8-3
Viewing Card Type and Firmware Version8-3
Upgrading Firmware8-4
APPENDIX
I
NDEX
Diagnostics8-5
AAcronyms and AbbreviationsA-1
OL-12309-01
Cisco SFS InfiniBand Host Drivers User Guide for Linux
v
Contents
vi
Cisco SFS InfiniBand Host Drivers User Guide for Linux
OL-12309-01
Audience
Preface
This preface describes who should read the Cisco SFS InfiniBand Host Drivers User Guide for Linux,
how it is organized, and its document conventions. It includes the following sections:
• Audience, page vii
• Organization, page vii
• Conventions, page viii
• Root and Non-root Conventions in Examples, page ix
• Related Documentation, page ix
• Obtaining Documentation, Obtaining Support, and Security Guidelines, page ix
The intended audience is the administrator responsible for installing, configuring, and managing host
drivers and host card adapters. This administrator should have experience administering similar
networking or storage equipment.
Organization
This publication is organized as follows:
ChapterTitleDescription
Chapter 1About Host DriversDescribes the Cisco commercial host driver.
Chapter 2Installing Host DriversDescribes the installation of host drivers.
Chapter 3IP over IB ProtocolDescribes how to configure IPoIB to run IP
Chapter 4SCSI RDMA ProtocolDescribes how to configure SRP.
Chapter 5Sockets Direct ProtocolDescribes how to configure and run SDP.
Chapter 6uDAPLDescribes how to build and configure
Chapter 7MVAPICH MPIDescribes the setup and configuration
OL-12309-01
traffic over an IB network.
uDAPL.
information for MVAPICH MPI.
Cisco SFS InfiniBand Host Drivers User Guide for Linux
vii
Conventions
Conventions
This document uses the following conventions:
ChapterTitleDescription
Chapter 8HCA Utilities and DiagnosticsDescribes the fundamental HCA utilities
and diagnostics.
Appendix AAcronyms and AbbreviationsDefines the acronyms and abbreviations
that are used in this publication.
ConventionDescription
boldface fontCommands, command options, and keywords are in
boldface. Bold text indicates Chassis Manager elements or
text that you must enter as-is.
italic fontArguments in commands for which you supply values are in
italics. Italics not used in commands indicate emphasis.
Menu1 > Menu2 >
Item…
Series indicate a pop-up menu sequence to open a form or
execute a desired function.
[ ]Elements in square brackets are optional.
{ x | y | z }Alternative keywords are grouped in braces and separated by
vertical bars. Braces can also be used to group keywords
and/or arguments; for example, {interface interface type}.
[ x | y | z ]Optional alternative keywords are grouped in brackets and
separated by vertical bars.
stringA nonquoted set of characters. Do not use quotation marks
around the string or the string will include the quotation
marks.
screen fontTerminal sessions and information the system displays are in
screen font.
boldface screen
Information you must enter is in boldface screen font.
font
italic screen fontArguments for which you supply values are in italic
font.
screen
^The symbol ^ represents the key labeled Control—for
example, the key combination ^D in a screen display means
hold down the Control key while you press the D key.
< >Nonprinting characters, such as passwords are in angle
brackets.
!, #An exclamation point (!) or a pound sign (#) at the beginning
of a line of code indicates a comment line.
Preface
viii
Cisco SFS InfiniBand Host Drivers User Guide for Linux
OL-12309-01
Preface
Notes use the following convention:
NoteMeans reader take note. Notes contain helpful suggestions or references to material not covered in the
manual.
Cautions use the following convention:
CautionMeans reader be careful. In this situation, you might do something that could result in equipment
damage or loss of data.
Root and Non-root Conventions in Examples
This document uses the following conventions to signify root and non-root accounts:
ConventionDescription
host1#
host2#
host1$
host2$
When this prompt appears in an example, it indicates that you
are in a root account.
When this prompt appears in an example, it indicates that you
are in a non-root account.
Root and Non-root Conventions in Examples
Related Documentation
For additional information related to the Cisco SFS IB host drivers, see the following documents:
• Release Notes for Linux Host Drivers Release 3.2.0
• Release Notes for Cisco OFED, Release 1.1
• Cisco OpenFabrics Enterprise Distribution InfiniBand Host Drivers User Guide for Linux
• Cisco SFS Product Family Element Manager User Guide
• Cisco SFS InfiniBand Fibre Channel Gateway User Guide
Obtaining Documentation, Obtaining Support, and Security
Guidelines
For information on obtaining documentation, obtaining support, providing documentation feedback,
security guidelines, and also recommended aliases and general Cisco documents, see the monthly
What’s New in Cisco Product Documentation, which also lists all new and revised Cisco technical
documentation, at:
Cisco SFS InfiniBand Host Drivers User Guide for Linux
ix
Obtaining Documentation, Obtaining Support, and Security Guidelines
Preface
Cisco SFS InfiniBand Host Drivers User Guide for Linux
x
OL-12309-01
NoteFor expansions of acronyms and abbreviations used in this publication, see Appendix A, “Acronyms and
Introduction
CHA P T ER
About Host Drivers
This chapter describes host drivers and includes the following sections:
• Introduction, page 1-1
• Architecture, page 1-2
• Supported Protocols, page 1-3
• Supported APIs, page 1-4
• HCA Utilities and Diagnostics, page 1-4
Abbreviations.”
1
The Cisco IB HCA offers high-performance 10-Gbps and 20-Gbps IB connectivity to PCI-X and
PCI-Express-based servers. As an integral part of the Cisco SFS solution, the Cisco IB HCA enables you
to create a unified fabric for consolidating clustering, networking, and storage communications.
After you physically install the HCA in the server, install the drivers to run IB-capable protocols. HCAs
support the following protocols in the Linux environment:
• IPoIB
• SRP
• SDP
HCAs support the following APIs in the Linux environment:
• MVAPICH MPI
• uDAPL API
• Intel MPI
• HP MPI
Host drivers also provide utilities to help you configure and verify your HCA. These utilities provide
upgrade and diagnostic features.
OL-12309-01
Cisco SFS InfiniBand Host Drivers User Guide for Linux
1-1
Architecture
NoteSee the “Root and Non-root Conventions in Examples” section on page ix for details about the
significance of prompts used in the examples in this chapter.
Architecture
Figure 1-1 displays the software architecture of the protocols and APIs that HCAs support. The figure
displays ULPs and APIs in relation to other IB software elements.
Figure 1-1HCA Supported Protocols and API Architecture
Chapter 1 About Host Drivers
Application
Level
User
APIs
Upper
Layer
Protocol
Mid-Layer
Provider
Hardware
Diag
Tools
User Level
MAD API
SA
Client
IP Based
App
Access
Various
MPI's
SDPIPoIB
SMA
InfiniBand Verbs / API
MPI Based
App Access
uDAPL
User Level
Verbs / API
Connection Manager
Abstraction (CMA)
Connection
Manager
Hardware
Specific Driver
InfiniBand HC A
Block
Storage
Access
User Space
Kernel Space
SRP
SDP
SRP
1-2
IP over InfiniBandIPoIB
Sockets Direct
Protocol
SCSI RDMA
Protocol (Initiator)
Cisco SFS InfiniBand Host Drivers User Guide for Linux
MPI
UDAPL
SA
Message Pass ing
Interface
User Direct Access
Programming Lib
Subnet
Administrator
MAD
SMA
HCA
Management
Datagram
Subnet Manager
Agent
Host Channel
Adapter
180411
OL-12309-01
Chapter 1 About Host Drivers
Supported Protocols
This section describes the supported protocols and includes the following topics:
• IPoIB
• SRP
• SDP
Protocol here refers to software in the networking layer in kernel space.
IPoIB
The IPoIB protocol passes IP traffic over the IB network. Configuring IPoIB requires similar steps to
configuring IP on an Ethernet network. SDP relies on IPoIB to resolve IP addresses. (See the “SDP”
section on page 1-3.)
To configure IPoIB, you assign an IP address and subnet mask to each IB port. IPoIB automatically adds
IB interface names to the IP network configuration. To configure IPoIB, see Chapter 3, “IP over IB
Protocol.”
Supported Protocols
SRP
SDP
SRP runs SCSI commands across RDMA-capable networks so that IB hosts can communicate with Fibre
Channel storage devices and IB-attached storage devices. SRP requires an SFS with a Fibre Channel
gateway to connect the host to Fibre Channel storage. In conjunction with an SFS, SRP disguises
IB-attached hosts as Fibre Channel-attached hosts. The topology transparency feature lets Fibre Channel
storage communicate seamlessly with IB-attached hosts (known as SRP hosts). For configuration
instructions, see Chapter 4, “SCSI RDMA Protocol.”
SDP is an IB-specific upper- layer protocol. It defines a standard wire protocol to support stream sockets
networking over IB. SDP enables sockets-based applications to take advantage of the enhanced
performance features provided by IB and achieves lower latency and higher bandwidth than IPoIB
running sockets-based applications. It provides a high-performance, data transfer protocol for
stream-socket networking over an IB fabric. You can configure the driver to automatically translate TCP
to SDP based on a source IP, a destination, or an application name. For configuration instructions, see
Chapter 5, “Sockets Direct Protocol.”
OL-12309-01
Cisco SFS InfiniBand Host Drivers User Guide for Linux
1-3
Supported APIs
Supported APIs
This section describes the supported APIs and includes the following topics:
• MVAPICH MPI
• uDAPL
• Intel MPI
• HP MPI
API refers to software in the networking layer in user space.
MVAPICH MPI
MPI is a standard library functionality in C, C++, and Fortran that can be used to implement a
message-passing program. MPI allows the coordination of a program running as multiple processes in a
distributed memory environment. This document includes setup and configuration information for
MVAPICH MPI. For more information, see Chapter 7, “MVAPICH MPI.”
Chapter 1 About Host Drivers
uDAPL
uDAPL defines a single set of user-level APIs for all RDMA-capable transports. The uDAPL mission is
to define a transport-independent and platform-standard set of APIs that exploits RDMA capabilities
such as those present in IB. For more information, see Chapter 6, “uDAPL.”
Intel MPI
Cisco tests and supports the SFS IB host drivers with Intel MPI. The Intel MPI implementation is
available for separate purchase from Intel. For more information, visit the following URL:
http://www.intel.com/go/mpi
HP MPI
Cisco tests and supports the SFS IB host drivers with HP MPI for Linux. The HP MPI implementation
is available for separate purchase from Hewlett Packard. For more information, visit the following URL:
http://www.hp.com/go/mpi
HCA Utilities and Diagnostics
1-4
The HCA utilities provide basic tools to view HCA attributes and run preliminary troubleshooting tasks.
For more information, see Chapter 8, “HCA Utilities and Diagnostics.”
Cisco SFS InfiniBand Host Drivers User Guide for Linux
OL-12309-01
NoteSee the “Root and Non-root Conventions in Examples” section on page ix for details about the
Introduction
CHA P T ER
Installing Host Drivers
The chapter includes the following sections:
• Introduction, page 2-1
• Contents of ISO Image, page 2-2
• Installing Host Drivers from an ISO Image, page 2-2
• Uninstalling Host Drivers from an ISO Image, page 2-3
significance of prompts used in the examples in this chapter.
2
The Cisco Linux IB driver is delivered as an ISO image. The ISO image contains the binary RPMs for
selected Linux distributions. The Cisco Linux IB drivers distribution contains an installation script
calledtsinstall. The install script performs the necessary steps to accomplish the following:
• Discover the currently installed kernel
• Uninstall any IB stacks that are part of the standard operating system distribution
• Install the Cisco binary RPMs if they are available for the current kernel
• Identify the currently installed IB HCA and perform the required firmware updates
NoteFor specific details about which binary RPMs are included and which standard Linux distributions and
kernels are currently supported, see the Release Notes for Linux Host Drivers Release 3.2.0.
OL-12309-01
Cisco SFS InfiniBand Host Drivers User Guide for Linux
2-1
Contents of ISO Image
Contents of ISO Image
The ISO image contains the following directories and files:
• docs/
This directory contains the related documents.
• tsinstall
This is the installation script.
• redhat/
This directory contains the binary RPMs for Red Hat Enterprise Linux.
• suse/
This directory contains the binary RPMs for SUSE Linux Enterprise Server.
Installing Host Drivers from an ISO Image
Chapter 2 Installing Host Drivers
See the Cisco InfiniBand Host Channel Adapter Hardware Installation Guide to correctly install HCAs.
To install host drivers from an ISO image, perform the following steps:
NoteIf you upgrade your Linux kernel after installing these host drivers, you need to reinstall the host drivers.
Step 1Verify that the system has a viable HCA installed by ensuring that you can see the InfiniHost entries in
the display.
The following example shows that the installed HCA is viable:
Step 2Download an ISO image, and copy it to your network.
You can download an ISO image from http://www.cisco.com/cgi-bin/tablebuild.pl/sfs-linux
Step 3Use the md5sum utility to confirm the file integrity of your ISO image.
Step 4Install drivers from an ISO image on your network.
The following example shows how to install host drivers from an ISO image:
host1# mount -o ro,loop topspin-host-3.2.0-136.iso /mnt
host1# /mnt/tsinstall
The following kernels are installed, but do not have drivers available:
2.6.9-34.EL.x86_64
The following installed packages are out of date and will be upgraded:
topspin-ib-rhel4-3.2.0-118.x86_64
topspin-ib-mpi-rhel4-3.2.0-118.x86_64
topspin-ib-mod-rhel4-2.6.9-34.ELsmp-3.2.0-118.x86_64
The following packages will be installed:
topspin-ib-rhel4-3.2.0-136.x86_64 (libraries, binaries, etc)
2-2
Cisco SFS InfiniBand Host Drivers User Guide for Linux
The HCA test script, as shown in the example above, checks for the HCA firmware version, verifies that
proper kernel modules are loaded on the IP drivers, shows the state of the HCA ports, shows the counters
that are associated with each IB port, and indicates whether or not there are any error messages in the
host operating system log files.
NoteTo troubleshoot the results of this test, see Chapter 8, “HCA Utilities and Diagnostics.”
Uninstalling Host Drivers from an ISO Image
The following example shows how to uninstall a host driver from a device:
host1# rpm -e `rpm -qa | grep topspin`
OL-12309-01
Cisco SFS InfiniBand Host Drivers User Guide for Linux
2-3
Uninstalling Host Drivers from an ISO Image
Chapter 2 Installing Host Drivers
2-4
Cisco SFS InfiniBand Host Drivers User Guide for Linux
OL-12309-01
CHA P T ER
3
IP over IB Protocol
This chapter describes IP over IB protocol and includes the following sections:
• Introduction, page 3-1
• Manually Configuring IPoIB for Default IB Partition, page 3-2
• Subinterfaces, page 3-2
• Verifying IPoIB Functionality, page 3-5
• IPoIB Performance, page 3-6
• Sample Startup Configuration File, page 3-8
• IPoIB High Availability, page 3-8
NoteSee the “Root and Non-root Conventions in Examples” section on page ix for details about the
significance of prompts used in the examples in this chapter.
Introduction
NoteTo enable these IPoIB settings across reboots, you must explicitly add these settings to the networking
OL-12309-01
Configuring IPoIB requires that you follow similar steps to the steps used for configuring IP on an
Ethernet network. When you configure IPoIB, you assign an IP address and a subnet mask to each HCA
port. The first HCA port on the first HCA in the host is the ib0 interface, the second port is ib1, and so on.
interface startup configuration file. For a sample configuration file, see the “Sample Startup
Configuration File” section on page 3-8.
See your Linux distribution documentation for additional information about configuring IP addresses.
Cisco SFS InfiniBand Host Drivers User Guide for Linux
3-1
Manually Configuring IPoIB for Default IB Partition
Manually Configuring IPoIB for Default IB Partition
To manually configure IPoIB for the default IB partition, perform the following steps:
Step 1Log in to your Linux host.
Step 2To configure the interface, enter the ifconfig command with the following items:
• The appropriate IB interface (ib0 or ib1 on a host with one HCA)
• The IP address that you want to assign to the interface
• The netmask keyword
• The subnet mask that you want to assign to the interface
The following example shows how to configure an IB interface:
Step 4Repeat Step 2 and Step 3 on the remaining interface(s).
Subinterfaces
This section describes subinterfaces. Subinterfaces divide primary (parent) interfaces to provide traffic
isolation. Partition assignments distinguish subinterfaces from parent interfaces. The default Partition
Key (p_key), ff:ff, applies to the primary (parent) interface.
This section includes the following topics:
• Creating a Subinterface Associated with a Specific IB Partition, page 3-3
• Removing a Subinterface Associated with a Specific IB Partition, page 3-4
3-2
Cisco SFS InfiniBand Host Drivers User Guide for Linux
OL-12309-01
Chapter 3 IP over IB Protocol
Creating a Subinterface Associated with a Specific IB Partition
To create a subinterface associated with a specific IB partition, perform the following steps:
Step 1Create a partition on an IB SFS. Alternatively, you can choose to create the partition of the IB interface
on the host first, and then create the partition for the ports on the IB SFS. See the Cisco SFS Product
Family Element Manager User Guide for information regarding valid partitions on the IB SFS.
Step 2Log in to your host.
Step 3Add the value of the partition key to the file as root user.
The following example shows how to add partition 80:02 to the primary interface ib0:
sit0 Link encap:IPv6-in-IPv4
NOARP MTU:1480 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Verifying IPoIB Functionality
Verifying IPoIB Functionality
To verify your configuration and your IPoIB functionality, perform the following steps:
Step 1Log in to your hosts.
Step 2Verify the IPoIB functionality by using the ifconfig command.
The following example shows how two IB nodes are used to verify IPoIB functionality. In the following
example, IB node 1 is at 192.168.0.1, and IB node 2 is at 192.168.0.2:
Step 3Enter the ping command from 192.168.0.1 to 192.168.0.2.
The following example shows how to enter the ping command:
host1# ping -c 5 192.168.0.2
PING 192.168.0.2 (192.168.0.2) 56(84) bytes of data.
64 bytes from 192.168.0.2: icmp_seq=0 ttl=64 time=0.079 ms
64 bytes from 192.168.0.2: icmp_seq=1 ttl=64 time=0.044 ms
64 bytes from 192.168.0.2: icmp_seq=2 ttl=64 time=0.055 ms
64 bytes from 192.168.0.2: icmp_seq=3 ttl=64 time=0.049 ms
64 bytes from 192.168.0.2: icmp_seq=4 ttl=64 time=0.065 ms