FC HBA Driver for Solaris SPARC and x86 Platforms

This software license applies only to QLogic customers.
QLogic Corporation.
All rights reserved.

Table of Contents

1.
Package Contents
2.
OS Support
3.
Supported Features
4.
Using the Driver
  4.1 Installing the Driver
  4.2 Updating the Driver
  4.3 Installing and Configuring the FC-IP Driver
  4.4 Removing the Driver
5.
Driver Parameters
  5.1 FC HBA Parameters
  5.2 Persistent Name Binding
  5.3 Target Masking
  5.4 LUN Masking
  5.5 Failover
  5.6 FC-SP Security
6.
Additional Notes
  6.1 Frequently Asked Questions
  6.2 Crossroad CrossPoint 4100 Installation
  6.3 Optional Management Tools
7.
Contacting Support

1. Package Contents

The FC HBA driver for Solaris is available in the following packages:

Filename Description
qla2300.sparc_pkg.Z Compressed driver package, which includes the QLA2300 driver and utilities for 2Gb, 4Gb and 8Gb HBAs on Solaris SPARC platforms. This also includes the Solaris SNIA 1.0 libraries.
qla2300.i386_pkg.Z Compressed driver package, which includes the QLA2300 driver and utilities for 2Gb, 4Gb and 8Gb HBAs on Solaris x86 platforms. This also includes the Solaris SNIA 1.0 libraries.

NOTE: The QLA200, QLA210, and QLE220 HBAs are supported only on the Sun Solaris x 86 platforms.

You can install just the driver, or libraries, or both depending on your requirements. Note that the SNIA libraries, depending on the platform, may have more than one installation version.

NOTE: The "QLA2300 driver" is the original name assigned to the Solaris FC HBA driver. This document refers to this driver as the "FC HBA driver."

2. OS Support

This FC HBA driver is compatible with the following Solaris platforms:

  • Sun Solaris operating system (8, 9, and 10) on Solaris SPARC platforms
  • Sun Solaris operating system (9,10, and Open Solaris 2008.11) for x86 platforms

NOTE: Download the appropriate SPARC or x86 Solaris cluster patch set from http://www.Sunsolve.Sun.com. For Solaris 8 and 9, download the Solaris SAN Foundation patches from Sun at: http://www.Sun.com/storage/san.

Follow the download link and download SAN_x.y_install_it.tar.Z where x.y is the Sun version number, such as "4.4".

3. Supported Features

The FC HBA driver supports the following features:

  • Extended LUN support
  • Point-To-Point F_port, FL_port, N_port, and Arbitrated Loop configurations
  • Fibre Channel tape support
  • Enhanced Loop ID support (2048 Loop IDs) in F_port configuration
  • Full-duplex operation in loop configuration
  • Persistent Name Binding support
  • SNIA 1.0 support
  • 2Gb per second data rate
  • 4Gb per second data rate
  • 8Gb per second data rate
  • Failover support
  • Beacon support (except QLA200 and QLA210)
  • ECHO support
  • Dynamic driver parameter updates
  • Driver update without reboot
  • HBA bus architectures: PCI, PCI-E, cPCI, and Sbus

NOTE: Documentation for the driver utilities, which includes the command line dynamic update utility, qlreconfig, included with the driver, is located in the directory specified during installation. The default directory is: /opt/QLogic_Corporation/drvutil.

4. Using the Driver

This section provides procedures for installing, updating, and removing the driver. For details, see the following sections:

4.1 Installing the Driver

These procedures assume that you have downloaded the correct driver package into the directory on the machine where you want to install the driver and that you are logged on with superuser privileges.

For details, see the following sections:

4.1.1 New SPARC Platform Installation

WARNING! When installing the HBA and driver for the first time, you should install the driver first, and then install the HBA into the system. This allows Solaris to correctly bind the driver to the FC HBA. Failure to do so requires rebooting the system after loading the driver.

If other FC HBAs are already installed in the system, you'll need to reboot the system if it already has the native Solaris driver (qlc) installed. The native Solaris driver (qlc) detects and attaches to the FC HBA. A reboot allows the FC HBA driver to attach to the HBA first, which prevents the native Solaris driver from attaching to the HBA.

To install the driver:

  1. Uncompress the driver package:
    uncompress qla2300.sparc_pkg.Z
  2. Package add the driver:
    pkgadd -d ./qla2300.sparc_pkg
  3. Select the FC HBA driver package (option 1).
  4. Answer the pkgadd queries. In response to system prompts, you may relocate the driver utilities and conf file backup directories to suit your system requirements.
  5. Depending on the system configuration and HBA installation, one of the following apply:
    • If you haven't installed the FC HBAs, the driver loads but fails to attach. When this happens, shut down the system and install the FC HBAs, then reboot the system. The driver attaches to the QLogic HBAs, making the storage available to use. Check the /var/adm/messages file for more detailed device and HBA information.
    • If the FC HBAs were installed before the driver installation and the native Solaris driver has already attached to the FC HBAs, you must reboot the system to allow the FC HBA driver to attach to the HBA.
    • If the FC HBAs were installed before the driver installation and the native Solaris driver is not installed on the system, the driver dynamically attaches without requiring a system reboot.
  6. Refer to the driver configuration parameters for any further customization (i.e. persistent binding).

