IB(4D) | Devices | IB(4D) |
ib - InfiniBand Bus Nexus Driver
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.
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.
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";
/kernel/drv/ib
/kernel/drv/amd64/ib
/kernel/drv/sparcv9/ib
/kernel/drv/ib.conf
See attributes(7) for a description of the following attribute:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Architecture | SPARC, x86 |
Interface Stability | Consolidation Private |
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
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.
cannot find unit-address in %s.conf.
Waiting for Port %d initialization.
January 26, 2009 | OmniOS |