|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: iSCSI Plugfest at UNH (misc issues)Comments in text - Julo Sandeep Joshi <sandeepj@research.bell-labs.com> on 23-07-2001 18:30:39 Please respond to Sandeep Joshi <sandeepj@research.bell-labs.com> To: ips@ece.cmu.edu cc: Subject: Re: iSCSI Plugfest at UNH (misc issues) Hi Julian, Some additional items from the plugfest to resolve.. 1) Sec 2.3.1 : Untagged tasks. If the task attribute in the SCSI Command is "untagged" then the initiator task tag should be ignored, correct ? Can the draft explicitly state that the initiator must set the Initiator Task Tag to 0x'ffffffff if its an untagged task. Do we assume that the initiator ULP will not issue more than one untagged tasks simultaneously ? +++ In fact iSCSI has no such thing as untagged tasks. It will always use a tag and it is up to SCSI to distinguish between them. This should not be aa practical issue since the task identifiers (tagged or not) have to unique only at the initiator (according to SAM2). The x'ffffffff" is a reserved value - not to be used by SCSI tasks. I will "expand" 2.2.2.8 to read: 1.1.1.1 Initiator Task Tag The initiator assigns a Task Tag to each iSCSI task that it issues. While a task exists, this tag MUST uniquely identify it session-wide. The initiator task tag may be used by SCSI too as part of the SCSI task identifier as the time span during which an iSCSI initiator task tag has to be unique extends over the time span during which a SCSI task tag has to be unique. However, the iSCSI Initiator Task Tag has to exist and be unique even for untagged SCSI commands. +++ 2) ExpCmdSN What are the semantics of something like this.. the target does not increase the expCmdSN but keeps sending the status (SCSI response) for commands after the expCmdSN ? Clearly, the target has received and executed the commands (in cmdSN order). Hence, the expCmdSN in a SCSI response must not be less than the cmdSN of the original command (for which response is being received). This seems like a valid property which could be mandated and checked, to allow efficient initiator implementations. The target eventually suffers but the standard could prevent such targets from being deployed :-) +++ Interesting proposal. Has some academic weaknesses however. We assume that CmdSN has no significance after delivery. Assume that you have a good target and a very long lived command - outlives a wrap around of CmdSN! How would you distinguish the status of this command carying a low ExpCmdSN from your case? I will change the following in 1.2.2.1 - CmdSN - the current command Sequence Number advanced by 1 on each command shipped except for commands marked for immediate delivery. - ExpCmdSN - the next expected command by the target. The target acknowledges all commands up to but not including this number and the initiator has to mark the acknowledged commands as such as soon as a PDU with the corresponding ExpCmdSN is received. The target iSCSI layer sets the ExpCmdSN to the largest non-immediate CmdSN that it is able to deliver for execution plus 1 (no holes in the CmdSN sequence). - MaxCmdSN - the maximum number to be shipped. The queuing capacity of the receiving iSCSI layer is MaxCmdSN - ExpCmdSN + 1. And later - at the end of 1.2.2.1 A target MUST NOT issue a command response or DATA-In PDU with status before acknowledging the command. As with many other initiator deteced errors - the initiator has to decide what to do with such an error (logout, rest etc.) ++++ 3) Sending status in read PDU Since quite a few initiators did not support this, this feature had to be enabled or disabled frequently at the target. Either we should make it mandatory to implement (at initiator) or we should add a key "SendStatusInReadPDU=yes/no". The first option seems simpler. +++ Anything that is not optional is mandatory to implement to make it unequivocal I will add to 2.7: Status can accompany the last Data-in PDU if the command did not end with an exception. Presence of status (and of a residual count) is signaled though the S flag bit. Although targets may choose to send even non-exception status in separate responses initiators MUST support non-exception status in Data-In PDUs. +++ thanks -Sandeep
Home Last updated: Tue Sep 04 01:04:14 2001 6315 messages in chronological order |