NOTE: For configuration assistance or to implement HBA monitoring, install the SANsurfer HBA Manager or the SANsurfer command line utility (CLI) Management Tools.

4.1.2 New x86 Platform Installation

  1. Uncompress the driver package:
    uncompress qla2300.i386_pkg.Z
  2. Package add the driver:
    pkgadd -d ./qla2300.i386_pkg
  3. Select the FC HBA driver package (option 1).
  4. Answer the pkgadd queries. In response to system prompts, you may relocate the driver utilities and conf file backup directories to suit your system requirements.
    NOTE: If you created an x86 boot device using the FC HBA driver, a message notifies you of conflicting files. When this happens, accept the conflicting files to be reloaded.
    Because the FC HBA has not been installed yet, the driver loads but fails to attach.
  5. Shut down the system and install the FC HBAs.
  6. Reboot the system. The driver attaches to the FC HBAs, making the storage available to use. For more detailed device and HBA information, check the /var/adm/messages file.
  7. Refer to the driver configuration parameters for any further customization (such as persistent binding).

NOTE: For configuration assistance or to implement HBA monitoring, install the SANsurfer FC HBA Manager or the SANsurfer FC HBA CLI Management Tools.

4.2 Updating the Driver

This section assumes that you currently have a previous FC HBA driver on your machine. Before installing the new driver package, you must first uninstall the currently installed FC HBA driver package, as described in section 4.4.

After removing the previous driver, return to these procedures to continue installing the new driver.

NOTE: The following sections assume that you have downloaded the correct driver package into the directory on the machine where you want to install the driver and that you are logged on with superuser privileges.

NOTE: Driver version 5.03 (and later) will attempt to migrate the current qla2300.conf file parameters that have been added or modified to the new qla2300.conf file that will be installed with the new qla2300 driver. This migration requires perl; if perl is not available, the migration will be skipped. If this happens, you can run the migration at a later time.

For details, see the following topics:

4.2.1 Updating the SPARC Platform Driver

To update the Solaris SPARC driver:

  1. Uninstall the current FC HBA driver (see section 4.4).
  2. Uncompress the driver package:
    uncompress qla2300.sparc_pkg.Z
  3. Package add the driver:
    pkgadd -d ./qla2300.sparc_pkg
  4. Select the FC HBA driver package (option 1).
  5. Answer the pkgadd queries. In response to system prompts, you may relocate the driver utilities and conf file backup directories to suit your system requirements.
    The system dynamically attaches and loads the driver, making the devices available to use. For more detailed device and HBA information, check the /var/adm/messages file.
    NOTE: As discussed in section 4.4, if you uninstalled the 4.14 driver (or earlier), you must reboot the system to install the 4.15 driver (or later). After installing the driver, the system dynamically unloads and reloads the driver as needed.
  6. Refer to the driver configuration parameters for any further customization (such as persistent binding).
  7. When driver version 5.03 (or later) is installed as part of the upgrade process, it will attempt to carry over the changes made in the previous qla2300.conf file to the newly installed qla2300.conf file. This requires that perl exists in the search path, or in one of the following well known locations: /bin, /usr/local/bin, /usr/sbin, or /usr/bin. If the script does not find perl, it skips this step. If this happens, you can run it again after installing the package. For details, see the qlconf_migrate_readme.txt file.

NOTE: For configuration assistance or to implement HBA monitoring, install the SANsurfer FC HBA Manager (GUI-based) or the SANsurfer FC Command Line Interface (CLI).

4.2.2 Updating the x86 Platform Driver

To update the Solaris x86 driver:

  1. Uninstall the current FC HBA driver (see section 4.4).
  2. Uncompress the driver package:
    uncompress qla2300.i386_pkg.Z
  3. Package add the driver:
    pkgadd -d ./qla2300.i386_pkg
  4. Select the FC HBA driver package (option 1).
  5. Answer the pkgadd queries. In response to system prompts, you may relocate the driver utilities and conf file backup directories to suit your system requirements.
    The system dynamically attaches and loads the driver, making the devices available to use. For more detailed device and HBA information, check the /var/adm/messages file.
    NOTE: As discussed in section 4.4, if you uninstalled the 4.14 driver (or earlier), you must reboot the system to install the 4.15 driver (or later). After installing the driver, the system dynamically unloads and reloads the driver as needed.
  6. Refer to the driver configuration parameters for any further customization (i.e. persistent binding).
  7. When installing driver version 5.03 (or later) as part of the upgrade process, it will attempt to carry over the changes made in the previous qla2300.conf file to the newly installed qla2300.conf file. This requires that perl be available in the search path, or in one of the following well known locations: /bin, /usr/local/bin, /usr/sbin, or /usr/bin.
    If the update process does not find perl, it skips this step. If this happens, you can run this again after installing the package. For details, see the qlconf_migrate_readme.txt file.

NOTE: For configuration assistance or to implement HBA monitoring, install the SANsurfer HBA Manager or the SANsurfer command utility (CLI).

4.3 Installing and Configuring the FC-IP Driver

For FC-IP driver procedures, see the following sections:

4.3.1 Installing the FC-IP driver

To install the FC-IP driver:

  1. Login to your Solaris system as root.
  2. Locate the first instance number of the FC HBA driver used for FC-IP. If the instance number is greater than zero, you must change the FC-IP driver configuration file from the default setting. Change the instance number to match that of the FC HBA driver. For example:
    File: q3ip.conf name="q3ip" parent="pseudo" instance=0;
  3. Enter the following command to add the driver to Solaris:
    add_drv q3ip

