SORT BY:

LIST ORDER
THREAD
AUTHOR
SUBJECT


SEARCH

IPS HOME


    [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

    RE: iSCSI Change - New NOP-Out/In text



    From reading the new text, the initiator/target task tags are used to
    indicate what the poll-bit used to do. If the task tag is valid, then a
    response is requested, otherwise its a one-way message. The way I understand
    1.1.1 is that the initiator can send a NOP-Out on its own and set the itt to
    valid/reserved value depending on whether it is requesting a NOP-In or not.
    
    -Ayman
    
    
    > -----Original Message-----
    > From: owner-ips@ece.cmu.edu [mailto:owner-ips@ece.cmu.edu]On Behalf Of
    > Sandeep Joshi
    > Sent: Thursday, August 16, 2001 10:40 AM
    > To: Julian Satran
    > 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