Subject: Re: iscsi: unsolicited data question

From: "Julian Satran" <[email-masked]>
Date: Wed, 12 Jun 2002 16:04:34 +0300

yes - julo

Dennis Young <[email-masked]>
Sent by: [email-masked]
06/12/2002 06:20 AM
Please respond to Dennis Young

        To:     [email-masked]
        cc: 
        Subject:        iscsi: unsolicited data question

I have a question which has been asked before, but I couldn't find a 
direct 
answer in the archive.  The table on page 200 of draft 12 doesn't directly
answer this question either.

The first paragraph on page 36 of draft 12 says "Targets operate in either 

solicitied (R2T) data mode or unsolicited (non R2T) data mode."
tells me that a target, at all times during a data sequence transfer, can 
be

one or the other, but not both (non R2T for the initial data out, R2T for
the
remaining data).  Is this correct?

Thanks,
Dennis

---snip from an old email dated 3/30/2001---

" Hi Julian 
Sorry if I'm covering old ground... Is it possible to use unsolicited data
for the first burst and then request any remaining data using R2T? For
example, if the target has a previously allocated buffer available (length
defined by FirstBurstSize) for unsolicited data, then once the initiator 
has
sent unsolicited data up to and including this amount then the remaining
data (if any) can be requested using R2T once the target has the buffer
space available. 
...Matthew Burbridge Hewlett Packard, Bristol Telnet: 312 7010 E-mail:
[email-masked] "

---

From: Dennis Young <[email-masked]>
Date: Wed, 12 Jun 2002 10:05:29 -0700

Julian,
 
This leads me to a more interesting question.
A session with InitialR2T=No in effect, i.e. unsolicited Data-out
allowed, could cause unintended waste of bandwidth, depending on
how fast the target sends our R2T in response to the SCSI Write.
 
If the target sees the unsolicited Data-out PDU before building the
R2T, then everything is fine. 
If the target doesn't see the unsolicited Data-out PDU before building
the R2T, the R2T would request the same portion of data in the
unsolicited Data-out, thus bandwidth is wasted.
 
The question is, how can a target be smart about this?
Should the target wait a moment for the possible unsolicited Data-out 
after receiving each SCSI Write, this sounds kludgy.
 
Also, why do we need the unsolicited Data-out PDU feature when
there is ImmediateData?
 
Regards,
Dennis

-----Original Message-----
From: Julian Satran [mailto:[email-masked]]
Sent: Wednesday, June 12, 2002 6:05 AM
To: Dennis Young
Cc: [email-masked]; [email-masked]
Subject: Re: iscsi: unsolicited data question

yes - julo 

06/12/2002 06:20 AM 

        To:        [email-masked] 
        cc:         

I have a question which has been asked before, but I couldn't find a direct 
answer in the archive.  The table on page 200 of draft 12 doesn't directly
answer this question either.

The first paragraph on page 36 of draft 12 says "Targets operate in either 
solicitied (R2T) data mode or unsolicited (non R2T) data mode."
tells me that a target, at all times during a data sequence transfer, can be

Thanks,
Dennis

---snip from an old email dated 3/30/2001---

" Hi Julian 
defined by FirstBurstSize) for unsolicited data, then once the initiator has

---

From: "Julian Satran" <[email-masked]>
Date: Wed, 12 Jun 2002 21:20:38 +0300

You are wrong about waiting - read my previous text.
You need unsolicited as the amount in one PDU may not be all you want.

Julo

06/12/2002 08:49 PM

        To:     Julian Satran/Haifa/IBM@IBMIL
        cc:     [email-masked], [email-masked]
        Subject:        RE: iscsi: unsolicited data question

Are you saying that, for a session that has InitialR2T=No in effect, the 
initiator
must send all its data as unsolicited first, up to the amount negotiated 
in 
FirstBurstSize, before it waits for a R2T from the target? 
 
Can you shed some light on why we need unsolicited Data-out PDU when there 

is ImmediateData, seems like they both serve the same purpose, having both 
of 
them only make the spec more complex.
 
Thanks,
-Dennis
 
 -----Original Message-----
From: Julian Satran [mailto:[email-masked]]
Sent: Wednesday, June 12, 2002 10:19 AM
To: Dennis Young
Cc: [email-masked]; [email-masked]
Subject: RE: iscsi: unsolicited data question

