Re: [Ips] iSCSI-specific unit attention conditions

"Bill Galloway" <> Sat, 04 April 2009 06:28 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 1114C3A67AA for <>; Fri, 3 Apr 2009 23:28:51 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: 0.149
X-Spam-Status: No, score=0.149 tagged_above=-999 required=5 tests=[BAYES_40=-0.185, IP_NOT_FRIENDLY=0.334]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id ifdYSosTN3r3 for <>; Fri, 3 Apr 2009 23:28:50 -0700 (PDT)
Received: from ( []) by (Postfix) with SMTP id BF3343A68D9 for <>; Fri, 3 Apr 2009 23:28:02 -0700 (PDT)
Received: (qmail 22657 invoked by uid 0); 4 Apr 2009 06:25:26 -0000
Received: from unknown (HELO ( by with SMTP; 4 Apr 2009 06:25:26 -0000
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=default;; h=Received:Reply-To:From:To:References:In-Reply-To:Subject:Date:Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:X-Mailer:Thread-Index:Content-Language:X-Identified-User; b=G3ImgMMhTI4zWqtuje6oJtPB/b9TJDMK59EXxaENnLuoTiwi1gZEecbr7SSSbRIh1xeJSSfg9zjg16Ex75YnCBtoTL0OQW9BJHIfxPTZ64U0FCgAA91UNB24XMMdOel3;
Received: from ([] helo=billgsv4) by with esmtpa (Exim 4.69) (envelope-from <>) id 1LpzNK-0000FW-04 for; Sat, 04 Apr 2009 00:29:06 -0600
From: "Bill Galloway" <>
To: <>
References: <> <> <> <>
Date: Sat, 4 Apr 2009 01:29:03 -0500
Message-ID: <000001c9b4ee$a73e3da0$f5bab8e0$@com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
X-Mailer: Microsoft Office Outlook 12.0
Thread-Index: Acmy4bP4cvpmWgG5S1GjUaf5wa5pJwAAfJEAAAxGCiAAX7zz0AAWpM4wAAAS9lA=
Content-Language: en-us
X-Identified-User: {} {sentby:smtp auth authed with}
X-Mailman-Approved-At: Sat, 04 Apr 2009 10:38:03 -0700
Subject: Re: [Ips] iSCSI-specific unit attention conditions
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: IP Storage <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Sat, 04 Apr 2009 06:30:38 -0000

This is a re-send from a different email.... 

I am the guilty party associated with these sense codes.  I have been
traveling for the last few days or I would have chimed in sooner.  My
original proposal was not iSCSI specific.  It added three ASC/ASCQs which
were DEVICE PORT ADDRESS ADDED/CHANGED/REMOVED. The original names actually
explain the intent better (IMHO).

We produce an iSCSI target with many "Portal Groups" and "Network Portals".
Portal Groups come and go dynamically. Within a Portal Group, Network
Portals come, go, or change dynamically.  The intent is for the initiator to
be connected to all Network Portals, on all Portal Groups, all of the time.
This is usually accomplished with some combination of MCS in the initiator
and a MPIO (multipath) layer above the initiator.  The initiator is
perfectly willing to make all of these connections but there is no way
specified in any standard to accomplish this task.  There is a mix of layers
here that makes for a messy solution.  I am certainly open to a better one.

The SCSI layer could care less about Network Portals coming, going, or
changing but something has to kick the initiator to do a new discovery and
make the appropriate connections.  This would have been better handled at
the iSCSI layer but I could find nothing available.  In our implementation
the MPIO layer traps these UAs and kicks the initiator.

The SCSI layer does have a legitimate need to know about Portal Groups
coming and going.  These map to SAM target ports and the SCSI layer may need
to know. The initiator also needs to know so that it can make the new
connections.  In our implementation the MPIO layer also traps these UAs and
kicks the initiator.

Why three codes? No good reason.  My first proposal was more generic than
iSCSI and there was a hope that it would be useful to other protocols.  To
get the proposal passed, I agreed to change the names to be iSCSI specific.
In retrospect when I made the name change, I could have dropped it to one
code.  In our current implementation we treat all codes the same.

I hope this explains the rational for these ASC/ASCQs.  I am not aware of
anything in the iSCSI spec that accomplishes these goals. I am certainly
willing to explain further and to work with STORM to document this better
and/or come up with a better solution.

Bill Galloway
Pivot3, Inc.