This completes the FC-IP Driver Installation.

4.3.2 Configuring the FC-IP driver

Decide the driver instance number on which to run IP. The system uses this number to plumb the IP. The following example uses an HBA instance of zero.

  1. Enter the following commands to plumb the IP:
    devfsadm
    ifconfig q3ip0 plumb
  2. Create a hostname file in the /etc directory for the FC-IP driver. This file contains the name given to the host to which the FC-IP connects. The /etc/hosts file must include this hostname with a corresponding IP address that is in a different subnet than other Ethernet HBAs on the system. For example:
    hostname.q3ip0
  3. Restart the system:
    -- reboot with the -r option

4.4 Removing the Driver

The driver's Dynamic Unload (or "no-reboot driver") functionality allows you to unload the driver from the system without a system reboot. Older driver versions (prior to 4.15) still require a reboot to remove them from system memory.

To remove the FC HBA driver for Solaris, follow the procedures described in the following sections:

4.4.1 Package Pre-Removal

You must remove previous versions of the driver before installing the new driver.

If the system includes the FC-IP driver, remove it prior to removing the driver package; otherwise, you will need to reboot to remove the driver. For example:

ifconfig q3ip0 unplumb
rm /etc/hostname.q3ip0
rem_drv q3ip

To remove the FC HBA driver package, use the pkgrm command as follows:

  1. Login as root.
  2. Determine driver package name.
    The qla2300 pre 4.12 driver package names are as follows:
    OS Pkg name
    Solaris 2.6
    QLA2300-1
    Solaris 7
    QLA2300-2
    Solaris 8-9
    QLA2300-3

    The qla2300 4.12 and later driver package names are as follows:
    OS Pkg name
    All Solaris versions
    QLA2300

    NOTE: An old driver package conflicts with the new driver package. For example, "QLA2300-3" conflicts with new driver package named "QLA2300"; this requires removing the old package prior to installing the new one.
  3. To confirm the installation of the current driver, use the pkginfo command (pkginfo <package name>). For example:
    pkginfo QLA2300-3
    or
    pkginfo QLA2300
  4. Stop any utilities that are using the FC HBA driver (for example, any third-party applications that use SNIA APIs).
  5. Unmount any partitions that use the FC HBA driver.
  6. Stop any IOs going to raw partitions.

4.4.2 Back Up Files

Starting with the Solaris driver version 4.07, the system automatically backs up the qla2300.conf file, which is generated during the package removal. If you are uninstalling an earlier version of the driver, you must manually back up the /kernel/drv/qla2300.conf file for future reference.

For driver versions between 4.07 and 4.14, the system creates a backup file in the /kernel/drv directory. For driver versions 4.15 and later, the system creates a backup file in the /opt/QLogic_Corporation/confbkup directory (unless the default directory is overridden during driver installation).

The format of the backup file is:
qla2x00.conf_yymmddhhmmss

where:
yy = year (00 - 99)
mm = month (01 - 12)
dd = day (01 - 31)
hh = hour (00 - 23)
mm = minutes (00 - 59)
ss = seconds (00 - 59)

yymmddhhmmss = timestamp denoting the backup file creation date

NOTE: If the current qla2300.conf file matches the previous qla2300.conf file, the system will not create a new one. If a qla2300.conf backup file does not exist, the system creates a new backup file.

4.4.3 Package Removal

To remove the driver package from the system:

  1. Type the following command:
    pkgrm <driver package name>
  2. Answer the pkgrm queries. Depending on your driver version, one of the following processes occurs:
    • When uninstalling the 4.15 driver (or later), the system dynamically removes the driver binary from system memory. You must stop all I/Os, unmount partitions, stop all applications that use the SNIA APIs, and unconfigure FC-IP (if configured/plumbed).
      NOTE: If the driver uninstall process is unable to remove the driver for some reason (i.e., partitions still mounted, SNIA APIs being used, I/O is active, or IP is active, etc.), a message states that the dynamic unload cannot finish. You have 15 seconds to type a control-c (^c) to terminate the pkgrm (which is safe to do). You can then correct the problem and re-run the pkgrm command. If you do NOT type control-c (^c) within 15 seconds, the pkgrm continues the uninstall process; however, this will prevent you from loading a new driver dynamically because the old driver is still running, which requires a reboot.
    • When removing a 4.14 (or earlier) driver, one of the following options apply:
      • If you are planning to install (or update) the FC HBA driver, you may postpone the reboot to remove the 4.14 (or earlier) driver binary, until after you install the updated FC HBA driver (as instructed in the installation section). You may now return to the installation section of this readme.
      • If you are not planning to install (or update) the FC driver, you must reboot the system to remove the driver binary. To properly shut down processes and reboot the system, see the appropriate Solaris documentation. If you are sure it is safe to reboot the system, enter:
        reboot -- -r

After rebooting the system, if there is no FC HBA driver present to attach to the FC HBA, an installed native Solaris driver (qlc) will attach and bind to the HBA. Neither QLogic nor Sun supports this possible configuration.

5. Driver Parameters