This is the reason why the initiator is required to send ALL unsolicited 
data (target can count on it and start sending R2Ts as soon as it sees the 
first header> 
Neither bandwidth nor latency are wasted. 

Julo 

06/12/2002 08:05 PM 
        
        To:        Julian Satran/Haifa/IBM@IBMIL 
        cc:        [email-masked], [email-masked] 
        Subject:        RE: iscsi: unsolicited data question 

Julian, 

  

Regards, 
Dennis 
  
-----Original Message-----
From: Julian Satran [mailto:[email-masked]]
Sent: Wednesday, June 12, 2002 6:05 AM
To: Dennis Young
Cc: [email-masked]; [email-masked]
Subject: Re: iscsi: unsolicited data question

yes - julo 

       To:        [email-masked] 
       cc:         

Thanks,
Dennis

---snip from an old email dated 3/30/2001---

" Hi Julian

---

From: [email-masked]
Date: Wed, 12 Jun 2002 13:34:34 -0600

Dennis,
 
The target can tell from the command whether there will be unsolicited data or not. bit 0 of the Flags and Task Attributes field ( the F bit) in the SCSI Command PDU is 1 if there are no unsolicited Data-Out PDUs. Also, if there is unsolicited data, the amount of unsolicited data sent is the lesser of the data transfer length or FirstBurstSize so if bit 0 indicates unsolicited data will be sent, the target knows where its first R2T will start.
 
Pat

-----Original Message-----
From: Dennis Young [mailto:[email-masked]]
Sent: Wednesday, June 12, 2002 10:05 AM
To: 'Julian Satran'
Cc: [email-masked]; [email-masked]
Subject: RE: iscsi: unsolicited data question

Julian,

 

Regards,
Dennis

-----Original Message-----
From: Julian Satran [mailto:[email-masked]]
Sent: Wednesday, June 12, 2002 6:05 AM
To: Dennis Young
Cc: [email-masked]; [email-masked]
Subject: Re: iscsi: unsolicited data question

yes - julo 

06/12/2002 06:20 AM 

        To:        [email-masked] 
        cc:         

Thanks,
Dennis

---snip from an old email dated 3/30/2001---

" Hi Julian

---

From: [email-masked]
Date: Wed, 12 Jun 2002 13:45:17 -0600

Dennis,
 
FirstBurstSize may be larger than MaxRecvPDUDataSize so InitialR2T=No can allow one to send more unsolicited data than immediate data alone. Also, an implementation may set ImmediateData=No because it prefers to handle command and data in separate PDUs but still accept unsolicited data by setting InitialR2T=No.
 
Pat

-----Original Message-----
From: Dennis Young [mailto:[email-masked]]
Sent: Wednesday, June 12, 2002 10:50 AM
To: 'Julian Satran'
Cc: [email-masked]; [email-masked]
Subject: RE: iscsi: unsolicited data question

Are you saying that, for a session that has InitialR2T=No in effect, the initiator
must send all its data as unsolicited first, up to the amount negotiated in 
FirstBurstSize, before it waits for a R2T from the target? 
 
Can you shed some light on why we need unsolicited Data-out PDU when there 
is ImmediateData, seems like they both serve the same purpose, having both of 
them only make the spec more complex.
 
Thanks,
-Dennis
 
 -----Original Message-----
From: Julian Satran [mailto:[email-masked]]
Sent: Wednesday, June 12, 2002 10:19 AM
To: Dennis Young
Cc: [email-masked]; [email-masked]
Subject: RE: iscsi: unsolicited data question

This is the reason why the initiator is required to send ALL unsolicited data (target can count on it and start sending R2Ts as soon as it sees the first header> 
Neither bandwidth nor latency are wasted. 

Julo 

06/12/2002 08:05 PM 

Julian, 

  

Regards, 
Dennis 
  
-----Original Message-----
From: Julian Satran [mailto:[email-masked]]
Sent: Wednesday, June 12, 2002 6:05 AM
To: Dennis Young
Cc: [email-masked]; [email-masked]
Subject: Re: iscsi: unsolicited data question

yes - julo 

06/12/2002 06:20 AM 

       To:        [email-masked] 
       cc:         

Thanks,
Dennis

---snip from an old email dated 3/30/2001---

" Hi Julian

---

From: Dennis Young <[email-masked]>
Date: Wed, 12 Jun 2002 18:00:38 -0700

Thanks to yours and others' explanation, now I am more clear, but I have
another question:
 
Based on your reply, and let me emphasize it by repeating the 4th paragraph 
on page 42 of draft 12-98:
    "... If any non-immediate unsolicited data are sent, the total
unsolicited
    data MUST be either the negotiated amount or all the data if the total
    amount is less than the negotiated amount for unsolicited data. ..."
 
With this rule, do we still need the F bit in the Data-out (both for the
solicited 
and unsolicited Data-out)?  The F bit seems redundant since the target has 
enough information to figure out the final unsolicited Data-out and the
final 
solicited Data-out (based on the FirstBurstSize, Offset and
DataSegmentLength 
in the Data-out, and the ExpectedDataTransferLength in the corresponding 
SCSI Write PDU). 
 
Thanks,
Dennis

-----Original Message-----
From: Julian Satran [mailto:[email-masked]]
Sent: Wednesday, June 12, 2002 11:21 AM
To: Dennis Young
Cc: [email-masked]; [email-masked]
Subject: RE: iscsi: unsolicited data question

Julo 

06/12/2002 08:49 PM 

  
  
Thanks, 
-Dennis 
  
 -----Original Message-----
From: Julian Satran [mailto:[email-masked]]
Sent: Wednesday, June 12, 2002 10:19 AM
To: Dennis Young
Cc: [email-masked]; [email-masked]
Subject: RE: iscsi: unsolicited data question

Julo 

06/12/2002 08:05 PM 

Julian, 

 

Regards, 
Dennis 
 
-----Original Message-----
From: Julian Satran [mailto:[email-masked]]
Sent: Wednesday, June 12, 2002 6:05 AM
To: Dennis Young
Cc: [email-masked]; [email-masked]
Subject: Re: iscsi: unsolicited data question

yes - julo 

06/12/2002 06:20 AM 

      To:        [email-masked] 
      cc:         

Thanks,
Dennis

---snip from an old email dated 3/30/2001---

" Hi Julian

---

From: "Julian Satran" <[email-masked]>
Date: Thu, 13 Jun 2002 16:17:39 +0300

Not exactly - an initiator may decide to send only non immediate or only 
immediate in the first case the absence of F is the sign of things to come 
and in the later F indicates nothing will come. The later is allowed.

Julo

06/13/2002 04:00 AM

 
Based on your reply, and let me emphasize it by repeating the 4th 
paragraph 

 
Thanks,
Dennis
 
-----Original Message-----
From: Julian Satran [mailto:[email-masked]]
Sent: Wednesday, June 12, 2002 11:21 AM
To: Dennis Young
Cc: [email-masked]; [email-masked]
Subject: RE: iscsi: unsolicited data question

Julo 

  

Thanks, 
-Dennis 
  
 -----Original Message-----
From: Julian Satran [mailto:[email-masked]]
Sent: Wednesday, June 12, 2002 10:19 AM
To: Dennis Young
Cc: [email-masked]; [email-masked]
Subject: RE: iscsi: unsolicited data question

Julo 

Julian, 

 

Regards, 
Dennis 
 
-----Original Message-----
From: Julian Satran [mailto:[email-masked]]
Sent: Wednesday, June 12, 2002 6:05 AM
To: Dennis Young
Cc: [email-masked]; [email-masked]
Subject: Re: iscsi: unsolicited data question

yes - julo 

      To:        [email-masked] 
      cc:         

Thanks,
Dennis

---snip from an old email dated 3/30/2001---

" Hi Julian

---

From: Dennis Young <[email-masked]>
Date: Thu, 13 Jun 2002 10:02:57 -0700

I think you are refering to the F bit in the SCSI Write.  I was talking
about the F bit in the Data-out.
Please confirm.
Thanks,
Dennis

-----Original Message-----
From: Julian Satran [mailto:[email-masked]]
Sent: Thursday, June 13, 2002 6:18 AM
To: Dennis Young
Cc: [email-masked]; [email-masked]
Subject: RE: iscsi: unsolicited data question

Julo 

06/13/2002 04:00 AM 

  

Thanks, 
Dennis 
  
-----Original Message-----
From: Julian Satran [mailto:[email-masked]]
Sent: Wednesday, June 12, 2002 11:21 AM
To: Dennis Young
Cc: [email-masked]; [email-masked]
Subject: RE: iscsi: unsolicited data question

Julo 

06/12/2002 08:49 PM 

 
 
Thanks, 
-Dennis 
 
-----Original Message-----
From: Julian Satran [mailto:[email-masked]]
Sent: Wednesday, June 12, 2002 10:19 AM
To: Dennis Young
Cc: [email-masked]; [email-masked]
Subject: RE: iscsi: unsolicited data question

Julo 

06/12/2002 08:05 PM 

Julian, 

Regards, 
Dennis 

-----Original Message-----
From: Julian Satran [mailto:[email-masked]]
Sent: Wednesday, June 12, 2002 6:05 AM
To: Dennis Young
Cc: [email-masked]; [email-masked]
Subject: Re: iscsi: unsolicited data question

yes - julo 

06/12/2002 06:20 AM 

     To:        [email-masked] 
     cc:         

Thanks,
Dennis

---snip from an old email dated 3/30/2001---

" Hi Julian

---

From: "Julian Satran" <[email-masked]>
Date: Thu, 13 Jun 2002 20:46:50 +0300

Yes the F bit in Data is not strictly needed except to simplify target 
function, recovery and bidirectional command execution.
Initiators may send data out-of-order (parameters control this and this 
might be needed in special circumstances - e.g., copy a disk to tape) and 
a target might have trouble keeping track of what it got or not (discarded 
PDUs due to errors make the picture even more complex). The F bit is a 
simple indication that says "that's it"!

Julo

06/13/2002 08:02 PM

-----Original Message-----
From: Julian Satran [mailto:[email-masked]]
Sent: Thursday, June 13, 2002 6:18 AM
To: Dennis Young
Cc: [email-masked]; [email-masked]
Subject: RE: iscsi: unsolicited data question

Julo 

  

  
Thanks, 
Dennis 
  
-----Original Message-----
From: Julian Satran [mailto:[email-masked]]
Sent: Wednesday, June 12, 2002 11:21 AM
To: Dennis Young
Cc: [email-masked]; [email-masked]
Subject: RE: iscsi: unsolicited data question

Julo 

 

Thanks, 
-Dennis 
 
-----Original Message-----
From: Julian Satran [mailto:[email-masked]]
Sent: Wednesday, June 12, 2002 10:19 AM
To: Dennis Young
Cc: [email-masked]; [email-masked]
Subject: RE: iscsi: unsolicited data question

Julo 

Julian, 

Regards, 
Dennis 

-----Original Message-----
From: Julian Satran [mailto:[email-masked]]
Sent: Wednesday, June 12, 2002 6:05 AM
To: Dennis Young
Cc: [email-masked]; [email-masked]
Subject: Re: iscsi: unsolicited data question

yes - julo 

     To:        [email-masked] 
     cc:         

Thanks,
Dennis

---snip from an old email dated 3/30/2001---

" Hi Julian

---

From: "Julian Satran" <[email-masked]>
Date: Wed, 12 Jun 2002 16:04:34 +0300

yes - julo

        To:     [email-masked]
        cc: 

Thanks,
Dennis

---snip from an old email dated 3/30/2001---

" Hi Julian

---

From: "Julian Satran" <[email-masked]>
Date: Fri, 14 Jun 2002 16:23:04 +0300

OK Julo

"Karthik Selvan" <[email-masked]>
Sent by: [email-masked]
06/14/2002 11:56 AM
Please respond to "Karthik Selvan"

        To:     "'BURBRIDGE,MATTHEW \(HP-UnitedKingdom,ex2\)'" <[email-masked]>, 
"'Arul Ponnusamy'" <[email-masked]>, "'Ranganathan, Deva'" 
<[email-masked]>, Julian Satran/Haifa/IBM@IBMIL
        cc:     <[email-masked]>
        Subject:        RE: iscsi: unsolicited data question

Hi,

1) Your table looks great. 

Thanks
Karthik selvan

Hi all,

There are two forms of unsolicited data: "Immediate Data" and
"Unsolicited Data Out PDUs".

The text in section 11.12 is correct and is backed up by the table.

However, the table may be improved my changing it thus:
+----------+-------------+------------------+--------------+
|InitialR2T|ImmediateData|Accept Unsolicited|   Accept     |
|          |             |   Data Out PDUs  |Immediate Data|
+----------+-------------+------------------+--------------+
| No       | No          | Yes              | No           |
+----------+-------------+------------------+--------------+
| No       | Yes         | Yes              | Yes          |
+----------+-------------+------------------+--------------+
| Yes      | No          | No               | No           |
+----------+-------------+------------------+--------------+
| Yes      | Yes         | No               | Yes          |
+----------+-------------+------------------+--------------+

Cheers

Matthew Burbridge

-----Original Message-----
From: Karthik Selvan [mailto:[email-masked]]
Sent: Friday, June 14, 2002 9:22 AM
To: 'Arul Ponnusamy'; 'Ranganathan, Deva'; 'Julian Satran'
Cc: [email-masked]
Subject: RE: iscsi: unsolicited data question

Hi,

1) In draft 12.98, Page no : 215, line 14 says
"If ImmediateData is set to Yes and InitialR2t is to Yes(default), then
only immediate data are accepted in the first burst."

