Configuring Ports
This section covers the following topics:
Before You Begin
Before you start to configure ports for either configuration, you must first make
the following decisions:
Which ports will be in target mode and which will be in initiator mode.
Whether to configure all ports at once, or set them individually.
Configuring Fibre Channel Ports
This section covers the following procedures:
The Fibre Channel (FC) port provider can use the same HBAs that
are used for the Fibre Channel initiators. A given Fibre Channel port can
be used as an initiator or as a target, but not as both.
You can also configure a dual or quad port FC HBA so that
a subset of the HBA ports is in target mode and the rest
of the ports are in initiator mode.
The procedures in this section are specific to QLogic HBAs. The driver to
use with HBAs in initiator mode is qlc, which is a Qlogic driver.
The qlc driver works only in initiator mode, and cannot be used for
target mode. The COMSTAR driver for a target Qlogic 4G HBA is qlt.
Because initiator mode and target mode use different drivers, the driver you attach
to an HBA port defines its function as a target or initiator.
You can specify a driver for all the ports by specifying the PCI
device ID of the HBA. Or, you can configure the driver on a
port-by-port basis. Both methods are covered in this section. Each of these procedure
uses the update_drv(1M) command. For more information, see the update_drv(1M) man page.
Note - Before you begin the configuration process, it is recommended that you view the
current bindings of the ports.
To View Current Port Bindings
- Before making changes to the HBA ports, view what is currently bound to
the drivers.
In this example, the current binding is pciex1077,2432.
# mdb -k
Loading modules: [ unix krtld genunix specfs ...
> ::devbindings -q qlc
30001617a08 pciex1077,2432, instance #0 (driver name: qlc)
300016177e0 pciex1077,2432, instance #1 (driver name: qlc)
- Quit mdb.
> $q
To Set All Ports to Specific Mode
This procedure changes all ports on all HBAs of a specific PCI
device ID to target mode. The PCI device ID number binds a driver
to a port, thereby setting all the HBA ports with that PCI device
ID, for example, all Qlogic 4G PCI express HBAs, to target mode.
- Remove the current binding, which in this example is qlc.
In this example, the qlc driver is actively bound to pciex1077,2432. You must
remove the existing binding for qlc before you can add that binding to
a new driver. Single and double quotes are required in this syntax.
# update_drv -d -i '"pciex1077,2432"' qlc
Cannot unload module: qlc
Will be unloaded upon reboot.
This is not an error. The configuration files have been updated, but the
qlc driver remains bound to the port until reboot.
- Establish the new binding to qlt. Single and double quotes are required in
this syntax.
# update_drv -a -i '"pciex1077,2432"' qlt
devfsadm: driver failed to attach: qlt
Warning: Driver (qlt) successfully added to system but failed to attach
This is not an error. The qlc driver remains bound to the port,
until reboot. The qlt driver attaches when the system is rebooted.
- Reboot the system to attache the new driver, and then recheck the bindings.
# reboot
...
# mdb -k
Loading modules: [ unix krtld genunix specfs dtrace ...
> ::devbindings -q qlt
30001615a08 pciex1077,2432, instance #0 (driver name: qlt)
30001615e0 pciex1077,2432, instance #1 (driver name: qlt)
- Quit mdb.
> $q
- Verify that the target mode framework has access to the HBA ports.
# stmfadm list-target -v
Target: wwn.210100E08BA54E60
Operational Status : Offline
Provider Name : qlt(1)
Alias : -
Sessions : 0
Target: wwn.210100E08BA54E60
Operational Status : Offline
Provider Name : qlt(0)
Alias : -
Sessions : 0
To Set Selected Ports to a Mode
This procedure utilizes path-based bindings. It shows you how to use a specific device
path to bind a port to a driver that is different from the
one to which it is currently bound. This example starts with all ports
bound to the qlc driver (initiator mode), and shows you how to bind
a selected port to qlt (target mode).
- View a list of the HBA ports and their respective device paths.
# luxadm -e port
/devices/pci@780/QLGC,qlc@0,1/fp@0,0:devctl CONNECTED
/devices/pci@780/QLGC,qlc@0/fp@0,0:devctl CONNECTED
This example shows the HBA ports' respective device paths for a single HBA
with two ports.
- Set the top port to target mode and leave the bottom port
in initiator mode.
Note - You drop the initial /devices portion of the path, and include everything up
to /fp@0.... This is the path to which the system binds the qlt
driver. Single and double quotes are required in this syntax.
# update_drv -a -i '"/pci@780/QLGC,qlc@0,1/fp@0,1"' qlt
devfsadm: driver failed to attach: qlc
Warning: Driver (qlt) successfully added to system but failed to attach.
This is not an error. The qlc driver remains bound to the port
until reboot. The qlt driver attaches during reboot.
- Reboot the system to attach the new driver, and then recheck the bindings.
# reboot
...
# mdb -k
You should see that the port has changed from target mode (qlt) to
initiator mode (qlc).
- Quit mdb.
> $q
- Verify that the target mode framework has access to the HBA ports.
# stmfadm list-target -v