|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] RE: iSCSI Change - New NOP-Out/In textCorrect. In addition the CmdSN is not advanced if ITT is invalid. and the loop is broken by not leeting the target ship a NOP-In with both tags valid. Julo "Ayman Ghanem" <aghanem@cisco.com>@ece.cmu.edu on 16-08-2001 19:08:59 Please respond to "Ayman Ghanem" <aghanem@cisco.com> Sent by: owner-ips@ece.cmu.edu To: <ips@ece.cmu.edu> cc: Subject: 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 |