You can specify parameter values on a per instance basis for the FC HBA driver. These configuration parameters are available in the /kernel/drv/qla2300.conf file. Upon system initialization, the driver displays its ID banner, including its version number and instance number. The system also saves the ID banner in the /var/adm/messages file.

Parameter values on a per instance basis appear as the driver instance number in a parameter's hba field. The general format of a driver parameter entry is:
hba<instance number>-<parameter name>=<parameter value>;

NOTE: The parameter entries must not include any leading spaces.

For example, to specify the link-down-timeout value for driver instance 3, the parameter entry would be the following without the leading spaces:
hba3-link-down-timeout=60;

On systems containing multiple HBA instances, if you do not enter a value for a specific parameter, it obtains the instance of zero by default. Persistent name binding entries are exempt from this rule.

NOTE: In a system configured with a single HBA, the instance number may not be zero since the instance number depends on the other configured bus adapters and the kernel's bus scanning procedure.

For more details, see the following topics:

5.1 FC HBA Parameters

FC HBA Driver Parameter Descriptions
Name:
Maximum frame length
Type:
Integer, bytes; Range: 512, 1024, 2048;
Default: 1024 (QLA2200), 2048 (QLA2300)
Usage:
This field specifies the frame payload length (in bytes) used by the ISP23xx firmware.
NOTE: The minimum value is 512 bytes; if this variable is not equal to 512, 1024, or 2048, the ISP23xx defaults to values specified above.
Entry:
hba0-max-frame-length=2048;
 
Name:
Execution throttle
Type:
Integer, commands; Range: 1 - 65535; Default: 16
Usage:
This field specifies the maximum number of commands sent per LUN by the ISP23xx firmware.
NOTE: Exceeding device capabilities causes unneeded command retries that impact performance.
Entry:
hba0-execution-throttle=16;
 
Name:
Login retry count
Type:
Integer, count; Range: 0 - 255; Default: 1
Usage:
This field specifies the maximum number of retry attempts for the firmware when the login into a device fails.
NOTE: Large values may cause long delays during initialization and device reconfiguration.
Entry:
hba0-login-retry-count=8;
 
Name:
Enable HBA hard loop ID
Type:
Integer, flag; Range: 0 (disable), 1 (enable); Default: 0
Usage:
This field allows the setting of adapters hard loop ID on the Fibre Channel bus.
NOTE: May be necessary on some bus configurations where devices fail to appear.
Entry:
hba0-enable-adapter-hard-loop-ID=0;

 

Name:
HBA hard loop ID
Type:
Integer, ID; Range: 0-125; Default: 0
Usage:
This field specifies the adapters hard loop ID to be used on the Fibre Channel bus.
NOTE: This field takes effect only when HBA hard loop ID is enabled.
Entry:
hba0-adapter-hard-loop-ID=0;
 
Name:
Enable LIP reset
Type:
Integer, flag; Range: 0 (disable), 1 (enable); Default: 0
Usage:
This field enables the HBA to issue a LIP reset during Fibre Channel reset.
Entry:
hba0-enable-LIP-reset=0;
 
Name:
Enable LIP full login
Type:
Integer, flag; Range: 0 (disable), 1 (enable); Default: 1
Usage:
This field enables the HBA to issue a LIP full login reset during Fibre Channel reset.
Entry:
hba0-enable-LIP-full-login=1;
 
Name:
Enable LIP target reset
Type:
Integer, flag; Range: 0 (disable), 1 (enable); Default: 0
Usage:
This field enables the HBA to issue a LIP target reset during Fibre Channel reset.
Entry:
hba0-enable-target-reset=0;
 
Name:
Reset delay
Type:
Integer, seconds; Range: 0 - 255; Default: 5
Usage:
This field specifies the delay after a reset before sending commands to the devices on the Fibre Channel bus.
Entry:
hba0-reset-delay=5;
 
Name:
Port down retry count
Type:
Integer, count; Range: 0 - 255; Default: 8
Usage:
This field specifies the amount of command retries to be done when devices are not responding on the Fibre Channel bus.
NOTE: Large values may cause long delays for failover software to detect a failing device.
Entry:
hba0-port-down-retry-count=8;
 
Name:
Port down retry delay
Type:
Integer, count; Range 0 - 255; Default: 0
Usage:
Amount of time to delay between port down retries.
NOTE: Large values may cause long delays for failover software to detect a failing device. They may also cause upper layer driver or applications to timeout the I/Os.
Entry:
hba0-port-down-retry-delay=0;

 

Name:
Maximum LUNs per Target
Type:
Integer, count; Range: 1 - 256; Default: 8
Usage:
Maximum number of LUNs to scan for, if the target does not support SCSI Report LUNs command.
NOTE: Large values may cause long delays during boot.
Entry:
hba0-maximum-luns-per-target=8;
 
Name:
Connection options
Type:
Integer, mode; Range: 0 - 2; Default: 2
0 = loop only
1 = point-to-point only
2 = loop preferred, else point-to-point
Usage:
This field specifies the connection mode the driver firmware uses. When connecting the HBA to a switch port with auto- mode sensing capability (a G_port), it is recommended that this parameter be set to either 0 or 1, not 2. Setting this parameter to 2 when connected to a G_port on a switch may result in device lost or system hang.
Entry:
hba0-connection-options=2;
 
