Subject: RE: iSCSI: use of Text/Login with no data segment

From: [email-masked]
Date: Fri, 14 Jun 2002 17:38:55 -0600

Martins,

Your alternate wording looks fine to me.

Pat

-----Original Message-----
From: Martins Krikis [mailto:[email-masked]]
Sent: Friday, June 14, 2002 4:32 PM
To: [email-masked]; [email-masked]; [email-masked]
Subject: Re: iSCSI: use of Text/Login with no data segment

--- [email-masked] wrote:

> If one wants to retain the idea of not sending empty
> PDUs when you do have
> something to say, one could put in:
> A target or initiator SHOULD NOT use a Text/Login
> Response or Text/
> Login Request with no data segment
> (DataSegmentLength 0) unless
> responding to a Text/Login Request or Text/Login
> Response, respectively,
> with the T bit set to 0 while the node has no keys
> to send or with the C bit
> set to 1.

I don't see a problem with an implementation that
deliberately sends an empty PDU to let the other 
side "speak" first. Doing this back-and-forth would 
not be a great situation, but IMHO it suffices to
simply discourage such behavior, without resorting
to "SHOULD NOT"-s.

So, how about this instead?

  A target or initiator is discouraged from
  sending Text/Login Response or Text/Login Request
  with no data segment (DataSegmentLength 0) unless
  responding to a Text/Login Request or Text/Login
  Response, respectively, with the C bit set to 1,
  or the F/T bit set to 0 while having no keys to
  send.

Or, let's just skip such restrictions/discouragements
entirely.

Martins Krikis, Intel Corp.

Disclaimer: these opinions are mine and may not
            be those of my employer.

__________________________________________________
Do You Yahoo!?
Yahoo! - Official partner of 2002 FIFA World Cup
http://fifaworldcup.yahoo.com

---

From: "Julian Satran" <[email-masked]>
Date: Sat, 15 Jun 2002 18:33:22 +0300

Pat,

The SHOULD is there to avoid abuse and I will fix the text

Julo

[email-masked]
06/15/2002 12:51 AM
Please respond to pat_thaler

        To:     "Julian Satran" <[email-masked]>, [email-masked]
        cc: 
        Subject:        iSCSI: use of Text/Login with no data segment

Julian,

4.2 (page 72) of iSCSI-13 says:
A target or initiator SHOULD NOT use a Text/Login Response or Text/
Login Request with no data segment (DataSegmentLength 0) unless
responding to a Text/Login Request respective Text/Login Response
with the C bit set to 1.

"SHOULD NOT" is too strong here as there are times when one must send a
Text/Login Response or Request with no data segment if one is to complete
the login.

For example, a Target might send a Login response with the T=0 and C=0. If
the initiator doesn't have an keys it wants to send, then the initiator 
will
have to send a Login Request with no data segment if the login is to
complete.

Also, wrt grammar, "respective" is not a conjunction so the normal way to
use it would be "... A or B ... C or D, respectively, ...." At least that 
is
the usage that I have seen and what the dictionary at hand supports.

If one wants to retain the idea of not sending empty PDUs when you do have
something to say, one could put in:
A target or initiator SHOULD NOT use a Text/Login Response or Text/
Login Request with no data segment (DataSegmentLength 0) unless
responding to a Text/Login Request or Text/Login Response, respectively,
with the T bit set to 0 while the node has no keys to send or with the C 
bit
set to 1.

Pat

---

From: "Julian Satran" <[email-masked]>
Date: Sat, 15 Jun 2002 18:44:11 +0300

I would like to keep Pat's wording including SHOULD.  It has text about 
"nothing to say" and I put it there to avoid abuse and allow a cautious 
party to terminate a negotiation not standing by the rules.  I even 
considered MUST but I think that some implementations may want to (seldom) 
send an empty PDU (simpler implementation).

Julo

[email-masked]
06/15/2002 02:38 AM

        To:     [email-masked], [email-masked], Julian Satran/Haifa/IBM@IBMIL, 
[email-masked]
        cc: 
        Subject:        RE: iSCSI: use of Text/Login with no data segment

Martins,

Pat

---

From: [email-masked]
Date: Mon, 17 Jun 2002 15:52:09 -0600

Julian,
 
I think a MUST is too strong here. Also, the text "unless explicitly required by a general or a key-specific negotiation rule" may not cover the case of  receiving a Text/Login R___ with F/T=0 and C=0 when one has no keys to send. I don't think there is any explicit rule in the draft requiring one to send with no data segment in that case. It is just implict that one must respond with such a PDU if the negotiation is to finish. Therefore, the following text would be better:
 
A target or initiator SHOULD NOT use a Text/Login Response or Text/
Login Request with no data segment (DataSegmentLength 0) unless
responding to a Text/Login Request or Text/Login Response, respectively,
with the F/T bit set to 0 while the node has no keys to send or with the C bit
set to 1.

(This is the same as the text at the bottom except T bit is corrected to F/T to cover Text PDUs.) 
 
Pat

-----Original Message-----
From: Julian Satran [mailto:[email-masked]]
Sent: Sunday, June 16, 2002 9:26 AM
To: [email-masked]
Subject: Re: iSCSI: use of Text/Login with no data segment

Pat, 

On a second though the following text may be more appropriate: 

A target or initiator MUST NOT use a Text/Login Response or Text/ 
Login Request with no data segment (DataSegmentLength 0) unless explicitly required by a general or a key-specific negotiation rule. 

As it cover all the cases in which we  wanted to avoid abuse. 

Julo 
----- Forwarded by Julian Satran/Haifa/IBM on 06/16/2002 07:21 PM ----- 

	Julian Satran 

06/15/2002 06:25 PM 

        To:        [email-masked] 
        cc:        [email-masked] 
        From:        Julian Satran/Haifa/IBM@IBMIL 
        Subject:        Re: iSCSI: use of Text/Login with no data segment Link <Notes:///C225670D0041573F/5F4A388D76F8104D422569FD001E4D0D/ADA25A066B4A1959C2256BD800781521>  

Pat, 

Julo 

	[email-masked] 

06/15/2002 12:51 AM 

Julian,

For example, a Target might send a Login response with the T=0 and C=0. If
the initiator doesn't have an keys it wants to send, then the initiator will
have to send a Login Request with no data segment if the login is to
complete.

Also, wrt grammar, "respective" is not a conjunction so the normal way to
use it would be "... A or B ... C or D, respectively, ...." At least that is
the usage that I have seen and what the dictionary at hand supports.

with the T bit set to 0 while the node has no keys to send or with the C bit
set to 1.

Pat