QLogic Fibre Channel Driver for Kernel 2.6.x

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

Table of Contents

1.
OS Support
2.
Supported Features
3.
Release History
4.
Saving the Driver Source to Diskette
5.
Installing the Driver
  5.1 Building the Driver from the Source
  5.2 Load the Driver Manually Using insmod or modprobe
  5.3 Making a RAMDISK Image to Load the Driver
6.
Driver Parameters
  6.1 NVRAM Parameters
  6.2 Driver Command Line Parameters
7.
SNIA API Library Package
  7.1 Installing SNIA API Library
  7.2 Uninstalling SNIA API Library
8.
Additional Notes
8.1 Failover Support
8.2 Persistent Binding
8.3 Configuration Data
  8.4 How to Force Rescan of Devices
8.5 Booting from SAN
  8.6 Compilation Messages
  8.7 Dynamically Modifying SCSI Black-list Entries
9.
IP Support
9.1 Load the Driver Manually Using insmod or modprobe
9.2 Configuring Interfaces
10.
Contacting QLogic

1. OS Support

Products supported: QLx2xx, QLA22xx, QLx23xx, QLx24xx
Updated 06/15/2006

This driver works with Linux kernel 2.6.x distributions, including Novell SuSE Linux Enterprise Server 9 and Red Hat Enterprise Linux 4 Advanced Server.

2. Supported Features

  • FCAL - direct attach loop
  • Point-to-point
  • Fabric support
  • Initiator mode only
  • Fault recovery on down loops
  • Persistent binding
  • Extended LUN support up to 255 LUNs
  • FC tape support
  • Non Failover and Failover capability

3. Release History

Please refer to Release Notes provided in the package (release.txt).

4. Saving the Driver Source to Diskette

  1. Download the qla2xxx-vx.yy.zz-dist.tgz file from QLogic's web-site.
  2. If prompted "What would you like to do with this file?" select Save this file to disk.
  3. Insert a blank diskette and download to the diskette directly.

5. Installing the Driver

This section makes extensive use of the build.sh script located in driver source (extras/build.sh). This script currently supports driver compilation (installation and updates) on SLES9 and RHEL4 distributions on four main hardware platforms (x86, x86_64, ia64 and ppc64).

The build.sh script supports for following directives:
# ./extras/build.sh

Build the driver sources based on the standard SLES9/RHEL4 build environment.
# ./extras/build.sh clean

Clean driver source directory of all build files (i.e. *.ko, *.o, etc).
# ./extras/build.sh new

Rebuild the driver sources from scratch.
This is essentially a shortcut for:
    # ./build.sh clean
    # ./build.sh

# ./extras/build.sh install

Build and install the driver module files.

This command performs the following:

  1. Builds the driver .ko files.
  2. Copies the .ko files to the appropriate /lib/modules/... directory.
  3. Adds the appropriate directive in the modprobe.conf[.local] to remove the qla2xxx_conf module when the qla2xxx modules in unloaded.
  4. Updates the newly built qla2xxx_conf.ko module with any previously saved data in /etc/qla2xxx.conf.
    # ./extras/build.sh initrd

5.1 Building a Driver from the Source Code

From the source code, you can build a qla2xxx.ko and a qla2200.ko, qla2300.ko, qla2322.ko, qla6312.ko, or qla2400.ko for your host system, and load the driver manually or automatically using a RAMDISK image during system boot time.

  1. Ensure the appropriate build environment is present on the system. For example, for SLES9, the kernel-headers and kernel-sources RPM files are required.
    # cd /mnt/cdrom/SuSE/RPMS (#cd /mnt/RedHat/RPMS for RHEL 4.)
    # rpm -ivh kernel-source*.rpm
    # rpm -ivh kernel-syms*.rpm

    RHEL 4 does not require the kernel source to be installed to build the qla2xxx modules.
  2. Using the diskette you created in Section 4, copy the qla2xxx-vx.yy.zz-dist.tgz file to /qla2x00. Follow these steps from the "/" (root) directory:
    # mkdir qla2x00
    # cd qla2x00
    # mount /mnt/floppy

    # cp /mnt/floppy/*.[bz2|gz] . (the period at the end is required)
    # tar -xvzf *.tgz
    # cd qlogic
    # ./drvrsetup
    (this will extract the source files directory in to the current directory)
    # cd qla2xxx-x.yy.zz
  3. Build the Driver modules from the source code by executing the build.sh script.
    # ./extras/build.sh
  4. To load the driver manually, see section 5.2. To make a RAMDISK image to load the driver during system boot time, see section 5.3.