Name:
Enable FCP 2 Error Recovery
Type:
Integer, flag; Range: 0 (disable), 1 (enable); Default: 1
Usage:
This field enables/disables the Fibre Channel FCP 2 error recovery support.
Entry:
hba0-fc-tape=1;
 
Name:
Fibre Channel Data Rate Option (QLA2300 only)
Type:
Integer, mode; Range: 0-2; Default: 2
0 = 1 gigabit/second
1 = 2 gigabit/second
2 = Auto-negotiate
3 = 4 gigabit/second
4 = 8 gigabit/second
Usage:
This field specifies the data rate which the driver uses.
Entry:
hba0-fc-data-rate=2;

 

Name:
PCI latency timer
Type:
Integer, bytes; Range: 0x8 - 0xF8; Default: 0x40
Usage:
This register specifies the minimum number of PCI clocks that the HBA has on the PCI bus when bursting data. In multiples of 8 bytes.
Entry:
hba0-pci-latency-timer=0x40;
 
Name:
PCI-X Maximum Memory Read Byte Count
Type:
Integer, bytes; Range: 0, 128, 256, 512, 1024, 2048, 4096
Default: 2048
Usage:
This register specifies the maximum byte count that the HBA can specify in the attribute phase of an initiated burst memory read command.
Entry:
hba0-pci-x-max-memory-read-byte-count=2048;
 
Name:
Link down error
Type:
Integer, flag; Range: 0 (disable), 1 (enable); Default: 1
Usage:
This field disables the driver error reporting during link down conditions.
Entry:
hba0-link-down-error=1;
 
Name:
Link down timeout
Type:
Integer, seconds; Range: 0 - 240; Default: 60
Usage:
This field specifies the amount of time the driver waits for a Fibre Channel loop to come up before reporting the failure.
NOTE:
Small values may report transient errors that should be ignored.
Entry:
hba0-link-down-timeout=60;
 
Name:
Dynamic device support
Type:
Integer, flags; Range: 0, 1, 2, 4, 8 Default: 0 -- Dynamic device support enabled.
0 = Dynamic device support enabled for all types of devices.
1 = Dynamic device support disabled for all types of devices.
2 = Dynamic device support disabled for disk devices only.
4 = Dynamic device support disabled for tape devices only.
8 = Dynamic device support disabled for ses devices only.
Usage:
You must also remove the driver's entry in the corresponding sd.conf, st.conf, and ses.conf file (for example, parent="qla2x00"), and populate the file (such as, sd.conf) with the appropriate entries. You must reboot the machine to apply the changes. If disabling specific device types, you can combine the values 2, 4, and 8. (For example, to disable tape and ses, enter the value 12 (8+4)). When using any of the device-specific flag values, it is invalid to combine them with the "disable all types" value.
Entry:
hba0-disable-dynamic-device-support=0;

 

Name:
Persistent binding only option
0 = Reports to OS discovery of bound and non-bound devices
1 = Reports to OS discovery of persistently bound devices only
Usage:
This field sets the OS discovery of devices using persistent binding.
Type:
Integer, mode; Range: 0-1; Default: 0
NOTE: This entry is ignored when qla-mpconfig parameter is found.
Entry:
hba0-persistent-binding-configuration=0;
 
Name:
Persistent binding by port ID
Type:
Integer, flag; Range: 0 (disable), 1 (enable); Default: 0
Usage:
This field enables binding by port ID instead of node/port names. When enabled, a target can be replaced with a new device, and the new device appears to the OS as the same target ID.
NOTE: Use this option with caution. Enabling this feature prevents the driver from rebinding devices which may have been swapped, removed, and so forth, on the fabric switch. If this option is enabled and devices on the switch are inadvertently switched (for example, if cables are swapped), it sends the incorrect data to the devices.
Entry:
hba0-persistent-binding-by-port-ID=0;
 
Name:
Fast Error Reporting
Type:
Integer, flag; Range: 0 (disable), 1 (enable); Default: 0
Usage:
This field enables fast driver error reporting to Solaris.
Entry:
hba0-fast-error-reporting=0;
 
Name:
Enable SBUS initialization for Xilink download
Type:
Integer, flag; Range: 0 (disable), 1 (enable); Default: 0
Usage:
This field enables SBUS board initialization by the driver for use with the Xilink emulator.
Entry:
hba0-xilinx-mode=0;
 
Name:
Extended logging level
Type:
Integer, flag; Range: 0 (disable), 1 (enable); Default: 0
Usage:
This field enables logging of driver detected events occurring either in the driver or Fibre Channel bus. Events are logged in Solaris /var/adm/messages file.
Entry:
hba0-extended-logging=0;
 
Name:
Queue full retry count
Type:
Integer, count; Range: 0 - 255. Default: 0
Usage:
This field specifies the number of times to retry a SCSI queue full error.
Entry:
hba0-queue-full-retry-count=0;

 

Name:
Queue Full Retry Delay
Type:
Integer, seconds. Range: 0 - 255 seconds. Default: 2
Usage:
This field specifies the amount of time to delay after a SCSI queue full error before starting any new I/O commands.
Entry:
hba0-queue-full-retry-delay=2;
 
Name:
Enable DH-CHAP security protocols (QLA2300 only)
Type:
Integer, flag; Range: 0 (disable), 1 (enable); Default: 0
Usage:
This field enables Fibre Channel security protocol DH-CHAP.
Entry:
hba0-security-protocols=0;
 
