Subject: Re: [Ips] TMF for a write with only unsolicited data

From: "Eddy Quicksall" <[email-masked]>
Date: Tue, 14 Mar 2006 13:11:12 -0500

So the paragraph below is saying the WSA would be 0 if the Abort Task were aborting a Write that had only unsolicited data. That is the way I read it too. You further said that for this case there would be no DataDescriptorOut with the TMF call from the iSCSI layer to the iSER layer. I think that is now clear. Thanks.

WSV - Write STag Valid flag: 1 bit 

     This flag indicates the validity of the Write STag field of the 
     iSER Header.  If set to one, the Write STag field in this iSER 
     Header is valid.  If set to zero, the Write STag field in this 
     iSER Header MUST be ignored at the receiver.  The Write STag 
     Valid flag is set to one when there is solicited data to be 
     transferred for a SCSI Write or bidirectional command, or when 
     there are non-immediate unsolicited and solicited data to be 
     transferred for the referenced task specified in a Task 
     Management Function Request with the TASK REASSIGN function. 

  ----- Original Message ----- 
  From: Mike Ko 
  To: Eddy Quicksall 
  Sent: Tuesday, March 14, 2006 12:58 PM
  Subject: Re: [Ips] TMF for a write with only unsolicited data

  Ergo, there is no DataDescriptorOut, and therefore no unsolicited data associated with the issuance of the Abort Task TMF. 

  Mike 
  To:        "Mike Ko" <[email-masked]> 
  cc:         
  Subject:        Re: [Ips] TMF for a write with only unsolicited data 

  The TMF doesn't send any data. The TMF is aborting a task that has only unsolicited data. 
  ----- Original Message ----- 
  From: Mike Ko 
  To: Eddy Quicksall 
  Sent: Tuesday, March 14, 2006 12:25 PM 
  Subject: Re: [Ips] TMF for a write with only unsolicited data 

  Eddy, 

  AFAIK, other than Task Reassign, no TMF requires sending any data.  The point of Abort Task is to kill that task and stop all work on the task, so sending data would be counter-productive. 

  Mike 

  To:        "Mike Ko" <[email-masked]> 
  cc:         
  Subject:        Re: [Ips] TMF for a write with only unsolicited data 

  How about Abort Task? 

  Eddy 
  ----- Original Message ----- 
  From: Mike Ko 
  To: Eddy Quicksall 
  Cc: [email-masked] 
  Sent: Tuesday, March 14, 2006 11:05 AM 
  Subject: Re: [Ips] TMF for a write with only unsolicited data 

  Eddy, 

  There are 8 task management function codes listed in RFC3720.  They are Abort Task, Abort Task Set, Clear ACA, Clear Task Set, Logical Unit Reset, Target Warm Reset, Target Cold Reset, and Task Reassign.  If your example is not Task Reassign, what TMF code do you have in mind where unsolicited write data would be sent? 

  Mike 

  To:        "Mike Ko" <[email-masked]> 
  cc:        <[email-masked]> 
  Subject:        Re: [Ips] TMF for a write with only unsolicited data 

  No. The case is not a TASK REASSIGN. It is for a write command where all of the data is unsolicited. 

  If the STag is used for the associated R2T's then it would seem WSV would be set to 0 when no R2T's were issued. 

  Further it says "The Write STag 
       Valid flag is set to one when there is solicited data to be 
       transferred" 

  Doesn't that mean the STag is only used if there was solicited data with the command? 

  Eddy 
  ----- Original Message ----- 
  From: Mike Ko 
  To: Eddy Quicksall 
  Cc: [email-masked] 
  Sent: Monday, March 13, 2006 7:14 PM 
  Subject: Re: [Ips] TMF for a write with only unsolicited data 

  If I understand your question correctly, I assume the TMF is a TASK REASSIGN and it is for a write command qualified with DataDescriptorOut.  DataDescriptorOut is used to describe the I/O buffer starting with the immediate unsolicited data (if any), followed by the non-immediate unsolicited data (if any) and solicited data.  A Write STag is allocated in this case.  The Write STag is used by the iSER layer at the target in handling the data transfer associated with the R2T PDUs and in returning the SCSI Response PDU using the SendInvSE message.  Since there is non-immediate unsolicited data, WSV is set to 1. 

  Mike 

  To:        <[email-masked]> 
  cc:         
  Subject:        [Ips] TMF for a write with only unsolicited data 

  Suppose: 
  1) a TMF is not a TASK REASSIGN 
  2) the TMF is for a write command 
  3) the write command only has unsolicited data 

  I think this is saying the WSV is set to 0 for this case. Is that correct? 

  If so then I think the 3rd bullet item in 7.3.3 needs to say "if allocated" since a write with unsolicited only will also have a DataDescriptorOut. 

  Or am I wrong in that the TMF would have the DataDescriptorOut for a write with only unsolicited data? 

  WSV - Write STag Valid flag: 1 bit 

       This flag indicates the validity of the Write STag field of the 
       iSER Header.  If set to one, the Write STag field in this iSER 
       Header is valid.  If set to zero, the Write STag field in this 
       iSER Header MUST be ignored at the receiver.  The Write STag 
       Valid flag is set to one when there is solicited data to be 
       transferred for a SCSI Write or bidirectional command, or when 
       there are non-immediate unsolicited and solicited data to be 
       transferred for the referenced task specified in a Task 
       Management Function Request with the TASK REASSIGN function. 

  7.3.3  Task Management Function Request/Response 

  *  It MUST use the ITT as specified in the Referenced Task Tag from 
     the Task Management Function Request PDU to locate the existing 
     STag(s), if any, in the Local Mapping(s) that associates the ITT 
     to the local STag(s). 

  *  It MUST invalidate the existing STag(s), if any, and the Local 
     Mapping(s) that associates the ITT to the local STag(s). 

  *  It MUST allocate a Read STag for the I/O Buffer as defined by the 
     qualifier DataDescriptorIn if the Send_Control Operational 
     Primitive invocation is qualified with DataDescriptorIn. 

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

