Sun Microsystems, Inc.  Oracle System Handbook - ISO 7.0 May 2018 Internal/Partner Edition
   Home | Current Systems | Former STK Products | EOL Systems | Components | General Info | Search | Feedback

Asset ID: 1-72-1012897.1
Update Date:2013-11-08
Keywords:

Solution Type  Problem Resolution Sure

Solution  1012897.1 :   Sun Qlogic HBA Not Establishing Link With Brocade Switch Port  


Related Items
  • Brocade 48000 Director
  •  
  • Brocade 200E Switch
  •  
  • Brocade 4100 Switch
  •  
Related Categories
  • PLA-Support>Sun Systems>DISK>HBA>SN-DK: FC HBA
  •  
  • _Old GCS Categories>Sun Microsystems>Switches>Brocade
  •  

PreviouslyPublishedAs
217691


Symptoms
Sun Qlogic HBA shows 'fc-fabric' or 'fc' via cfgadm but Brocade switch indicates 'In_Sync ' or 'L-Port 1 private' . No storage seen on host.


Resolution
It is possible that both the switch and host are getting stuck in determining the link type.

Review combination of switch port mode ,host qlc driver revision and qlc.conf setting.

If appropriate, set the host driver to initialise only in point-to-point mode.

The following instructions are applicable to the following minimum qlc driver versions.

Solaris10 patch 119130-19 or higher.
Solaris10 update 2 or higher.
Solaris 9 SAN 4.4.9 113042-14 or higher
Solaris 8 SAN 4.4.9 111097-22 or higher

This can be done system wide (ie for all qlc HBA instances in the host)
set connection-options=1 in /kernel/drv/qlc.conf and reboot host.

Or on a qlc instance by instance (HBA instance by instance) if required.
This could be required if there is a need to use private FC-AL devices (internal boot disks) as well as external fabric devices.

Identify the qlc instance number for the associated HBA that is required to be changed to point-to-point. This can be done either from a review of the 'qlc' driver messages logged via syslog /var/adm/messages OR by reviewing the /etc/path_to_inst file.

Using the qlc instance number, set point-to-point for that instance in /kernel/drv/qlc.conf

by prefixing 'hbaINSTANCE-' to the connection-options entry.

For example,
This host has 2 qlc instances/Sun Qlogic HBA ports as found in /etc/path_to_inst
"/pci@1c,600000/SUNW,qlc@1" 0 "qlc"
"/pci@1d,700000/SUNW,qlc@1" 1 "qlc"

The following entries in /kernel/drv/qlc.conf will set qlc instance 0 to fabric point-to-point whilst leaving all other qlc instance at the default (2)

connection-options=2;
hba0-connection-options=1;



Additional Information
Brocade switches will attempt to identify the optimum link type for an attached device when the switch port is configured in 'U' mode.

Sun Qlogic (qlc) driver revisions as specified in *Resolution* section will also change it's operating behavior based on settings in it's kernel config file (/kernel/drv/qlc.conf)

It is possible for a mismatch of the Brocade port mode and qlc mode to occur.

If the switch port mode is U - universal port (can become G,E, L or F port )
then the switch will first attempt to initialize the link for E-port (switch to switch).
This will fail as the attached device is a host not a switch, then the switch port will attempt to initialize in loop mode.
Should this succeed the switch port will attempt to 'upgrade' or 'promote' to F-port operation IF there is only 1 loop device connected to the port, which in the case of the host HBA is true.

With the switch port now operating in F-port, the qlc driver may attempt to change the link mode depending on it's own config settings. The qlc driver may perform loop initialization which will complete and the switch port attempts to promote to F-port again. This circle can be repeated resulting in the host not being able to see any storage.

"In_Sync" indicates that the switch port is receiving light and has synchronized on the bit-stream but that the attached device(s) are not online.

"L-Port 1 private" indicates that the switch port initialized in private loop mode with 1 device on the loop - the HBA'

The following is an extract from /kernel/drv/qlc.conf
#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.

connection-options=2;

This constant link initialization may be timing and firmware level dependent.
This has been observed on some combinations of Brocade switch FW and Sun Qlogic HBAs.

For example:
Brocade 3800 on FOS 3.1.3 when connected to Sun Qlogic 4G HBA
Brocade 4100 on FOS 5.1.x or higher when connected to Sun Qlogic 1G HBA

Certain combinations to avoid :-

Switch Port Mode qlc.conf connection-options=
U 2
G 0 or 2
L 1

A good indication that this is the cause can be achieved by looking at the 'portlogdump' within a 'supportshow' output. A rapidly repeating LIP AND OL1 set of entries for an individual port would suggest that the condition has been met.

The following example shows ports 1 and 2 in the condition. This is likely to be repeated many times.

/usr/xpg4/bin/grep -E 'LIP|OL1' SUPPORTSHOW_FILE

20:58:57.598 INTR pstate 2 OL1
20:58:58.166 LOOP loopscn 1 LIP f701
20:58:58.178 INTR pstate 1 OL1
20:58:59.595 LOOP loopscn 2 LIP 8014
20:59:00.175 LOOP loopscn 1 LIP 8014
20:59:00.186 LOOP loopscn 1 LIP f7f7
20:59:01.196 LOOP loopscn 1 LIP f701
20:59:01.208 INTR pstate 1 OL1
20:59:01.677 LOOP loopscn 2 LIP f701
20:59:02.686 LOOP loopscn 2 LIP f701
20:59:02.698 INTR pstate 2 OL1
20:59:03.205 LOOP loopscn 1 LIP 8014
20:59:04.695 LOOP loopscn 2 LIP 8014
20:59:04.745 LOOP loopscn 2 LIP 801e
20:59:04.779 LOOP loopscn 2 LIP f701
20:59:05.287 LOOP loopscn 1 LIP f701
20:59:05.786 LOOP loopscn 2 LIP f701
20:59:05.798 INTR pstate 2 OL1
20:59:06.319 LOOP loopscn 1 LIP f701
20:59:06.331 INTR pstate 1 OL1



Product
Brocade 3800 2 GB 16-Port Switch
Brocade 4100 Switch
Brocade 200E Switch
Brocade SilkWorm 24000 Director
Brocade SilkWorm 3250 Fabric Switch
Brocade SilkWorm 3850 Fabric Switch
Brocade SilkWorm 3900 Switch
Brocade SilkWorm 4900 Fibre Channel Switch
Brocade 48000 Director

Internal Comments
Sun Qlogic HBA not establishing link with Brocade switch port

(For background on this behavior and switch port settings refer to <Document: 1003514.1>  In some cases, it is preferable to set the qlc.conf such that it initializes in point-to-point rather than change the Brocade port setting. Some switch FW versions have not correctly followed the flowchart as per <Document: 1003514.1> and will attempt to initialize loop even when not configured to.


brocade, in_sync, qlc, hba, link
Previously Published As
87400

Change History
Date: 2007-09-19
User Name: 97961
Action: Approved
Comment: Publishing. No further edits required.
Version: 11
Date: 2007-09-18
User Name: 97961
Action: Accept
Comment:
Version: 0
Date: 2007-09-18
User Name: 116530
Action: Approved
Comment: looks good to me.
Version: 0
Date: 2007-09-18
User Name: 116530
Action: Accept
Comment:
Version: 0
Date: 2007-09-18
User Name: 34660
Action: Approved
Comment: for review
Version: 0


Attachments
This solution has no attachment
  Copyright © 2018 Oracle, Inc.  All rights reserved.
 Feedback