Subject: [Ips] Testing for the execution state (represented by identifying the Initiator Task Tag) MUST precede any other action at the target.

From: "Barry Reinhold" <[email-masked]>
Date: Fri, 2 Nov 2007 13:54:56 -0400

Question relative to the proper understanding of the following conformance
statement from 3.2.2.1

A numbered iSCSI request will not change its allocated CmdSN,

regardless of the number of times and circumstances in which it is

reissued (see Section 6.2.1 Usage of Retry). At the target, CmdSN is

only relevant when the command has not created any state related to

its execution (execution state); afterwards, CmdSN becomes

irrelevant. Testing for the execution state (represented by

identifying the Initiator Task Tag) MUST precede any other action at

the target. If no execution state is found, it is followed by

ordering and delivery. If an execution state is found, it is

followed by delivery.

Is the proper understanding of this requirement imply that if a task w/
ITT=100, sent in an iSCSI PDU w/ CmdSN = 10, has been submitted to the
device server and is "executing", that if another command with the same ITT
and a CmdSN = 12 (no CmdSN 11 has been xmitted) is received by the target,
it should ignore the CmdSN = 12 and submit the command to the device server?

So, I could send a Task Management command using the proper ITT (without the
immediate bit set) using an out of order CmdSN and the device server would
process the command, resulting in a response w/ a status?

Barry Reinhold

(603) 868-8411

 <mailto:[email-masked]> [email-masked]

_______________________________________________
Ips mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/ips

---

From: William Studenmund <[email-masked]>
Date: Fri, 2 Nov 2007 11:31:20 -0700

On Nov 2, 2007, at 10:54 AM, Barry Reinhold wrote:

> Question relative to the proper understanding of the following  
> conformance statement from 3.2.2.1
>
> Is the proper understanding of this requirement imply that if a task  
> w/ ITT=100, sent in an iSCSI PDU w/ CmdSN = 10, has been submitted  
> to the device server and is “executing”, that if another command  
> with the same ITT and a CmdSN = 12 (no CmdSN 11 has been xmitted) is  
> received by the target, it should ignore the CmdSN = 12 and submit  
> the command to the device server?

What kind of second packet are you talking about? Your question above  
is very vague.

> So, I could send a Task Management command using the proper ITT  
> (without the immediate bit set) using an out of order CmdSN and the  
> device server would process the command, resulting in a response w/  
> a status?

I believe you are correct.

Take care,

Bill

---

From: [email-masked]
Date: Fri, 2 Nov 2007 16:30:45 -0400

Hi Barry,

        So, I could send a Task Management command using the proper ITT 
(without the immediate bit set) using an out of order CmdSN
        and the device server would process the command, resulting in a 
response w/ a status?

I'm not sure what the 'proper ITT' means.   In my understanding, each Task 
Mangement command has a unique ITT.  The ITT of the currently active 
command (to be aborted or reassigned) is in the Referenced Task Tag field. 
 The unique ITT in the task management command will not have any execution 
state, and thus will be subject to ordering. 

regards,

david

Java: The elegant simplicity of C++ 
and the blazing speed of smalltalk.

David J Cuddihy
Principal Engineer
ATTO Technology, Inc.

www.attotech.com
Power Behind the Storage

William Studenmund <[email-masked]> 
11/02/2007 02:40 PM

To
[email-masked]
cc
[email-masked]
Subject
Re: [Ips] Testing for the execution state (represented by identifying the 
Initiator Task Tag) MUST precede any other      action at the target.

 
 
Is the proper understanding of this requirement imply that if a task w/ 
ITT=100, sent in an iSCSI PDU w/ CmdSN = 10, has been submitted to the 
device server and is ?executing?, that if another command with the same 
ITT and a CmdSN = 12 (no CmdSN 11 has been xmitted) is received by the 
target, it should ignore the CmdSN = 12 and submit the command to the 
device server?

What kind of second packet are you talking about? Your question above is 
very vague.

So, I could send a Task Management command using the proper ITT (without 
the immediate bit set) using an out of order CmdSN and the device server 
would process the command, resulting in a response w/ a status?

Take care,

Bill_______________________________________________
Ips mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/ips

---

From: William Studenmund <[email-masked]>
Date: Fri, 2 Nov 2007 14:35:05 -0700

On Nov 2, 2007, at 11:31 AM, William Studenmund wrote:

>> Is the proper understanding of this requirement imply that if a  
>> task w/ ITT=100, sent in an iSCSI PDU w/ CmdSN = 10, has been  
>> submitted to the device server and is “executing”, that if another  
>> command with the same ITT and a CmdSN = 12 (no CmdSN 11 has been  
>> xmitted) is received by the target, it should ignore the CmdSN = 12  
>> and submit the command to the device server?
>
> What kind of second packet are you talking about? Your question  
> above is very vague.
>

Having re-read the TMReq documentation, I take the above back. :-)

The TMReq for an abort will have its own ITT, different from that of  
the task it is aborting. So using the ITT of the command you want to  
abort is flat-out wrong.

My understanding of the text way above regarding CmdSN is that it  
really matters for linked commands. So for a Linked command, a  
subsequent command request doesn't have to wait for CmdSN processing  
before it gets handed down to the existing task.

Take care,

Bill