5.2 Load the Driver Manually using insmod or modprobe

Before loading the driver manually, first build the driver binary from the driver source files as described in section 5.1.

  1. To load the driver directly from the local build directory, load the driver in following in order:
    # insmod qla2xxx_conf.ko or
    # insmod qla2xxx.ko
    or
    # insmod qla2300.ko
  2. To load the driver using modprobe, install the driver modules (*.ko) files to the appropriate kernel module directory:
    # ./extras/build.sh install
  3. Type the following to load the driver:
    # modprobe -v qla2300 (QLA246X/QLE246X, QLA23XX) or,
    # modprobe -v qla2322 (QLE236X)
    or,
    # modprobe -v qla2400 (QLA24XX/QLE24XX)

    NOTE: The modprobe -v qla2300 command will automatically load the qla2xxx.ko and qla2xxx_conf components.
  4. To unload the driver using modprobe:
    # modprobe -r qla2300
    This will unload qla2300.ko and qla2xxx.ko modules.
    # modprobe -r qla2xxx_conf
    This will unload qla2xxx_conf.ko

5.3 Making a RAMDISK Image to Load the Driver

To build a RAMDISK image on RHEL4 and SLES9, follow the steps listed in the following subsections:

5.3.1 RHEL 4 RAMDISK Image

To build the RAMDISK image perform the following steps:

  1. Follow the steps in section 5.1
  2. Install the driver modules (*.ko) files to the appropriate kernel module directory:
    # ./extras/build.sh install
  3. Edit the /etc/modprobe.conf file and add the following entries:
    alias scsi_hostadapter2 qla2xxx_conf (SANsurfer use only)
    alias scsi_hostadapter3 qla2322 (QLE236X) or qla2300 (QLA234X) or
    alias scsi_hostadapter4 qla2400 (QLA24XX)
  4. Change to the /boot directory.
  5. Take backup of current RAMDISK image:
    # cp -f initrd-2.6.[kernel_version].img initrd-2.6.[kernel_version].img.bak
  6. Build the RAMDISK image by executing the following command:
    # mkinitrd -f initrd-2.6.[kernel_version].img [kernel_version]
  7. Reboot the system to load the RAMDISK image with the QLogic driver.

5.3.2 SLES 9 RAMDISK Image

To build the RAMDISK image on SLES 9 perform the following steps:

  1. Follow the steps in section 5.1
  2. Install the driver modules (*.ko) files to the appropriate kernel module directory:
    # ./extras/build.sh install
  3. Edit the /etc/sysconfig/kernel file and modify the INITRD_MODULES directive. The first modules must be qla2xxx_conf (for SANSurfer) followed by qla2xxx. After qla2xxx, modules specific to the HBA installed in the system should be added (see Notes below).
    ...
    INITRD_MODULES=".... qla2xxx_conf qla2xxx qla2300 qla2322 qla6312 qla2400"
    ...
    Notes:
    qla2xxx_conf: SANsurfer use only
    qla2xxx: Common module
    qla2300: For QLA234X
    qla2322: For QLE236X
    qla2400: For QLA24XX
    qla6312: For QLA2XX
  4. Change to the /boot directory.
  5. Take backup of current RAMDISK image:
    # cp -f initrd-2.6.[kernel_version] initrd-2.6.[kernel_version].bak
  6. Build the RAMDISK image by executing the following command:
    # /sbin/mk_initrd
  7. Reboot the system to load the RAMDISK image with the QLogic driver.

6. Driver Parameters

