 
| 
 | 
 [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 |