------------------------------------------------------------------------------

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

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

---

From: "Mallikarjun C." <[email-masked]>
Date: Wed, 15 Mar 2006 16:58:22 -0800 (PST)

WSV=0 for TMF=Abort Task, always.

Mallikarjun

--- Eddy Quicksall
<[email-masked]> wrote:

> So the paragraph below is saying the WSA would be 0
> if the Abort Task were aborting a Write that had
> only unsolicited data. That is the way I read it
> too. You further said that for this case there would
> be no DataDescriptorOut with the TMF call from the
> iSCSI layer to the iSER layer. I think that is now
> clear. Thanks.
> 
>   Ergo, there is no DataDescriptorOut, and therefore
> no unsolicited data associated with the issuance of
> the Abort Task TMF. 
> 
>   Mike 
>   AFAIK, other than Task Reassign, no TMF requires
> sending any data.  The point of Abort Task is to
> kill that task and stop all work on the task, so
> sending data would be counter-productive. 
> 
>   Mike 
> 
>   There are 8 task management function codes listed
> in RFC3720.  They are Abort Task, Abort Task Set,
> Clear ACA, Clear Task Set, Logical Unit Reset,
> Target Warm Reset, Target Cold Reset, and Task
> Reassign.  If your example is not Task Reassign,
> what TMF code do you have in mind where unsolicited
> write data would be sent? 
> 
>   Mike 
> 
>   No. The case is not a TASK REASSIGN. It is for a
> write command where all of the data is unsolicited. 
> 
>   If the STag is used for the associated R2T's then
> it would seem WSV would be set to 0 when no R2T's
> were issued. 
> 
>   If I understand your question correctly, I assume
> the TMF is a TASK REASSIGN and it is for a write
> command qualified with DataDescriptorOut. 
> DataDescriptorOut is used to describe the I/O buffer
> starting with the immediate unsolicited data (if
> any), followed by the non-immediate unsolicited data
> (if any) and solicited data.  A Write STag is
> allocated in this case.  The Write STag is used by
> the iSER layer at the target in handling the data
> transfer associated with the R2T PDUs and in
> returning the SCSI Response PDU using the SendInvSE
> message.  Since there is non-immediate unsolicited
> data, WSV is set to 1. 
> 
>   Mike 
> 
>   To:        <[email-masked]> 
>   cc:         
>   If so then I think the 3rd bullet item in 7.3.3
> needs to say "if allocated" since a write with
> unsolicited only will also have a DataDescriptorOut.
> 
> 
>   Or am I wrong in that the TMF would have the
> DataDescriptorOut for a write with only unsolicited
> data? 
> 
> https://www1.ietf.org/mailman/listinfo/ips

__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com

---

From: "Eddy Quicksall" <[email-masked]>
Date: Sun, 19 Mar 2006 10:36:54 -0500

Mallikarjun,

Then I think you must be saying the TMF for Abort Task does not use the 
qualifier DataDescriptorOut when there is solicited data. If so then when 
would the DataDescriptorOut and DataDescriptorIn be used with a TMF?

7.3.3

the iSER Layer at the initiator MUST do the following

   *  It MUST allocate a Write STag for the I/O Buffer as defined by

      the qualifier DataDescriptorOut if the Send_Control Operational

      Primitive invocation is qualified with DataDescriptorOut.

Eddy

---

From: Mike Ko <[email-masked]>
Date: Mon, 20 Mar 2006 09:06:19 -0800

Eddy,

The two bulleted items that you quoted are prefaced by the following 
statement:

"For the Task Management Function Request with the TASK REASSIGN function, 
the iSER Layer at the initiator MUST do the following".

In other words, DataDescriptorOut and/or DataDescriptorIn are used only 
when the TMF request is Task Reassign and the referenced task is a write 
(DataDescriptorOut) or read (DataDescriptorIn) or bidirectional (both) 
command.  Other than Task Reassign, there is no data transfer associated 
with the other TMF requests, either unsolicited or solicited, and hence 
there is no DataDescriptorOut or DataDescriptorIn. 

Mike 
To:     "Mallikarjun C." <[email-masked]>, <[email-masked]>
cc:      
Subject:        Re: [Ips] TMF for a write with only unsolicited data

Mallikarjun,

7.3.3

Eddy

---

From: "Eddy Quicksall" <[email-masked]>
Date: Tue, 21 Mar 2006 09:09:09 -0500

Mike

Yes, I was talking about a TASK REASSIGN. Thanks ... your answer cleared up my misunderstanding.

Eddy
  ----- Original Message ----- 
  From: Mike Ko 
  To: Eddy Quicksall 
  Cc: [email-masked] 
  Sent: Monday, March 20, 2006 12:06 PM
  Subject: Re: [Ips] TMF for a write with only unsolicited data

  Eddy, 

  The two bulleted items that you quoted are prefaced by the following statement: 

  "For the Task Management Function Request with the TASK REASSIGN function, the iSER Layer at the initiator MUST do the following". 

  In other words, DataDescriptorOut and/or DataDescriptorIn are used only when the TMF request is Task Reassign and the referenced task is a write (DataDescriptorOut) or read (DataDescriptorIn) or bidirectional (both) command.  Other than Task Reassign, there is no data transfer associated with the other TMF requests, either unsolicited or solicited, and hence there is no DataDescriptorOut or DataDescriptorIn.   

  Mike 

  Mallikarjun,

  7.3.3

  Eddy