Subject: RE: iSCSI: Login Request error

From: [email-masked]
Date: Fri, 17 May 2002 17:58:36 -0600

-----Original Message-----
From: Bill Studenmund [mailto:[email-masked]]
Sent: Friday, May 17, 2002 2:20 PM
To: Mike Donohoe
Cc: [email-masked]'
Subject: Re: iSCSI: Login Request error

On Fri, 17 May 2002, Mike Donohoe wrote:

> 1. What error case was the Status: 020B "Invalid during login" intended to
> cover?  I can't find any other occurence in the spec of a "Request Type",
to
> say what an invalid one would be.

I believe any command other than login (or logout?) is invalid before you
hit full-feature phase. Thus any other such command would count as 020b.

<PAT> It is any command other than login. Logout is not used during login
phase.

> 2.  If a target receives something like "ImmediateData=Ye" what would be a
> proper status to return?

Either Reject or NotUnderstood come to mind.

<PAT> NotUnderstood shouldn't be used. It is specifically for cases where
the key is not understood and all implementations would understand the key
ImmediateData.  Assuming that a value of Ye for a boolean would be
considered a value not admissible, then the reaction depends on whether the
initiator is the requester or the responder for that value. 4.2.2 says a
value of REJECT or an admissible value MAY be returned when the requester
offers an inadmissible value. If an inadmissible values is received from the
responder, then it is a negotiation failure. 

Take care,

Bill

---

From: Mike Donohoe <[email-masked]>
Date: Fri, 17 May 2002 18:03:20 -0700

1.  I was assuming that a Login Response would only be in reply to a Login
Request.  So during login phase if a target receives a non-Login Request it
should just close the connection.  It was in this mindset that I was
wondering about the status 020B.  Is this correct or was 020b added
specifically for the case of non-Login PDUs during login phase?  The spec is
unclear on this.

2.  I am the target and I receive a "ImmediateData=Ye".  I am assuming this
is a case of a value "not admissible".  The spec on page 65 (v12) says:

     An offer of a value not admissible MAY be answered with the constant 
     "Reject". The selection of a value not admissible under the selection 
     rules is considered a negotiation failure and is handled accordingly.

So I MAY return "ImmediateData=Reject".  And because of section 6.8
Negotiation Failures on page 99 I need to "terminate the login with the
appropriate login response code".

In this case what is the "appropriate login response code"?  (IE the
Status-Class Status-Detail value.)  

Thank you again for your help.

>  
>  My understanding:
>  
>  For question 1 - only Login request/responses are allowed before full
>  feature phase (no Logout since you are not logged in).
>  
>  For question 2 - the correct response would either be Reject 
>  or Yes/No
>  (is ok to reply with an admissible value to an invalid/unrecognized
>  offer).  NotUnderstood should only be used when the key itself is not
>  recognized (e.g. ImmediateData misspelled like 
>  ImediateData).  The spec
>  explicitly states that NotUnderstood MUST NOT be used for known keys
>  (those defined in chapter 11).
>  
>  Carlos Rimola
>  Silverback Systems 
>  
>  From: [email-masked] [mailto:[email-masked]] 
>  On Behalf Of
>  Bill Studenmund
>  > cover?  I can't find any other occurence in the spec of a "Request
>  Type", to
>  > 2.  If a target receives something like "ImmediateData=Ye" 
>  what would
>  be a
>  > proper status to return?
>