2) Page 216 table uses "Immediate unsolicited data only".

3)  whenever  there is a difference between text and the table in std.
documents, we have to follow the text.

4)  Julo may solve this in next draft or he may clarify more in the
mailing list.

Hope this helps
karthik selvan

-----Original Message-----
From: Arul Ponnusamy [mailto:[email-masked]]
Sent: Friday, June 14, 2002 1:12 AM
To: 'Karthik Selvan'; Arul Ponnusamy; 'Ranganathan, Deva'; 'Julian
Satran'
Cc: [email-masked]

<karthik> Draft Section 11.12 clearly says that
"If ImmediateData is set to Yes and InitialR2t is to Yes(default), then
only immediate data are accepted in the first burst."

 So it is not  ambigous.  (The word "immediate data" makes the
difference)

[Arul Ponnusamy] I think "immediate data" implies that it is
unsolicited. Infact the table in the section 11.12 says explicitly
"Immediate unsolicited data only".

 -----Original Message-----
From: Karthik Selvan [mailto:[email-masked]]
Sent: Friday, June 14, 2002 12:46 AM
To: 'Arul Ponnusamy'; 'Ranganathan, Deva'; 'Julian Satran'
Cc: [email-masked]
Subject: RE: iscsi: unsolicited data question

Hi,
        1) I have the same doubt as Deva. i.e Solicited mode and
