|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] RE: iSCSI Change - New NOP-Out/In text
Stephen,
Here is an edited version of the text. As you can see I am not a fan of
verbosity in a standard.
I hope it is a bit clearer.
The are no other changes than editorials.
Please feel free to send me or any other author any changes you propose.
If those are purely editorial you may want to refrain from sending them to
the list.
However you may want to send them to the list if you are somehow not
satisfied with either the answers you got
or think that the list should know about it anyhow.
And as I said there will be an editorial revision coming after 08.
Julo
1.1 NOP-Out
Byte / 0 | 1 | 2 | 3 |
/ | | | |
|7 6 5 4 3 2 1 0|7 6 5 4 3 2 1 0|7 6 5 4 3 2 1 0|7 6 5 4 3 2 1 0|
+---------------+---------------+---------------+---------------+
0|X|I| 0x00 |1| Reserved (0) |
+---------------+---------------+---------------+---------------+
4| Reserved (0) | DataSegmentLength |
+---------------+---------------+---------------+---------------+
8| LUN or Reserved (0) |
+ +
12| |
+---------------+---------------+---------------+---------------+
16| Initiator Task Tag or Reserved (0xffffffff) |
+---------------+---------------+---------------+---------------+
20| Target Transfer Tag or Reserved (0xffffffff) |
+---------------+---------------+---------------+---------------+
24| CmdSN |
+---------------+---------------+---------------+---------------+
28| ExpStatSN |
+---------------+---------------+---------------+---------------+
32/ Reserved (0) /
+/ /
+---------------+---------------+---------------+---------------+
48| Digests if any... |
+---------------+---------------+---------------+---------------+
/ DataSegment - Ping Data (optional) /
+/ /
+---------------+---------------+---------------+---------------+
A NOP-Out may be used by an initiator as a "ping command", to verify
that a connection/session is still active and all its components are
operational. The NOP-In response is the "ping echo".
A NOP-Out is also sent by an initiator in response to a NOP-In.
A NOP-Out may also be used to confirm a changed ExpStatSN if there is no
other PDU to carry it for a long time.
When used as a ping command, the Initiator Task Tag MUST be set to valid
value (not the reserved 0xffffffff).
Upon receipt of a NOP-In with the Target Transfer Tag set to a valid
value (not the reserved 0xffffffff), the initiator MUST respond with a
NOP-Out. In this case, the NOP-Out Target Transfer Tag MUST contain a
copy of NOP-In Target Task Tag.
When a target receives the NOP-Out with a valid Initiator Task Tag, it
MUST respond with a Nop-In Response (see NOP-In).
1.1.1 Initiator Task Tag
An initiator assigned identifier for the operation.
The NOP-Out must have the Initiator Task Tag set to a valid value only
if a response in the form of NOP-In is requested.
If the Initiator Task Tag does not contain a valid value, the CmdSN
field contains as usual the next CmdSN but CmdSN is not advanced and the
I bit must be set to 1.
1.1.2 Target Transfer Tag
A target assigned identifier for the operation.
The NOP-Out MUST have the Target Transfer Tag set only if it is issued
in response to a NOP-In with a valid Target Transfer Tag, in which case
it copies the Target Transfer Tag from the NOP-In PDU.
When the Target Transfer Tag is set, the LUN field MUST be also copied
from the NOP-In.
1.1.3 Ping Data
Ping data is reflected in the NOP-In Response. Note that the length of
the reflected data is limited to 4096 bytes and the initiator should
avoid sending more than 4096 bytes. The length of ping data is indicated
by the Data Segment Length. 0 is a valid value for the Data Segment
Length - and indicates the absence of ping data.
1.2 NOP-In
Byte / 0 | 1 | 2 | 3 |
/ | | | |
|7 6 5 4 3 2 1 0|7 6 5 4 3 2 1 0|7 6 5 4 3 2 1 0|7 6 5 4 3 2 1 0|
+---------------+---------------+---------------+---------------+
0|1|1| 0x20 |1| Reserved (0) |
+---------------+---------------+---------------+---------------+
4| Reserved (0) | DataSegmentLength |
+---------------+---------------+---------------+---------------+
8| LUN or Reserved (0) |
+ +
12| |
+---------------+---------------+---------------+---------------+
16| Initiator Task Tag or Reserved (0xffffffff) |
+---------------+---------------+---------------+---------------+
20| Target Transfer Tag or Reserved (0xffffffff) |
+---------------+---------------+---------------+---------------+
24| StatSN |
+---------------+---------------+---------------+---------------+
28| ExpCmdSN |
+---------------+---------------+---------------+---------------+
32| MaxCmdSN |
+---------------+---------------+---------------+---------------+
36/ Reserved (0) /
+/ /
+---------------+---------------+---------------+---------------+
48| Digests if any... |
+---------------+---------------+---------------+---------------+
/ DataSegment - Return Ping Data /
+/ /
+---------------+---------------+---------------+---------------+
NOP-In is either sent by a target as a response to a NOP-Out, as a
"ping" to an initiator, or a means to carry a changed ExpCmdSN and/or
MaxCmdSN if there is no other PDU to carry them for a long time.
When a target receives the NOP-Out with a valid Initiator Task Tag (not
the reserved value 0xffffffff), it MUST respond with a NOP-In with the
same Initiator Task Tag that was provided in the NOP-Out Command. It
MUST also duplicate up to first 4096 bytes of the initiator provided
Ping Data. For such a response, the Target Transfer Tag MUST be
0xffffffff.
1.2.1 Target Transfer Tag
A target assigned identifier for the operation.
If the target is responding to a NOP-Out, this is set to the reserved
value 0xffffffff.
If the target is sending a NOP-In as a Ping (intending to receive a
corresponding NOP-Out), this field is set to a valid value (not the
reserved 0xffffffff).
If the target is initiating a NOP-In without wanting to receive a
corresponding NOP-Out, this field MUST hold the reserved value of
0xffffffff.
Whenever the NOP-In is not issued in response to a NOP-Out the StatSN
field will contain as usual the next StatSN but StatSN for this
connection is not advanced.
1.2.2 LUN
A LUN MUST be set to a correct value when the Target Transfer Tag is
valid (not the reserved value 0xffffffff).
---------------------- Forwarded by Julian Satran/Haifa/IBM on 17-08-2001
12:44 ---------------------------
"Wheat, Stephen R" <stephen.r.wheat@intel.com> on 16-08-2001 19:09:30
Please respond to "Wheat, Stephen R" <stephen.r.wheat@intel.com>
To: Julian Satran/Haifa/IBM@IBMIL, ips@ece.cmu.edu
cc:
Subject: RE: iSCSI Change - New NOP-Out/In text
Julian,
As a relatively new reader of all this good material, perhaps some "new
eyes" editorial questions/suggestions are of value. My apologies up front
if this doesn't meet with the WG protocol for such suggestions.
Stephen
-----Original Message-----
From: Julian Satran [mailto:Julian_Satran@il.ibm.com]
Sent: Thursday, August 16, 2001 8:09 AM
To: ips@ece.cmu.edu
Subject: iSCSI Change - New NOP-Out/In text
+++ srw
The first two paragraphs intermix rational and specification for a "ping
command".
Rational is also repeated.
For brevity and clarity, I suggest striving to keep rational segregated
from
semantic definition.
Also, the target's semantics are inconsistent between the NOP-out and
NOP-in
paragraphs.
I offer the following text update.
I am willing to do such editorial changes for the rest, but am awaiting
whether the suggestions are valuable.
+++ srw
A NOP-Out may be sent by an initiator as a "ping command". This form of
the NOP-Out
can be used to verify that a connection is still active and all its
components are
operational. Based upon whether a corresponding NOP-In is received,
this
provides an initiator a way to determine whether it may be necessary to
close the connection and try to establish a new connection.
A NOP-Out is also sent by an initiator in response to a NOP-In.
A NOP-Out may also be used to confirm a changed ExpStatSN if there is
no other PDU to carry it for a long time.
This command MAY use in-order delivery or immediate delivery.
When used as a ping command, the Initiator Task Tag MUST be set to valid
value (not the
reserved 0xffffffff).
Upon receipt of a NOP-In with the
Target Transfer Tag set to a valid value (not the reserved 0xffffffff),
the initiator MUST respond with a NOP-Out. In this case the NOP-Out
Target Transfer
Tag MUST contain a copy of NOP-In Target Task Tag.
When a target receives the NOP-Out with a
valid Initiator Task Tag, it MUST respond with a Nop-In Response (see
NOP-in).
^^^^ consider MUST???
1.1.1 Initiator Task Tag
An initiator assigned identifier for the operation.
The NOP-Out MUST have the Initiator Task Tag set to a valid value only
if a response in the form of NOP-In is requested.
If the Initiator Task Tag does not contain a valid value, the CmdSN
field contains as usual the next CmdSN but CmdSN is not advanced and the
I bit must be set to 1.
1.1.2 Target Transfer Tag
A target assigned identifier for the operation.
The NOP-Out MUST have the Target Transfer Tag set only if it is issued
in response to a NOP-In with a valid Target Transfer Tag, in which case
it copies the Target Transfer Tag from the NOP-In PDU.
When the Target Transfer Tag is set, the LUN field MUST be also copied
from the NOP-In.
"Wheat, Stephen R" <stephen.r.wheat@intel.com> on 16-08-2001 23:10:53
Please respond to "Wheat, Stephen R" <stephen.r.wheat@intel.com>
To: Julian Satran/Haifa/IBM@IBMIL, ips@ece.cmu.edu
cc:
Subject: RE: iSCSI Change - New NOP-Out/In text
Here is a (maybe partial) draft of the suggested NOP-In rewording. Whether
this type of commentary is worthwhile, please let me know.
Embedded are some questions I have from the original writing this morning.
As a commentary/question, shouldn't all fields be documented, rather than
having their semantics covered in other field documentation???
At the very least, I'd appreciate the text to be changed to answer my
questions embedded below.
BTW, since a NOP-In could result in a corresponding NOP-Out, the name of
the
ping data fields is kind of lopsided. I.e., for NOP-Out, it is "Ping
Data",
and for NOP-In, it is "Return Ping Data." A NOP-Out's ping data is "return
ping data" when sent as a response to a NOP-In. So, how about just calling
it "Ping Data" in both messages??
Stephen
==================
1.2 NOP-In
NOP-In is either sent by a target as a response to having received a
NOP-Out,
as a "ping" to an initiator, or a means to carry a changed ExpCmdSN
and/or MaxCmdSN if there is no other PDU to carry them for a long time.
When a target receives the NOP-Out with a valid Initiator Task Tag (not
the reserved value 0xffffffff), it MUST respond with a NOP-In with the
same Initiator Task Tag that was provided in the NOP-Out Command. It
SHOULD also duplicate up to first 4096 bytes of the initiator provided
Ping Data.
1.2.1 Target Transfer Tag
A target assigned identifier for the operation.
If the target is responding to a NOP-Out, this is set to ?????????
If the target is initiating a NOP-Out as a Ping (intending to receive a
corresponding
NOP-Out), this field is set to a valid value (not the reserved
0xffffffff).
If the target is initiating a NOP-Out without wanting to receive a
corresponding
NOP-In, this field MUST hold the reserved value of 0xffffffff.
1.2.2 Initiator Task Tag
When the NOP-Out is in response to a NOP-In, this is the same value as
found in the NOP-Out.
Otherwise, this field MUST be 0xffffffff.
1.2.3 LUN
A LUN MUST be set to a correct value when the Target Transfer Tag is
valid (not the reserved value 0xffffffff). Otherwise, it SHOULD be set
to the
reserved value of 0.
1.2.4 StatSN
Whenever the NOP-In is not issued in response to a NOP-Out the, StatSN
field will contain the next StatSN but StatSN for this
connection is not advanced. Otherwise, it will be set to ????????.
1.2.5 Data Segment Length
The number of bytes in the Return Ping Data. The range is [0..4096].
"Wheat, Stephen R" <stephen.r.wheat@intel.com> on 16-08-2001 23:41:33
Please respond to "Wheat, Stephen R" <stephen.r.wheat@intel.com>
To: Julian Satran/Haifa/IBM@IBMIL
cc:
Subject: RE: iSCSI Change - New NOP-Out/In text
Ooops, this paragraph should have been changed
When a target receives the NOP-Out with a valid Initiator Task Tag (not
the reserved value 0xffffffff), it MUST respond with a NOP-In with the
same Initiator Task Tag that was provided in the NOP-Out Command. It
SHOULD also duplicate up to first 4096 bytes of the initiator provided
Ping Data.
to
When a target receives the NOP-Out with a valid Initiator Task Tag (not
the reserved value 0xffffffff), it MUST respond with a NOP-In.
Where the particular fields of the response are covered in their sections.
Seriously, are you wanting editorial comments about clarity, readability,
and consistency?
Stephen
Home Last updated: Tue Sep 04 01:04:00 2001 6315 messages in chronological order |