Bug 474736 - [QLogic 5.3 bug] qla4xxx - Add checks for <TargetName, ISID, TargetPortGroupTag>
[QLogic 5.3 bug] qla4xxx - Add checks for <TargetName, ISID, TargetPortGroupTag>
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: kernel (Show other bugs)
All Linux
high Severity high
: rc
: ---
Assigned To: Marcus Barrow
Martin Jenner
: OtherQA
Depends On:
Blocks: 373081 415811
  Show dependency treegraph
Reported: 2008-12-04 22:40 EST by Marcus Barrow
Modified: 2009-06-20 04:28 EDT (History)
11 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2009-01-20 15:00:03 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)
Add checks for <TargetName, ISID, TargetPortGroupTag> (2.39 KB, patch)
2008-12-05 13:15 EST, David Somayajulu
no flags Details | Diff
patch with version correction (4.14 KB, patch)
2008-12-05 14:31 EST, Marcus Barrow
no flags Details | Diff

  None (edit)
Description Marcus Barrow 2008-12-04 22:40:51 EST
Problem recently reported by NetApp when an iSCSI target has multiple IP's
Comment 1 David Somayajulu 2008-12-05 13:15:43 EST
Created attachment 325891 [details]
Add checks for <TargetName, ISID, TargetPortGroupTag>

The enclosed patch fixes the problem.

In iSCSI world a session encapsulates an Initiator-Target Nexus. The current inbox RHEL5.x driver uses the iSCSI TargetName (hence the <iSCSITargetName, iSCSIInitiatorName> tuple) to uniquely identify an iSCSI Session. 

This is however insufficient, when a Target Node (identified by an iSCSIName) can be accessed via multiple portals (identified by an IP Address or DNS assigned TargetHostName, tcp port#, portal group tag). This is the problem with the NetApp. Configuration.

           || Port A (IP1/DNS Name) ||  Port B (IP2 or DNS Name)
           ||                       ||
      |                                             |
	|    +------------------------------------+   |
	|    | NetApp.Target (unique iSCSIName)   |   |
	|    +------------------------------------+   |

As per spec., each iSCSI Session is uniquely identified by the 4-tuple <initiator Name, TargetName, ISID, TargetPortGroupTag>. Since InitiatorName is a constant in our case this reduces to a 3-tuple <TargetName, ISID, TargetPortGroupTag>

Remember that the ISID effectively encapsulates Target IP (or DNS assigned Target Host Name) and the TCP Port the target is listening on. 

The fix essentially checks for <TargetName, ISID, TargetPortGroupTag> instead of just the TargetName.
Comment 2 David Somayajulu 2008-12-05 13:17:46 EST
This is a very critical bug reported by NetApp. I would appreciate if you can help get this into RHEL5.3. 
-david S.
Comment 3 Marcus Barrow 2008-12-05 14:31:14 EST
Created attachment 325897 [details]
patch with version correction

Updated the version number to indicate 1st patch for 5.3 version of this driver.

Comment 4 Martin George 2008-12-05 15:16:36 EST
The inability to uniquely identify an iSCSI session is a major limitation of the current inbox RHEL 5.3 driver. Without this feature, the driver is potentially dangerous as it could lead data unavailability/corruption as seen in our tests at NetApp.

I strongly feel this patch which incorporates the above feature should be included for RHEL 5.3.
Comment 5 Andrius Benokraitis 2008-12-05 15:26:10 EST
Tom - patch freeze for snap 6 is TODAY. Will this make it, and does it qualify?
Comment 7 Don Zickus 2008-12-09 16:06:21 EST
in kernel-2.6.18-126.el5
You can download this test kernel from http://people.redhat.com/dzickus/el5
Comment 9 nandkumar mane 2008-12-15 08:39:01 EST
The reported iscsi session identification problem is resolved with iscsi tuple usage. I verified it on provided 2.6.18-126.el5 kernel, Now we can have more than one paths to same lun.
Thank you.
Comment 11 errata-xmlrpc 2009-01-20 15:00:03 EST
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.


Note You need to log in before you can comment on or make changes to this bug.