unsolicited mode differ only with respect to the first outgoing data
burst. Unsolicited mode: R2T is not needed only for the first outgoing
data burst. The subsequent data MUST be solicited. Solicited mode: all
data outs (including the first data out) MUST be solicited.

Is this correct?

<karthik>Yes

2) As per section 9.8 and 11.10, for WRITE operations without explicit
Initial R2T, the InitialR2T MUST have negotiated to NO. 

  <karthik> yes

 But as per 11.12 says that if InitialR2T=yes and ImmediateData=yes,
then Immediate unsolicited data only allowed. 

<karthik> Draft Section 11.2 clearly says that
"If ImmediateData is set to Yes and InitialR2t is to Yes(default), then
only immediate data are accepted in the first burst."

 So it is not  ambigous.  (The word "immediate data" makes the
difference) Please refer previous postings in the mailing list. You can
get detailed answers.

Hope this helps
karthik selvan

-----Original Message-----
From: Ranganathan, Deva [mailto:[email-masked]]
Sent: Thursday, June 13, 2002 6:59 PM
To: 'Julian Satran'
Cc: [email-masked]
Subject: RE: iscsi: unsolicited data question

"tells me that a target, at all times during a data sequence transfer,
can be

one or the other, but not both (non R2T for the initial data out, R2T
for the remaining data).  Is this correct?"

