Merge commit 'ad3ad82ad2fb99c424a8482bd1908d08b990ccea'
[unleashed.git] / share / man / man7d / ib.7d
blob9871c3f295a068f2ca45982a004af25333c6fff6
1 '\" te
2 .\"  Copyright (c) 2009, Sun Microsystems, Inc.  All Rights Reserved
3 .\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License").  You may not use this file except in compliance with the License.
4 .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.  See the License for the specific language governing permissions and limitations under the License.
5 .\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE.  If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
6 .TH IB 7D "Jan 26, 2009"
7 .SH NAME
8 ib \- InfiniBand Bus Nexus Driver
9 .SH DESCRIPTION
10 .sp
11 .LP
12 The \fBib\fR (IB nexus) driver is a pseudo nexus driver that supports
13 enumeration of port devices, VPPA (Virtual Physical Point Attachment), HCA_SVC
14 (HCA  Service) devices, and I/O controllers (IOC) on the InfiniBand fabric that
15 are visible to the host and provides interfaces to \fBcfgadm_ib\fR(8) to
16 manage hot-plugging of IB devices. The \fBib\fR nexus driver enumerates the
17 port device, VPPA devices and HCA_SVC devices based on entries specified in the
18 \fBib.conf\fR file. IOC devices are enumerated on demand. The IB  nexus driver
19 uses InfiniBand Device Manager services (\fBibdm\fR(7D)) to enumerate port
20 devices, VPPA devices, HCA_SVC devices, and IOCs on the IB fabric.
21 .SH CONFIGURATION
22 .sp
23 .LP
24 You configure the \fBib\fR driver by defining properties in the \fBib.conf\fR
25 file. The IB nexus driver supports the following properties:
26 .sp
28 .sp
29 .TS
30 box;
31 l | l | l
32 l | l | l .
33 PROPERTY NAME   DEFAULT POSSIBLE VALUES
35 port-svc-list   \fB""\fR        T{
36 List of service names,  for example:  srv
39 vppa-svc-list   \fB""\fR        List of service names, for example: ipib
41 hca-svc-list    \fB""\fR        T{
42 List of service names, for example: hca_nfs
44 .TE
46 .sp
47 .LP
48 The \fBport-svc-list\fR property defines the list of port communication service
49 names per port. The IB nexus driver creates a device instance for each entry in
50 this property per Host Channel Adapter (\fBHCA\fR) port. The \fBib.conf\fR file
51 contains a \fBport-svc-list=""\fR entry by default. You update
52 \fBport-svc-list\fR with service names you want to add to the system.
53 .sp
54 .LP
55 The \fBvppa-svc-list\fR property defines the list of \fBVPPA\fR communication
56 service names per port per partition key. The IB nexus driver creates a device
57 instance for each entry in this property per Host Channel Adapter (\fBHCA\fR)
58 port. The \fBib.conf\fR file contains a \fBvppa-svc-list=""\fR entry by
59 default. You update \fBvppa-svc-list\fR with service names you want to add to
60 the system.
61 .sp
62 .LP
63 The \fBhca-svc-list\fR property defines the list of HCA_SVC communication
64 service names per HCA. The IB nexus driver creates a device instance for each
65 entry in this property per Host Channel Adapter (HCA). The \fBib.conf\fR file
66 contains a \fBhca-svc-list=""\fR  entry by  default. You update
67 \fBhca-svc-list\fR with service names you want to add to the system.
68 .sp
69 .LP
70 The service name specified in \fBport-svc-list\fR, \fBvppa-svc-list\fR and
71 \fBhca-svc-list\fR must be  unique, be a maximum of four characters long, and
72 is limited to digits 0-9 and letters a-z and A-Z.
73 .sp
74 .LP
75 IOC drivers (which are parented by the IB nexus driver) may themselves
76 have .conf files. To distinguish those cases from pseudo drivers parented by IB
77 nexus, such drivers should include the \fB"ib-node-type"\fR property with value
78 \fBmerge\fR in the IOC \fBdriver.conf\fR file. That property ensures that
79 properties from the .conf file are merged with other properties found through
80 hardware probing.
81 .SH EXAMPLES
82 .sp
83 .LP
84 Example 1: A sample \fBib.conf\fR file with one  service name entry for PORT
85 communication services.
86 .sp
87 .in +2
88 .nf
89     #
90     # Copyright 2001-2003 Sun Microsystems, Inc.  All rights reserved.
91     # Use is subject to license terms.
92     #
93     port-svc-list=""
94     vppa-svc-list="";
95     hca-svc-list="";
96 .fi
97 .in -2
99 .sp
101 In Example 1, the IB nexus driver does not create any port/vppa/hca_svc device
102 instances.
105 Example 2: A sample \fBib.conf\fR file with one entry for \fB"srv"\fR service:
107 .in +2
110    port-svc-list="srv"
111    vppa-svc-list="";
112    hca-svc-list="";
114 .in -2
118 The IB nexus driver creates one \fBsrv\fR service instance for every \fBHCA\fR
119 port that exists on the host. For example, if there are two \fBHCA\fRs, each
120 with two ports on the host, the IB nexus driver creates four instances of the
121 \fBsrv\fR service.
124 Example 3: A sample \fBib.conf\fR file with one  service name entry for
125 each of Port and VPPA  communication services:
127 .in +2
130    port-svc-list="srv"
131    vppa-svc-list="ipib";
132    hca-svc-list="";
134 .in -2
138 If there are two \fBHCA\fRs in the system with two ports each and each port has
139 two  valid PKEY values, the IB  nexus driver creates four instances of  srv
140 service (one for each port).  It also creates eight instances of \fBipd\fR
141 service (one per each port/PKEY combination).
144 Example 4: A sample \fBib.conf\fR file with one service name entry for     each
145 of Port, VPPA and HCA_SVC communication services:
147 .in +2
150    port-svc-list="srv";
151    vppa-svc-list="ipib";
152    hca-svc-list="hca_nfs";
154 .in -2
158 The IB nexus driver creates one instance of hca_nfs service for each HCA in the
159 system.
162 Example 5: IOC \fBdriver .conf\fR
164 .in +2
166  ib-node-type="merge";
167  enable-special-mode="on";
169 .in -2
171 .SH FILES
173 .ne 2
175 \fB\fB/kernel/drv/ib\fR\fR
177 .RS 26n
178 32-bit x86 ELF kernel module
182 .ne 2
184 \fB\fB/kernel/drv/amd64/ib\fR\fR
186 .RS 26n
187 64-bit x86 ELF kernel module
191 .ne 2
193 \fB\fB/kernel/drv/sparcv9/ib\fR\fR
195 .RS 26n
196 64-bit SPARC ELF kernel module
200 .ne 2
202 \fB\fB/kernel/drv/ib.conf\fR\fR
204 .RS 26n
205 driver configuration file
208 .SH ATTRIBUTES
211 See \fBattributes\fR(5) for a description of the following attribute:
216 box;
217 l | l
218 l | l .
219 ATTRIBUTE  TYPE ATTRIBUTE VALUE
221 Architecture    SPARC, x86
223 Interface Stability     Consolidation Private
226 .SH SEE ALSO
229 \fBcfgadm_ib\fR(8), \fBdriver.conf\fR(4), \fBib\fR(4), \fBattributes\fR(5),
230 \fBibcm\fR(7D), \fBibdm\fR(7D), \fBibtl\fR(7D)
233 \fIWriting Device Drivers\fR
236 \fIInfiniBand Architecture Specification, Volume 1: Release 1.1\fR
239 \fISystem Administration Guide: Basic Administration\fR
240 .SH DIAGNOSTICS
243 In addition to being logged, the following messages may appear on the system
244 console. All messages are formatted in the following manner:
246 .in +2
248 ib: WARNING: Error message...
250 .in -2
254 .ne 2
256 \fBunit-address property in \fB%s.conf\fR not well-formed.\fR
258 .sp .6
259 .RS 4n
260 The \fBdriver.conf\fR file does not have a valid \fB"unit-addr"\fR property
261 defined. This property is an array of strings.
265 .ne 2
267 \fBcannot find unit-address in \fB%s.conf\fR.\fR
269 .sp .6
270 .RS 4n
271 The \fBdriver.conf\fR file does not have a valid \fB"unit-addr"\fR property
272 defined. This property is an array of strings.
276 .ne 2
278 \fBWaiting for Port %d initialization.\fR
280 .sp .6
281 .RS 4n
282 Waiting for port initialization from subnet manager.