Name:
Fabric-Device Management Interface (FDMI) support.
Type:
Integer, flag; Range: 0 (disable), 1 (enable); Default: 0
Usage:
This field enables/disables the FDMI support.
Entry:
hba0-FDMI-support=0;
 
Name:
SCSI targets
Type:
Integer, comma separated list; Range: 0-255
Usage:
To limit the target scan and speed up the boot process this list specifies the targets that are contained in the SANsurfer HBA Manager.
Entry:
SCSI-targets="88,2,92,72";
 
Name:
Last multi-path ID
Type:
Integer, count; Range: 0 - 255
Usage:
To limit the target multi-path ID scan and speed up the boot process this specifies the last multi-path ID contained in the SANsurfer HBA Manager configuration.
Entry:
last-mp-ID=255;
 
Name:
VPD support
Type:
Integer, flag; Range: 0 (disable), 1 (enable); Default: 0
Usage:
Uses the device VPD data in failover configurations to help identify devices.
Entry:
hba0-VPD-support=0;
 
Name:
Enable Flash Load
Type:
Integer, flag; Range: 0 (disable), 1 (enable); Default: 0
Usage:
This field enables the loading of HBA firmware from the flash chip instead of from the driver. This applies only to 4Gb and 8Gb FC HBAs.
Entry:
hba0-enable-flash-load=0;

 

Name:
Advance Interrupt Framework (AIF) support
Type:
Integer, mode; Range: 0-4; Default: 1
0 = disable AIF
1 = disable MSI-X
2 = disable MSI
3 = disable MSI and MSI-X
4 = system default
Usage:
Enables the use of AIF for OS levels that have support. MSI and MSI-X options are available only for 4Gb and 8Gb FC HBAs.
Entry:
hba0-AIF-support=1;
 
Name:
Power Management support
Type:
Integer, flag; Range: 0 (disable), 1 (enable); Default: 0
Usage:
Enables the OS power management to power down HBAs.
Entry:
hba0-power-management=0;
 
Name:
Port Data Rate
Type:
String, port name, range: 16 characters Integer, rate; Range: 0-4;
0 = 1 gigabit/second
1 = 2 gigabit/second
3 = 4 gigabit/second
4 = 8 gigabit/second
Usage:
Informs the driver of the ports data rate.
Entry:
iidma-rate-2100002037004ac9=1;
 
Name:
Legacy errors
Type:
Integer, flag; Range: 0 (disable), 1 (enable); Default: 0
Usage:
Changes the errors reported to be the same as 4.xx drivers.
Entry:
hba0-legacy-errors=0;
 
Name:
Extended Firmware Tracing
Type:
Integer, flag; Range: 0 (disable), 1 (enable); Default: 0
Usage:
Allocates kernel memory for extended firmware trace buffer.
NOTE: This option may affect overall performance.
Entry:
hba0-enable-fwexttrace=0;
 
Name:
Fibre Channel Event Tracing
Type:
Integer, flag; Range: 0 (disable), 1 (enable); Default: 0
Usage:
Allocates kernel memory for Fibre Channel event trace buffer.
NOTE: This option may affect overall performance.
Entry:
hba0-enable-fwfcetrace=0;

 

Name:
SCSI Unit Attention
Type:
Integer, count; Range: 0 (disable), 1 - 255; Default: 0
Usage:
This field specifies the number of SCSI Unit Attentions that will trigger a failover. A value of zero will disable failover on unit attentions.
Entry:
hba0-SCSI-Unit-Attention=0;

 

Q2IP/Q3IP Parameter Descriptions
Name:
Maximum number of receive buffers
Type:
Integer, count; Range: 64 - 65535; Default: 128
Usage:
This field specifies the number of receive buffers available for incoming IP packets.
Entry:
hba0-ip-buffers=128;
 
Name:
Maximum Transfer Unit (MTU)/ receive buffer size
Type:
Integer, bytes; Range: 1500 - 65256; Default: 65256
Usage:
This field specifies the maximum size of IP packets
Entry:
hba0-ip-mtu-size=65256;
 
Name:
Enable extended logging
Type:
Integer, flag; Range: 0 (disable), 1 (enable); Default: 0
Usage:
This field enables logging of driver detected events occurring either in the driver or Fibre Channel bus. Events are logged in Solaris /var/adm/messages file.
Entry:
hba0-extended-logging=0;

Hard-coded NVRAM values

The following firmware option values are hard-coded in the driver:

1. Enabled Node Name option.
2. Enabled Full Login after LIP.
3. Disabled Stop PortQ on Full Status.
4. Enabled PDBC notify.
5. Enabled Target Inquiry Data for disabled LUNs.
6. Enabled ADISC.
7. Disabled Disable Initiator Mode.
8. Disabled Enable Target Mode.
9. Enabled Fairness in loop arbitration.

5.2 Persistent Name Binding

Persistent Name Binding support is available for target devices. This support allows you to associate a specified device World Wide Port Name (WWPN) to a specified SCSI target ID.

For driver version earlier than 4.15, it is implemented through both the /kernel/drv/sd.conf and /kernel/drv/qla2300.conf files. The matching between the target device port, the SCSI target ID, and the HBA driver instance happens inside /kernel/drv/qla2300.conf.