The Driver parameters are divided into System Parameters and NVRAM Parameters sections.

6.1 NVRAM Parameters

The NVRAM features described below are hard-coded in the Driver. The changes made for the particular NVRAM feature in the Fast!Util do not take effect unless otherwise noted.

6.2 Driver Command Line Parameters

The driver gets its parameters from the command line itself or from modprobe option directive found in the modprobe.conf[.local] file. The parameters are in simple <keyword>=value format, i.e. ql2xfailover=1. Where <keyword> is one of the following option parameters:
Usage: insmod qla2xxx.ko <keyword>=value

Parameter Description Values
extended_error_logging This parameter defines whether the driver will print verbose logging information. 0 to disable; 1 to enable
ql2xfailover This parameter defines whether failover mode is enable or disable. . 0 to disable; 1 to enable; Default: 1
ql2xmaxqdepth This parameter defines the maximum queue depth reported to Scsi Mid-Level per device. The Queue depth specifies the number of outstanding requests per lun. Default: 32
ql2xlogintimeout This parameter defines the Login timeout value in seconds during the initial login. Default: 20 seconds
qlport_down_retry This parameter defines how long to wait for a port that returns a PORT-DOWN status before returning I/O back to the OS. Default: 0 (use value specified in NVRAM)
ql2xretrycount This parameter defines the maximum number of Scsi Mid-Level retries allowed per command. Default: 20 (standard mode value), 30 (failover mode value)
displayConfig This parameter defines whether to display the current configuration. 0 (don't display the configuration) 1(display the configuration)
Bind This parameter defines what target persistent binding method to use. 0 (bind by Portname); 1 (bind by PortID); Default: 0 (portname binding)
ConfigRequired This parameter defines how to bind the devices. 0 (present all the devices discovered to the OS); 1 (present only the configured devices, such as the device defined in /etc/qla2xxx.conf) to the OS; Default: 0
MaxPathsPerDevice This parameter defines maximum number of paths to a device. Default: 8 (compile time only)
MaxRetriesPerPath This parameter defines how many retries to perform on the current path before failing over to the next path in the path list. Default: 3
MaxRetriesPerIo This parameter defines total retries to do before failing the command and returning to the OS with selection timeout (DID_NO_CONNECT). Default: MaxRetriesPerPath * MaxPathsPerDevice ) + 1
QlFailoverNotifyType This parameter defines type of failover notification mechanism to use when a failover or failback occurs. Certain storage systems require special CDBs to be issued to do failover or failback. Default: 0 (none)
FailbackTime This parameter defines the delay in seconds before a failback is performed to ensure all paths are available. Default: 5 seconds
RecoveryTime This parameter defines the recovery time in seconds required before commands can be sent to the restored path. Default: 10 seconds
ql2xautorestore This parameter enables or disables the logic that restores the previous failed preferred path and/or controller for a given lun. This option toggles the default state. Combine one or more of the following model numbers into an inclusion mask:
0x80 - MSA A/A (auto-restore disabled)
0x20 - HSV111, HSV101, HSV200, HSV210 (auto-restore disabled)
0x10 - DSXXX (auto-restore disabled)
0x04 - HSV110, HSV100 (auto-restore disabled)
0x02 - MSA1000 (auto-restore disabled)
0x01 - XP (auto-restore enabled)
Default: 0
ql2xlbType This parameter defines the load Balance Method for the driver to use either static or dynamic:
0 (None) - Expose luns on the first active path and make them the preferred path or the first active optimize path and make them the preferred path (storages: MSA A/A and EVA A/A).
1 (Static load balancing) - Distribute and expose the LUNs across the active optimize port(s) or active un-optimize port(s) and HBA(s).
2 (Least outstanding I/O) - send command to the path with the lowest I/O count.
3 (Least Service time) - Send request to the path with the shortest execution time.
Default: 0
ql2xexcludemodel This parameter excludes device models from being a failover capable target. Combine one or more of the following model numbers into an exclusion mask:
0x80 - MSA A/A
0x20 - HSV111, HSV101, HSV200, HSV210
0x10 - DSXXX
0x04 - HSV110, HSV100
0x02 - MSA1000
0x01 - XP
Default: 0
ql2xtgtemul Enable/Disable target level grouping emulation. This option is necessary for the GUI to work correctly if the driver is set for lun level grouping of paths by lunid. The following storages uses this method of combining paths: HSV210, DSXXX, HSV110, MSA1000, XP. 1 - Enable target level grouping emulation; 0 - Disable target level grouping emulation;
Default: Enable

