Subject: [storm] iSCSI Level and Version

From: Mallikarjun Chadalapaka <[email-masked]>
Date: Tue, 16 Aug 2011 20:13:38 -0700

In doing an internal review of the iSCSI Last Call drafts, someone asked me
this.  I want to run this response by the larger WG to see if we're all in
agreement.

Question: What is the difference between
Version-max/Version-min/Version-active values exchanged during the iSCSI
Login phase, and the negotiated value of iSCSIProtocolLevel key?

Answer: The V-* values agreed to during the Login process determine the
operating version of the iSCSI protocol, and announce if any other versions
can be supported by either side.  The operational iSCSIProtocolLevel key on
the other hand determines the specific protocol features that may be used on
an iSCSI session, within the "Version-active" versioned iSCSI protocol.

If this sounds reasonable, it is worth capturing this clarification in the
SAM-4 draft where this key is defined.

Thanks.

Mallikarjun

---

From: "Knight, Frederick" <[email-masked]>
Date: Wed, 17 Aug 2011 01:13:45 -0400

The new SAM features draft changes the format of some PDUs.

The current Version-max/min/active are fields within a PDU.

The iSCSIProtocolLevel tells the end points which format to use for the
PDUs, so the end point can find the fields within the PDU.  This lets us
have different format PDUs AFTER the negotiation of this key.  The
creation of the iSCSIProtocolLevel key allows us to write future drafts
that make changes more radical than what the new SAM features draft
contains.

You need to know the iSCSIProtocolLevel to know which PDU format to use.
So this makes me wonder, if we should move the negotiation of
iSCSIProtocolLevel from the full feature phase to the login phase
(should the negotiation of iSCSIProtocolLevel come earlier)?  Might we
ever want to change the format of any of the PDUs used during login?

	Fred

-----Original Message-----
From: Mallikarjun Chadalapaka [mailto:[email-masked]] 
Sent: Tuesday, August 16, 2011 11:14 PM
To: [email-masked]
Subject: [storm] iSCSI Level and Version

In doing an internal review of the iSCSI Last Call drafts, someone asked
me
this.  I want to run this response by the larger WG to see if we're all
in
agreement.

Answer: The V-* values agreed to during the Login process determine the
operating version of the iSCSI protocol, and announce if any other
versions
can be supported by either side.  The operational iSCSIProtocolLevel key
on
the other hand determines the specific protocol features that may be
used on
an iSCSI session, within the "Version-active" versioned iSCSI protocol.

If this sounds reasonable, it is worth capturing this clarification in
the
SAM-4 draft where this key is defined.

Thanks.

Mallikarjun

_______________________________________________
storm mailing list
[email-masked]
https://www.ietf.org/mailman/listinfo/storm

---

From: Mallikarjun Chadalapaka <[email-masked]>
Date: Thu, 18 Aug 2011 17:39:36 -0700

I agree with Fred.  I think we should mark the key as IO (Initialize-Only)
in terms of when it can be used.

As far as what the iSCSIProtocolLevel indicates though, it may communicate
changes in PDU format and/or end node semantics.  IOW, there is no reason to
limit this exclusively to signal PDU format changes.  Hope that makes sense.

Changing the format of the Login-related PDUs is an interesting question.  I
would think that Version number should be bumped up to cover that scenario.

Thanks.

Mallikarjun

  -----Original Message-----
  From: Knight, Frederick [mailto:[email-masked]]
  Sent: Tuesday, August 16, 2011 10:14 PM
  To: Mallikarjun Chadalapaka; [email-masked]
  Subject: RE: [storm] iSCSI Level and Version

  
  The iSCSIProtocolLevel tells the end points which format to use for the
  PDUs, so the end point can find the fields within the PDU.  This lets us