For driver versions 4.15 and later, the driver dynamically discovers targets, so no entries in the sd.conf or st.conf files are required. Note that if you disable dynamic discovery of devices (via the hbaX-disable-dynamic-device-support parameter), you must populate the sd.conf and st.conf files as noted above for pre-4.15 drivers.

The Persistent Name Binding support for target devices associates a SCSI target ID to a specified device World Wide Port Name or port ID. A specified port ID binding takes precedence over World Wide Port Name binding. In other words, this entry changes the target ID of the device to the number specified in the entry.

  • To enable persistent binding by WWPN, add the following lines in the qla2300.conf file for each target device:
    hba<#>-SCSI-target-id-<#>-fibre-channel-port-name="<device WWPN>";
    For example, to associate the following WWPN with target ID 2 on HBA instance 1, enter:
    hba1-SCSI-target-id-2-fibre-channel-port-name="2100002037004ac9";
  • To enable Persistent Binding by port ID, add the following lines in the qla2300.conf file:
    hba<#>-SCSI-target-id-<#>-port-id="<device port ID>";
    For example, to associate the following port ID with target ID 2 on HBA instance 1, enter:
    hba1-SCSI-target-id-2-port-id="10031e";
  • To find the current mapping between the device WWPN or port ID and SCSI ID of the target devices detected by a particular HBA instance, look in the /var/adm/messages file for entries similar to the following:
    qla2300: hba1-SCSI-target-id-2-fibre-channel-node-name="2000002007004ac9";
    qla2300: hba1-SCSI-target-id-2-fibre-channel-port-name="2000002037004ac9";
    qla2300: hba1-SCSI-target-id-2-port- id="10031e";
    qla2300: hba1-SCSI-target-id-3-fibre-channel-node-name="2000002037004ac7";
    qla2300: hba1-SCSI-target-id-3-fibre-channel-port-name="2000002037004ac7";
    qla2300: hba1-SCSI-target-id-3-port-id="10031f";

IMPORTANT!

  • Unlike other parameter entries in the qla2300.conf file, values indicated in Persistent Name Binding entries for instance 0 do not apply to other instances when there are no entries for the other instances.
  • Persistent Name Binding entries are optional entries in the qla2300.conf file. These entries do not dictate which devices are scanned by the driver, and do not perform any device masking. Absence of this entry for any given device name or SCSI ID does not direct the driver to perform any type of device masking.
  • For target devices, if no Persistent Name Binding entries are specified, the default SCSI target IDs assigned are the loop ID of the devices. To identify which default SCSI target IDs are assigned to fabric devices, see section 6.1.
  • The system does not use the types of Persistent Binding entries listed above if this information has been entered using the SANsurfer FC HBA Manager or the CLI utilities. To check this, search the qla2300.conf file for qla-mp-config-required. If this text exists, the system will ignore the previous persistent binding entries.

CAUTION! Be careful when sharing the devices among multiple HBAs. All target devices must be bound with all HBA instances so the devices show up in a pre-determined way. A shared device that is bound on one HBA instance but unbound on another may show up at an unexpected SCSI target ID for the unbound HBA instance. This may lead to data corruption on the device if the user unknowingly writes to the unexpected device.

5.3 Target Masking

The Persistent Binding Configuration option enables the OS to see only the persistent bound targets. To use this option:

  1. Persistent bind one or more targets you want the OS to see, as describe in section 5.2.
  2. Enable the Persistent Binding Configuration option to mask off the targets you want to hide from the OS.

This parameter takes effect after rebooting the system or during a dynamic update. (See the readme file in the /opt/QLogic_Corporation/drvutil directory).

5.4 LUN Masking

The driver reports the enabled LUNs in the /var/adm/messages file. For example:
Jul 23 12:01:38 qla2300: qla2300-hba0-SCSI-target-id-0-lun-0-enable;

To mask a LUN:

  1. Copy the following portion of the text to the configuration file:
    hba0-SCSI-target-id-0-lun-0-enable;
  2. Replace "enable" with "disable":
    hba0-SCSI-target-id-0-lun-0-disable;

This parameter takes effect upon reboot or on a dynamic update (see utility readme file in the /opt/QLogic_Corporation/drvutil directory).

5.5 Failover

To enable the driver to perform failover, use the SANsurfer FC HBA Manager. However, if you use the SANsurfer FC HBA Manager to configure the driver, it uses the configuration set created in that application instead of enforcing persistent binding.

5.6 FC-SP Security

To enable the driver to perform DH-CHAP security protocols on a per HBA bases, use the hbaN-security-protocols parameter. This uses the Diffie Hellman - Challenge Handshake Authentication Protocol (DH-CHAP) security protocol, which supports the following settings:

  • DH-CHAP with a NULL DH exchange currently supports bi-directional authentication.
  • MD5 hashing algorithm, which has been ported from RSA Data Security, Inc. MD5 Message-Digest Algorithm.
  • User-defined security keys for the HBA and device (such as a switch). Security keys must be 128 bits long, the size of the hashing algorithm.
  • User-defined association of the device node name with the driver's security key. To do this, edit the driver configuration file to add a text entry that identifies the node name with the device security key. This requires at least two keys: one for the HBA and one for the device. If a switch resides between the device and the HBA, you must add a key for the switch as well. Boot is not currently supported with security paths. The security key parameter uses the following format:
    Security Key string = "WorldWideNodeName,SecurityKey";
    For example:
    Device-0-security-key="200000c0dd00c6be,88776655443322118877665544332211";
    Device-1-security-key="200000e08b05a164,11223344556677881122334455667788";