NOTE: For a comprehensive list of parameters enter the following command:
# /sbin/modinfo qla2xxx.ko

7. SNIA API Library Package

The SNIA API library is distributed (qlapi-<api_version>-rel.tgz) as part of driver combo package qla2xxx-vx.yy.zz-dist.tgz, which also includes the Source RPM package.

Using the diskette you created in Section 4, copy the distribution file qla2xxx-vx.yy.zz-dist.tgz to /qla2x00. Follow these steps from the "/" (root) directory:
# mkdir qla2x00
# cd qla2x00
# mount /mnt/floppy
# cp /mnt/floppy/*.tgz . (the period at the end is required)
# tar -xvzf *.tgz
# cd qlogic

7.1 Installing SNIA API Library

Type the following command in current directory to install/setup API library:
# ./libinstall (this installs/sets up HBA API library)

7.2 Uninstalling SNIA API Library

Type the following command in current directory to remove API library:
# ./libremove (Script file to remove HBA API library)

8. Additional Notes

8.1 Failover Support

8.1.1 How to Disable The Failover Support In The Driver

Failover support can be disabled in the qla2xxx driver by using the ql2xfailover module parameter:
# insmod qla2xxx.ko ql2xfailover=0 ; insmod qla2300.ko

To disable in modprobe.conf add the following after the driver:
# options qla2xxx ql2xfailover=0

NOTE: Failover is enabled by default when the 8.x driver is built.

8.1.2 Configuration Changes Made via SANsurfer

LUN Masking

NOTE: The Linux SCSI mid-layer requires communication to a target via LUN 0. Therefore, the driver will not mask Lun 0 if it is so defined to be by the application.

For the new LUN masking configuration to take effect, the driver must be reloaded. The following is an example of the sequence of actions to take:

  1. Load the driver:
    # modprobe qla2300
  2. Load the qlremote agent.
  3. Start the GUI and connect it to the destination system.
  4. Make LUN masking changes.
  5. Disconnect the host from GUI and stop qlremote agent.
  6. Unload the driver:
    modprobe -r qla2300 ; modprobe -r qla2xx_conf
  7. Reload the driver:
    # modprobe qla2300
  8. Load qlremote agent again.
  9. Start the GUI and connect it to the destination system.
  10. Now you should see the updated LUN masking configuration.

8.2 Persistent Binding

The Persistent Binding information consists of some adapter configuration entries along with some target entries. Persistent Binding can be specified in two ways: Manually or using SANsurfer. We recommend using SANsurfer for ease of use. The following is the procedure to manually add persistent binding commands.

The driver displays the current configuration when the displayConfig command line option is specified. The persistent binding configuration is found in /var/log/messages file. It prints the configuration information in the format required by the driver.

The best way to extract configuration messages is to use grep and direct the output to a file. You need to remove the Linux timestamp at the beginning of each message and combine them together on single line. For example:
# insmod qla2300.ko displayConfig=1
# grep "scsi-qla" /var/log/messages > /tmp/info.cfg

The format of the persistent binding commands is as follows:

Device descriptions:
scsi-qla<#>-adapter-port=<adapter port name value>;

The designated by qla<#>, where the <#> is the adapter instance number.

The parameter specifies the FC port name to be used for the adapter.
where <adapter port name value> is the FC port name value in hexa-decimal format. If this entry is not specified in the conf file, the default value is the adapter's port name as saved in the NVRAM.

Example:

scsi-qla0-adapter-port=210000e08b01158d\;
host adapter instance 0 has a portname of 210000e08b01158d
scsi-qla<#1>-tgt-<#2>-di-<#3>-node=<device FC name>;