really? I thought thatit is permissible to have non-R2T for the initial
data out and R2T for remaining. i.e for a 64K transfer, the first 32K
can be the first burst size of data and the next 32K will be solicited
by the target through R2T. Am I missing something?

-Deva

-----Original Message-----
From: Julian Satran [mailto:[email-masked]]
Sent: Wednesday, June 12, 2002 6:05 AM
To: Dennis Young
Cc: [email-masked]; [email-masked]
Subject: Re: iscsi: unsolicited data question

yes - julo

        To:        [email-masked]
        cc: 

I have a question which has been asked before, but I couldn't find a
direct answer in the archive.  The table on page 200 of draft 12 doesn't
directly answer this question either.

The first paragraph on page 36 of draft 12 says "Targets operate in
either solicitied (R2T) data mode or unsolicited (non R2T) data mode."
tells me that a target, at all times during a data sequence transfer,
can be

one or the other, but not both (non R2T for the initial data out, R2T
for the remaining data).  Is this correct?

Thanks,
Dennis

---snip from an old email dated 3/30/2001---

" Hi Julian
Sorry if I'm covering old ground... Is it possible to use unsolicited
data for the first burst and then request any remaining data using R2T?
For example, if the target has a previously allocated buffer available
(length defined by FirstBurstSize) for unsolicited data, then once the
initiator has sent unsolicited data up to and including this amount then
the remaining data (if any) can be requested using R2T once the target
has the buffer space available. ...Matthew Burbridge Hewlett Packard,
Bristol Telnet: 312 7010 E-mail: [email-masked] "