|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: iSCSI Change - New NOP-Out/In text
Sandeep,
ITT is the only indicator now that a response is expected.
As much as possible means 4096 (I'll try to put it in here too).
Julo
Sandeep Joshi <sandeepj@research.bell-labs.com>@research.bell-labs.com on
16-08-2001 18:39:34
Please respond to Sandeep Joshi <sandeepj@research.bell-labs.com>
Sent by: sandeepj@research.bell-labs.com
To: Julian Satran/Haifa/IBM@IBMIL
cc: ips@ece.cmu.edu
Subject: Re: iSCSI Change - New NOP-Out/In text
Julian,
Two comments
(1) Sec 1.1.1 should state that the initiator task tag is also valid
when the initiator sends a NOP-Out on its own.
The word "only" below is misleading (and perhaps misplaced)
> 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.
(2) does "as much as possible" imply zero is value (i.e. duplicate
nothing?)
> duplicating the data that was provided in the NOP-Out
> (if any) as much as possible.
-Sandeep
Julian Satran wrote:
>
> Here is the new NOP-Out/In text (2.12 & 2.13):
>
> 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) /
> +/ /
> +---------------+---------------+---------------+---------------+
>
> The NOP-Out with the Initiator Task Tag set to valid value (not the
> reserved 0xffffffff) acts 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. This command MAY
> use in-order delivery or immediate delivery. The NOP-Out may be useful
> in the case where an initiator has been waiting a long time for the
> response to some command, and the initiator suspects that there is
some
> problem with the connection. When a target receives the NOP-Out with
a
> valid Initiator Task Tag, it should respond with a Nop-In Response,
> duplicating the data that was provided in the NOP-Out (if any) as much
> as possible. If the initiator does not receive the NOP-In within some
> time (determined by the initiator), or if the data returned by the
> NOP-In is different from the data that was in the NOP-Out, the
initiator
> may conclude that there is a problem with the connection. The
initiator
> then closes the connection and may try to establish a new connection.
>
> A NOP-Out should also be used to confirm a changed ExpStatSN if there
is
> no other PDU to carry it for a long time.
>
> The NOP-Out can be sent by an initiator because of a NOP-In with the
> Target Transfer Tag set to a valid value (not the reserved
0xffffffff).
> In this case the NOP-Out Target Transfer Tag must contain a copy of
> NOP-In Target Task Tag.
>
> 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 /
> +/ /
> +---------------+---------------+---------------+---------------+
>
> 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. For such a response, the Target Transfer Tag MUST be
> 0xffffffff.
>
> 1.2.1 Target Transfer Tag
>
> A target assigned identifier for the operation.
>
> A target may issue a NOP-In on its own to test the connection and the
> state of the initiator. If the target wants to test the initiator, it
> sets the Target Task Tag to a valid value (not the reserved
0xffffffff)
> in order to ask for an answer from the initiator. In this case the
> Initiator Task Tag MUST be 0xffffffff and the LUN field MUST contain a
> valid LUN. If the target wants only to test the connection, both tags
> MUST hold the reserved value 0xffffffff and the LUN field is reserved.
>
> A target may also issue a NOP-In on its own to carry a changed
ExpCmdSN
> and/or MaxCmdSN if there is no other PDU to carry them for a long
time.
>
> 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).
Home Last updated: Tue Sep 04 01:04:00 2001 6315 messages in chronological order |