This parameter associates the specified <device FC name> with the SCSI target ID value specified by <#2> and a device id value specified by <#3> where <device FC name> type is the FC nodename of the device, and <#2> is the SCSI target ID to be assigned to the device and <#3> is the device unique id.
Where:
<#1> Specifies the adapter instance number
<#2> Specifies the SCSI ID of Target
<#3> Specifies the path/device id
scsi-qla<#1>-tgt-<#2>-di-<#3>-port=<device FC name>;

This parameter associates the specified <device FC name> with the SCSI target ID value specified by <#2> and a device id value specified by <#3> where <device FC name> type is the FC port.
Where:
<#1> Specifies the adapter instance number
<#2> Specifies the SCSI ID of Target
<#3> Specifies the path/device id (always 0 for non-failover)

scsi-qla<#1>-tgt-<#2>-di-<#3>-disabled=<256 bit mask>;

This parameter associates the specified <256 bit mask> with the SCSI target ID value specified by <#2> and a device id value specified by <#3>.

Where:

<#1> Specifies the adapter instance number
<#2> Specifies the SCSI ID of Target
<#3> Specifies the path/device id

<256 bit mask>

msb                                                          lsb
000000000000000000000000000000000000000000000000000000000000000F

The mask above makes the first four luns, 3, 2, 1, and 0 of a given Target disabled on that target/path.

This mask specification is heavily type checked to be a sequence of 64 hex digits.

8.3 Configuration Data

Configuration/persistent data is loaded in the driver automatically when the driver is installed and loaded. Normally this information is passed to the driver via the command line, but due to the constraints inherent in using the command line we have provide an alternate method using QLA_OPTS.

8.3.1 QLA_OPTS

QLA_OPTS reads the configuration data from qla2xxx.conf and updates the binary module qla2xxx_conf.ko. The driver automatically tries to load the binary module qla2xxx_conf.ko at driver initialization time. Once loaded, the module passes the configuration information directly
to the driver.

The configuration data and be found in /etc/qla2xxx.conf.

NOTE: Approximately 300K of configuration space has been pre-allocated within the qla2200_conf/qla2300_conf module for configuration/persistent data.

8.3.2 Compatibility with SANsurfer FC Manager

QLA_OPTS works seamlessly with updated the SANsurfer FC Manager. All appropriate configuration data is written to the _conf.ko module.

8.3.3 Updating Configuration Manually

Manually updating the /etc/qla2xxx.conf file is strongly discouraged. Because it can cause the binary module and the configuration file to get out of sync. However, in the event that some persistent/configuration value needs to be changed manually, first change the /etc/qla2xxx.conf file, then run the following command in the driver's build directory to update the configuration module:
# ./extras/build.sh install

8.4 How to Force Rescan Of Devices

This software driver version allows you to force the driver to re-scan devices, which enables you to add a new device. This triggers the driver to initiate lun discovery process.

To force a rescan, follow these steps:

  1. Enter the following text from the command line:
    # echo "scsi-qlascan" > /proc/scsi/<driver-name>/<adapter-id> (qlogic driver re-scans)
    where <driver-name> can be either one: qla2100/qla2200/qla2300
    <adapter-id> is the instance number of the HBA.
  2. Force the scsi mid-layer to do its own scan and build the device table entry for the new device:
    # echo "scsi add-single-device 0 1 2 3" >/proc/scsi/scsi (scsi mid layer re-scans)
    where 0 1 2 3 is replaced by your Host Channel Id Lun.

8.5 Booting from SAN

8.5.1 Creating a Driver Disk (DD Kit) image

The driver disk (DD Kit) image enables to install the Red Hat 4/SLES 9 OS and QLogic driver on the Fibre Channel boot disk connected to the QLogic Host Bus adapters.

