|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] RE: iSCSI Change - New NOP-Out/In textStephen, 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 |