6. Additional Notes

This section provides reference material, including FAQs, Crossroad CrossPoint 4100 installation procedures, and the names of optional management tools. For details, see the following sections:

6.1 Frequently Asked Questions

Q:
I installed an additional FC HBA in a system with a preexisting QLogic HBA, which is controlled by the Sun qlc (leadville) driver. Why is the second HBA failing to attach?
A:
If you installed the additional HBA before installing the FC HBA driver, initially both HBAs are controlled by Sun's qlc driver. When you install the FC HBA driver, the system indicates that driver has installed but failed to attach. This is OK, since Sun's qlc driver temporarily controls the second FC HBA. The FC HBA attaches itself to the second HBA after you reboot the system using the reconfigure (-r) option.
 
Q:
How are SCSI target IDs assigned for fabric devices?
A:
For devices on switches, if the HBA connection is F_Port then the target IDs start at zero, but if the connection is FL_Port, the target IDs start at 129 and go up to 254.
 
Q:
Why do some of the devices connected to a switch fail to show up and how can I fix this?
A:
Some switches have known firmware problems that prevent the driver from detecting devices on the first try. To work around this problem, you should add Persistent Name Binding entries for the devices connected to the switch. This forces the driver to perform retries when the specified devices are not found during the fabric configuration process.
 
Q:
The Persistent Name Binding entries are not working. Why does the driver see devices that I did not specify?
A:
Persistent Name Binding entries do not direct the driver to perform any type of device masking. For detailed information on how to perform device masking, contact QLogic technical support directly.
 
Q:
The Persistent Name Binding entries are not working. Why does the driver still assign other IDs to the devices I specified?
A:
For Persistent Name Binding entries to work properly, there must not be any conflict between the device names specified in the entries and the boot device name stored in the NVRAM. If there are still problems after you resolve the conflicts, contact QLogic technical support.

6.2 Crossroad CrossPoint 4100 Installation

To install the Crossroad CrossPoint 4100:

  1. Set the Fibre Channel Configuration to Hard ALPA Usage and set the ALPA value. This determines the loop ID (see the loop ID to AL_PA table).
  2. Set the Fibre Channel to SCSI Mapping Configuration to indexed. Use the fill command to setup the index table.
  3. Save the configuration and reboot the CrossPoint 4100.
  4. After configuring Crossroad CrossPoint 4100, power the unit off, then on again to apply the configuration to all host HBAs in the system.
                     LOOP ID TO AL_PA TABLE
                          ----------------------

       Loop ID     AL_PA     Loop ID     AL_PA     Loop ID     AL_PA
       (dec)       (hex)     (dec)       (hex)     (dec)       (hex)
       -----------------     -----------------     -----------------
        0           EF        42          A5        84          51
        1           E8        43          A3        85          4E
        2           E4        44          9F        86          4D
        3           E2        45          9E        87          4C
        4           E1        46          9D        88          4B
       -----------------     -----------------     -----------------
        5           E0        47          9B        89          4A
        6           DC        48          98        90          49
        7           DA        49          97        91          47
        8           D9        50          90        92          46
        9           D6        51          8F        93          45
       -----------------     -----------------     -----------------
        10          D5        52          88        94          43
        11          D4        53          84        95          3C
        12          D3        54          82        96          3A
        13          D2        55          81        97          39
        14          D1        56          80        98          36
       -----------------     -----------------     -----------------
        15          CE        57          7C        99          35
        16          CD        58          7A        100         34
        17          CC        59          79        101         33
        18          CB        60          76        102         32
        19          CA        61          75        103         31
       -----------------     -----------------     -----------------
        20          C9        62          74        104         2E
        21          C7        63          73        105         2D
        22          C6        64          72        106         2C
        23          C5        65          71        107         2B
        24          C3        66          6E        108         2A
       -----------------     -----------------     -----------------
        25          BC        67          6D        109         29
        26          BA        68          6C        110         27
        27          B9        69          6B        111         26
        28          B6        70          6A        112         25
        29          B5        71          69        113         23
       -----------------     -----------------     -----------------
        30          B4        72          67        114         1F
        31          B3        73          66        115         1E
        32          B2        74          65        116         1D
        33          B1        75          63        117         1B
        34          AE        76          5C        118         18
       -----------------     -----------------     -----------------
        35          AD        77          5A        119         17
        36          AC        78          59        120         10
        37          AB        79          56        121         0F
        38          AA        80          55        122         08
        39          A9        81          54        123         04
       -----------------     -----------------     -----------------
        40          A7        82          53        124         02
        41          A6        83          52        125         01

6.3 Optional Management Tools

QLogic provides optional management tools you can use to configure and monitor both local HBAs and HBAs within the SAN:

  • SANsurfer FC HBA Manager (GUI-based)
  • SANsurfer FC HBA CLI (CLI-based)

For details, see the QLogic website (http://www.qlogic.com).

7. Contacting Support

Please feel free to contact your QLogic approved reseller or QLogic Technical Support at any phase of integration for assistance. QLogic Technical Support can be reached by the following methods:

Web: http://support.qlogic.com

Email: support@qlogic.com

Go to Top