IB(4D) IB(4D)


NAME


ib - InfiniBand Bus Nexus Driver

DESCRIPTION


The ib (IB nexus) driver is a pseudo nexus driver that supports
enumeration of port devices, VPPA (Virtual Physical Point Attachment),
HCA_SVC (HCA Service) devices, and I/O controllers (IOC) on the
InfiniBand fabric that are visible to the host and provides interfaces to
cfgadm_ib(8) to manage hot-plugging of IB devices. The ib nexus driver
enumerates the port device, VPPA devices and HCA_SVC devices based on
entries specified in the ib.conf file. IOC devices are enumerated on
demand. The IB nexus driver uses InfiniBand Device Manager services
(ibdm(4D)) to enumerate port devices, VPPA devices, HCA_SVC devices, and
IOCs on the IB fabric.

CONFIGURATION


You configure the ib driver by defining properties in the ib.conf file.
The IB nexus driver supports the following properties:


+--------------+---------+------------------------------------------+
|PROPERTY NAME | DEFAULT | POSSIBLE VALUES |
+--------------+---------+------------------------------------------+
|port-svc-list | "" | List of service names, for example: |
| | | srv |
+--------------+---------+------------------------------------------+
|vppa-svc-list | "" | List of service names, for example: ipib |
+--------------+---------+------------------------------------------+
|hca-svc-list | "" | List of service names, for example: |
| | | hca_nfs |
+--------------+---------+------------------------------------------+


The port-svc-list property defines the list of port communication service
names per port. The IB nexus driver creates a device instance for each
entry in this property per Host Channel Adapter (HCA) port. The ib.conf
file contains a port-svc-list="" entry by default. You update port-svc-
list with service names you want to add to the system.


The vppa-svc-list property defines the list of VPPA communication service
names per port per partition key. The IB nexus driver creates a device
instance for each entry in this property per Host Channel Adapter (HCA)
port. The ib.conf file contains a vppa-svc-list="" entry by default. You
update vppa-svc-list with service names you want to add to the system.


The hca-svc-list property defines the list of HCA_SVC communication
service names per HCA. The IB nexus driver creates a device instance for
each entry in this property per Host Channel Adapter (HCA). The ib.conf
file contains a hca-svc-list="" entry by default. You update hca-svc-
list with service names you want to add to the system.


The service name specified in port-svc-list, vppa-svc-list and hca-svc-
list must be unique, be a maximum of four characters long, and is
limited to digits 0-9 and letters a-z and A-Z.


IOC drivers (which are parented by the IB nexus driver) may themselves
have .conf files. To distinguish those cases from pseudo drivers parented
by IB nexus, such drivers should include the "ib-node-type" property with
value merge in the IOC driver.conf file. That property ensures that
properties from the .conf file are merged with other properties found
through hardware probing.

EXAMPLES


Example 1: A sample ib.conf file with one service name entry for PORT
communication services.

#
# Copyright 2001-2003 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
port-svc-list=""
vppa-svc-list="";
hca-svc-list="";


In Example 1, the IB nexus driver does not create any port/vppa/hca_svc
device instances.


Example 2: A sample ib.conf file with one entry for "srv" service:


port-svc-list="srv"
vppa-svc-list="";
hca-svc-list="";


The IB nexus driver creates one srv service instance for every HCA port
that exists on the host. For example, if there are two HCAs, each with
two ports on the host, the IB nexus driver creates four instances of the
srv service.


Example 3: A sample ib.conf file with one service name entry for each of
Port and VPPA communication services:


port-svc-list="srv"
vppa-svc-list="ipib";
hca-svc-list="";


If there are two HCAs in the system with two ports each and each port has
two valid PKEY values, the IB nexus driver creates four instances of
srv service (one for each port). It also creates eight instances of ipd
service (one per each port/PKEY combination).


Example 4: A sample ib.conf file with one service name entry for each
of Port, VPPA and HCA_SVC communication services:


port-svc-list="srv";
vppa-svc-list="ipib";
hca-svc-list="hca_nfs";


The IB nexus driver creates one instance of hca_nfs service for each HCA
in the system.


Example 5: IOC driver .conf

ib-node-type="merge";
enable-special-mode="on";


FILES


/kernel/drv/ib
32-bit x86 ELF kernel module


/kernel/drv/amd64/ib
64-bit x86 ELF kernel module


/kernel/drv/sparcv9/ib
64-bit SPARC ELF kernel module


/kernel/drv/ib.conf
driver configuration file


ATTRIBUTES


See attributes(7) for a description of the following attribute:


+--------------------+-----------------------+
|ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------------+
|Architecture | SPARC, x86 |
+--------------------+-----------------------+
|Interface Stability | Consolidation Private |
+--------------------+-----------------------+

SEE ALSO


ibcm(4D), ibdm(4D), ibtl(4D), driver.conf(5), ib(5), attributes(7),
cfgadm_ib(8)


Writing Device Drivers


InfiniBand Architecture Specification, Volume 1: Release 1.1


System Administration Guide: Basic Administration

DIAGNOSTICS


In addition to being logged, the following messages may appear on the
system console. All messages are formatted in the following manner:

ib: WARNING: Error message...


unit-address property in %s.conf not well-formed.

The driver.conf file does not have a valid "unit-addr" property
defined. This property is an array of strings.


cannot find unit-address in %s.conf.

The driver.conf file does not have a valid "unit-addr" property
defined. This property is an array of strings.


Waiting for Port %d initialization.

Waiting for port initialization from subnet manager.


January 26, 2009 IB(4D)