have
  different format PDUs AFTER the negotiation of this key.  The creation of
  the iSCSIProtocolLevel key allows us to write future drafts that make
  changes more radical than what the new SAM features draft contains.
  
  You need to know the iSCSIProtocolLevel to know which PDU format to use.
  So this makes me wonder, if we should move the negotiation of
  iSCSIProtocolLevel from the full feature phase to the login phase (should
the
  negotiation of iSCSIProtocolLevel come earlier)?  Might we ever want to
  change the format of any of the PDUs used during login?
  
  	Fred
  
  -----Original Message-----
  From: Mallikarjun Chadalapaka [mailto:[email-masked]]
  Sent: Tuesday, August 16, 2011 11:14 PM
  To: [email-masked]
  Subject: [storm] iSCSI Level and Version

  Question: What is the difference between Version-max/Version-
  min/Version-active values exchanged during the iSCSI Login phase, and the
  negotiated value of iSCSIProtocolLevel key?
  
  Answer: The V-* values agreed to during the Login process determine the
  operating version of the iSCSI protocol, and announce if any other
versions
  can be supported by either side.  The operational iSCSIProtocolLevel key
on
  the other hand determines the specific protocol features that may be used
  on an iSCSI session, within the "Version-active" versioned iSCSI protocol.

  Thanks.
  
  Mallikarjun

---

From: "Knight, Frederick" <[email-masked]>
Date: Fri, 19 Aug 2011 02:05:38 -0400

I'll change it to IO (Initialize-Only).

Yes, the iSCSIProtocolLevel indicates something the implementation needs
to know very early in the communication process (that includes PDU
formats, or end node semantics, or maybe something else we haven't
thought of yet).  I just described PDU formats, because that is the case
that we happen to have in front of us at this point in time.

And the rest of this stuff is hypothetical.  Changing the version number
wouldn't do any good, if you couldn't find the version number field
(because of a change to the PDU format).  Maybe in that hypothetical
situation, BOTH the version number and the iSCSIProtocolLevel would need
to change.  But, let's wait to cross that bridge until we have too.

	Fred

-----Original Message-----
From: Mallikarjun Chadalapaka [mailto:[email-masked]] 
Sent: Thursday, August 18, 2011 8:40 PM
To: Knight, Frederick; [email-masked]
Subject: RE: [storm] iSCSI Level and Version

I agree with Fred.  I think we should mark the key as IO
(Initialize-Only)
in terms of when it can be used.

As far as what the iSCSIProtocolLevel indicates though, it may
communicate
changes in PDU format and/or end node semantics.  IOW, there is no
reason to
limit this exclusively to signal PDU format changes.  Hope that makes
sense.

Changing the format of the Login-related PDUs is an interesting
question.  I
would think that Version number should be bumped up to cover that
scenario.

Thanks.

Mallikarjun

  -----Original Message-----
  From: Knight, Frederick [mailto:[email-masked]]
  Sent: Tuesday, August 16, 2011 10:14 PM
  To: Mallikarjun Chadalapaka; [email-masked]
  Subject: RE: [storm] iSCSI Level and Version

  
  The iSCSIProtocolLevel tells the end points which format to use for
the
  PDUs, so the end point can find the fields within the PDU.  This lets
us
have
  different format PDUs AFTER the negotiation of this key.  The creation
of
  the iSCSIProtocolLevel key allows us to write future drafts that make
  changes more radical than what the new SAM features draft contains.
  
  You need to know the iSCSIProtocolLevel to know which PDU format to
use.
  So this makes me wonder, if we should move the negotiation of
  iSCSIProtocolLevel from the full feature phase to the login phase
(should
the
  negotiation of iSCSIProtocolLevel come earlier)?  Might we ever want
to
  change the format of any of the PDUs used during login?
  
  	Fred
  
  -----Original Message-----
  From: Mallikarjun Chadalapaka [mailto:[email-masked]]
  Sent: Tuesday, August 16, 2011 11:14 PM
  To: [email-masked]
  Subject: [storm] iSCSI Level and Version
  
  In doing an internal review of the iSCSI Last Call drafts, someone
asked
me
  this.  I want to run this response by the larger WG to see if we're
all in
  agreement.
  
  Question: What is the difference between Version-max/Version-
  min/Version-active values exchanged during the iSCSI Login phase, and
the
  negotiated value of iSCSIProtocolLevel key?
  
  Answer: The V-* values agreed to during the Login process determine
the
  operating version of the iSCSI protocol, and announce if any other
versions
  can be supported by either side.  The operational iSCSIProtocolLevel
key
on
  the other hand determines the specific protocol features that may be
used
  on an iSCSI session, within the "Version-active" versioned iSCSI
protocol.

  Thanks.
  
  Mallikarjun