To build the driver disk image perform the following steps.
(Example RHEL4-U1 IA-32):

  1. Download 8.x_linux_driver_ddkit_for_redhat_suse_dist.tgz from the QLogic website (http://qlogic.com/support/drivers_software.asp).
  2. Untar the tgz file:
    # tar -xvzf *.tgz
  3. Type:
    # dd if=qla2xxx-8.01.00-x86-dd-RHEL4-U1.img of=/dev/fd0 bs=1440k (Requires a 1.44MB Floppy)
    NOTE: For 2Gb HBAs (QLA23xx) the embedded driver may also be used for the initial installation then updated to the latest driver.

8.5.2 RHEL 4 - Using the Driver Disk (DD Kit) image

NOTE: For QLA246X/QLE246X the dd disk must be used for Boot from SAN.

1. At the boot prompt boot:, type linux dd.

2. Continue the OS installation as normal.

8.5.3 RHEL 4 - Boot from SAN installation on non-LUN 0 LUN

The following procedure applies to the RHEL 4 distribution only.

When installing to a LUN other than LUN 0 and LUN0 is present the following steps must be taken in order to successfully boot from the LUN.

  1. At the Boot Loader Configuration screen, select Configure Advance Boot Loader Option and click the Next button.
  2. At the Advanced Boot Loader Configuration screen, click the Change Driver Order button.
  3. At the Edit Drive Order window move the entry for the boot LUN to the top of the list.
  4. Click OK to continue.
  5. Continue the OS installation as normal.

8.6 Compilation Messages

During driver compilation, you may see a message similar to the following:
warning: 'inter_module_*' is deprecated (declared at /usr/src/...)

This message is non-fatal and does not interfere with the functionality of the driver.

8.7 Dynamically Modifying SCSI Black-list Entries

On 2.6.x kernels you can dynamically change the SCSI blacklist either by writing to a /proc entry or using the scsi_mod moduled parameter (to be persistent across reboot). This requires the SCSI Vendor/Model information for the SCSI device, which you can find in /proc/scsi/scsi. Black list entries are in the form:
vendor:model:flags[,v:m:f]
where flags can be the following integer values:

	0x001   /*?Only scan LUN 0 */
    0x002   /* Known to have LUNs, force scanning, deprecated: Use max_luns=N */
	0x004   /* Flag for broken handshaking */
	0x008   /* unlock by special command */
    0x010   /* Do not use LUNs in parallel */
	0x020   /* Buggy Tagged Command Queuing */
	0x040   /* Non consecutive LUN numbering */      
 -- -> value need to be passed to "flags" variable for sparse lun
	0x080   /* Avoid LUNS >= 5 */
	0x100   /* Treat as (removable) CD-ROM */
	0x200   /* LUNs past 7 on a SCSI-2 device */
	  0x400   /* override additional length field */
	0x800   /* ... for broken inquiry responses */
	0x1000  /* do not do automatic start on add */
	0x2000  /* do not send ms page 0x08 */
	0x4000  /* do not send ms page 0x3f */
	0x8000  /* use 10 byte ms before 6 byte ms */
	0x10000 /*  192 byte ms page 0x3f request */
	0x20000 /* try REPORT_LUNS even for SCSI-2 devs (if HBA supports more than 8 LUNs) */
	0x40000 /* don't try REPORT_LUNS scan (SCSI-3 devs) */
    00000 /* device is actually for RAID config */
	  0x200000 /* select without ATN */
	0x400000 /* retry HARDWARE_ERROR */
For example:
# echo <VENDOR>:<MODEL>:040 > /proc/scsi/device_info

To enable persistence across reboots, you need to add the following line:
options scsi_mod dev_flags=<VENDOR>:<MODEL>:<FlAGS>
to the following file (based on distribution):
/etc/modprobe.conf for RHEL 4.0 and above and
/etc/modprobe.conf.local for SLES 9 and above and rebuild the ramdisk.

Please refer to section 5.3 on how to build ramdisk.

9. IP Support

9.1 Load the Driver Manually using insmod or modprobe

Before loading the driver manually, first build the driver binary from the driver source files as described in section 5.1.

To load the driver directly from the local build directory, type the following in order:
# insmod qla2xxx_conf.ko
# insmod qla2xxx.ko
# insmod qla2300.ko
# insmod qla2xip.ko

To load the driver using modprobe:

  1. Install the driver modules (*.ko) files to the appropriate kernel module directory:
    # ./extras/build.sh install
  2. Type the following to load the driver for qla23xx HBAs:
    # modprobe -v qla2xxx_conf
    # modprobe -v qla2300
    # modprobe -v qla2xip

    The modprobe -v qla2300 command will automatically load qla2xxx.ko the component.

To unload the driver using modprobe:

# modprobe -r qla2xip
# modprobe -r qla2300

This will unload qla2300.ko and qla2xxx.ko modules.
# modprobe -r qla2xxx_conf

This will unload qla2xxx_conf.ko.

The qla2xip driver will create a network-interface binding to each IP-capable recognized HBA. Binding entries can be viewed from the messages file after the IP driver has loaded:
qla2xip: QLogic IP via Fibre Channel Network Driver
qla2xip: Driver Version 1.0b2, Entry point: e08e5060
qla2xip: Mapping interface fc0 to HBA 210100e08b20a15b
qla2xip: Mapping interface fc1 to HBA 210200e08b40a25b

9.2 Configuring Interfaces

The following is for 2Gb HBAs only (QLA23xx/QLE236x).

You must configure the network interfaces to allow TCP/IP applications running on the host to communicate with other IP-capable QLogic HBAs.

Compile the following basic host information to allow the IP driver to pass TCP/IP data over QLogic HBAs in your host:

  • Interface name: fc0 (From above)
  • IP Address: 192.168.1.x (A non-routable address)
    Where 'x' is a unique number between (1 and 254)
  • Netmask: 255.255.255.0 (Standard class C mask)
  • Interface name: fc1 (From above)
  • IP Address: 192.168.2.x (A non-routable address)
    Where 'x' is a unique number between (1 and 254)
  • Netmask: 255.255.255.0 (Standard class C mask)

Use the ifconfig program to configure an interface with the compiled host information:
# ifconfig fc0 192.168.1.x up

Configure other interfaces (if multiple IP-capable HBAs are present in the host):
# ifconfig fc1 192.168.1.x up

Verify the configured interfaces:
# ifconfig

Output similar to the following should be displayed for the newly configured interfaces:
fc0   Link encap:Ethernet HWaddr 00:E0:8B:20:A1:5B
     inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0
     UP BROADCAST RUNNING MTU:4096 Metric:1
     RX packets:1214577458 errors:0 dropped:0 overruns:0 frame:0
     TX packets:1214213174 errors:0 dropped:0 overruns:0 carrier:0
     collisions:0 txqueuelen:32
     RX bytes:3081095492 (2938.3 Mb) TX bytes:2751945609 (2624.4 Mb)

fc1  Link encap:Ethernet HWaddr 00:E0:8B:40:A2:5B
     inet addr:192.168.2.1 Bcast:192.168.2.255 Mask:255.255.255.0
     UP BROADCAST RUNNING MTU:4096 Metric:1
     RX packets:1204464697 errors:0 dropped:0 overruns:0 frame:0
     TX packets:1194873236 errors:0 dropped:0 overruns:0 carrier:0
     collisions:0 txqueuelen:32
     RX bytes:1454694706 (1387.3 Mb) TX bytes:991094469 (945.1 Mb)

Configuration is now complete. Please verify that basic networking is possible between two hosts connected via two HBAs by using a simple ping command:
# ping 192.168.1.2

For additional information concerning Linux networking, please read the Linux Networking HOWTO available from http://www.tldp.org.

10. Contacting QLogic

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

North America Contact Information
Email: support@qlogic.com
Phone: (952) 932-4040

Support contact information for other regions of the world is available at the QLogic website:
http://support.qlogic.com

Go to Top

©Copyright 2006. All rights reserved worldwide. QLogic, the QLogic logo, and the Powered by QLogic logo are registered trademarks of QLogic Corporation. All other brand and product names are

trademarks or registered trademarks of their respective owners.