Command Ordering                     6-June-03



     IPS                                              Mallikarjun Chadalapaka
     Internet Draft                                               Rob Elliott
     draft-ietf-ips-command-ordering-00.txt              Hewlett-Packard Co.
     Category: Informational-track





             SCSI Command Ordering Considerations with iSCSI





Mallikarjun Chadalapaka      Expires Dec 2003                             1





                                 Command Ordering              6-June-03

Status of this Memo

     This document is an Internet-Draft and fully conforms to all provi-
     sions of Section 10 of [RFC2026].

     Internet-Drafts are working documents of the Internet Engineering
     Task Force (IETF), its areas, and its working groups. Note that other
     groups may also distribute working documents as Internet-Drafts.
     Internet-Drafts are draft documents valid for at most six months and
     may be updated, replaced, or made obsolete by other documents at any
     time. It is inappropriate to use Internet- Drafts as reference mate-
     rial or to cite them except as "work in progress."
     The list of Internet-Drafts can be accessed at http://www.ietf.org/
     ietf/1id-abstracts.txt.
     The list of Internet-Draft Shadow Directories can be accessed at
     http://www.ietf.org/shadow.html.


Abstract

     iSCSI is a SCSI transport protocol designed to run on top of TCP. The
     iSCSI session abstraction is equivalent to the SCSI I_T nexus, and
     the iSCSI session provides an ordered command delivery from the SCSI
     initiator to the SCSI target.  This document goes into the design
     considerations that led to the iSCSI session model as it is defined
     today, relates the SCSI command ordering features defined in T10
     specifications to the iSCSI concepts, and finally provides guidance
     to system designers on how true command ordering solutions can be
     built based on iSCSI.

Acknowledgments

     We are grateful to the IPS working group whose work defined the iSCSI
     protocol.  Thanks also to David Black (EMC) who encouraged the publi-
     cation of this document.  Special thanks are also in order for Randy
     Haagens (HP) for his insightful review comments.





Mallikarjun Chadalapaka          Expires Dec 2003                          2





                             Command Ordering                  6-June-03

 Status of this Memo . . . . . . . . . . . . . . . . . . . . . . . . . 2
 Abstract  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
 Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1. Definitions and Acronyms  . . . . . . . . . . . . . . . . . . . . . 4
     1.1 Definitions  . . . . . . . . . . . . . . . . . . . . . . . . . . 4
     1.2 Acronyms   . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2. Introduction  . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3. Overview of the iSCSI Protocol  . . . . . . . . . . . . . . . . . . 6
     3.1 Protocol Mapping Description   . . . . . . . . . . . . . . . . . 6
     3.2 The I_T Nexus Model  . . . . . . . . . . . . . . . . . . . . . . 7
     3.3 Ordered Command Delivery   . . . . . . . . . . . . . . . . . . . 8
       3.3.1 Questions   . . . . . . . . . . . . . . . . . . . . . . . . 8
       3.3.2 The Session Guarantee   . . . . . . . . . . . . . . . . . . 9
       3.3.3 Ordering Onus   . . . . . . . . . . . . . . . . . . . . . . 9
       3.3.4 Design Intent   . . . . . . . . . . . . . . . . . . . . . .10
4. The Command Ordering Scenario   . . . . . . . . . . . . . . . . . .10
     4.1 SCSI Layer   . . . . . . . . . . . . . . . . . . . . . . . . . .10
       4.1.1 Command Reference Number (CRN)  . . . . . . . . . . . . . .10
       4.1.2 Task Attributes   . . . . . . . . . . . . . . . . . . . . .10
       4.1.3 Auto Contingent Allegiance (ACA)  . . . . . . . . . . . . .11
       4.1.4 UA Interlock  . . . . . . . . . . . . . . . . . . . . . . .11
     4.2  iSCSI Layer   . . . . . . . . . . . . . . . . . . . . . . . . .11
5. Connection Failure Considerations   . . . . . . . . . . . . . . . .12
6. Command Ordering System Considerations  . . . . . . . . . . . . . .12
7. Reservation Considerations  . . . . . . . . . . . . . . . . . . . .13
8. IANA Considerations   . . . . . . . . . . . . . . . . . . . . . . .15
9. Security Considerations   . . . . . . . . . . . . . . . . . . . . .15
10. References and Bibliography  . . . . . . . . . . . . . . . . . . .16
     10.1 Normative References  . . . . . . . . . . . . . . . . . . . . .16
     10.2 Informative References:   . . . . . . . . . . . . . . . . . . .16
11. Authors' Addresses   . . . . . . . . . . . . . . . . . . . . . . .16
 Full Copyright Statement  . . . . . . . . . . . . . . . . . . . . .  17





Mallikarjun Chadalapaka       Expires Dec 2003                          3





                             Command Ordering                   6-June-03

1. Definitions and Acronyms

1.1  Definitions

     - I_T nexus: [SAM2] defines the I_T nexus as a relationship between a
     SCSI initiator port and a SCSI target port. [iSCSI] defines an iSCSI
     session as the iSCSI representation of an I_T nexus. In the iSCSI
     context, the I_T nexus (i.e. the iSCSI session) is a relationship
     between an iSCSI initiator's end of the session (SCSI Initiator Port)
     and the iSCSI target's Portal Group (SCSI Target Port).

     - PDU (Protocol Data Unit): An iSCSI initiator and iSCSI target com-
     municate using iSCSI protocol messages. These messages are called
     "iSCSI protocol data units" (iSCSI PDUs).

     - SCSI device: A SCSI device is an entity that contains one or more
     SCSI ports that are connected to a service delivery subsystem and
     supports SCSI application protocols.  In the iSCSI context, the SCSI
     Device is the component within an iSCSI Node that provides the SCSI
     functionality.  The SCSI Device Name is defined to be the iSCSI Name
     of the node.

     - Session: A group of logically related iSCSI connections that link
     an initiator with a target form a session (equivalent to a SCSI I-T
     nexus). The number of participating iSCSI connections within an iSCSI
     session may vary over time. The multiplicity of connections at the
     iSCSI level is completely hidden for the SCSI layer - each SCSI port
     in an I_T nexus sees only one peer SCSI port across all the connec-
     tions of a session.





Mallikarjun Chadalapaka        Expires Dec 2003                            4





                                    Command Ordering           6-June-03

1.2  Acronyms

     Acronym       Definition
     --------------------------------------------------------------
     ACA           Auto Contingent Allegiance
     ASC           Additional Sense Code
     ASCQ          Additional Sense Code Qualifier
     CRN           Command Reference Number
     IETF          Internet Engineering Task Force
     ISID          Initiator Session Identifier
     ITT           Initiator Task Tag
     LU            Logical Unit
     LUN           Logical Unit Number
     NIC           Network Interface Card
     PDU           Protocol Data Unit
     TMF           Task Management Function
     TSIH          Target Session Identifying Handle
     SAM-2         SCSI Architecture Model - 2
     SAN           Storage Area Network
     SCSI          Small Computer Systems Interface
     TCP           Transmission Control Protocol
     UA        Unit Attention
     WG            Working Group





Mallikarjun Chadalapaka             Expires Dec 2003                   5





                            Command Ordering                  6-June-03

2. Introduction

     iSCSI is a SCSI transport protocol ([iSCSI]) designed to enable run-
     ning SCSI application protocols on TCP/IP networks, including poten-
     tially the Internet.  Given the size and scope of Internet, iSCSI
     thus enables some exciting new SCSI applications.  Potential new
     application areas for exploiting iSCSI's value include the following.

           a)  Larger (diameter) Storage Area Networks (SANs) than had
             been possible until now.
           b)  Asynchronous remote mirroring
           c)  Remote tape vaulting

     Each of these applications takes advantage of the practically unlim-
     ited geographical distance that iSCSI enables between a SCSI initia-
     tor and a SCSI target.  In each of these cases, because of the long
     delays involved, there is a very high incentive for the initiator to
     stream SCSI commands back-to-back without waiting for the SCSI sta-
     tus of previous commands.  Command streaming may be employed prima-
     rily by two classes of applications - while one class may not
     particularly care about ordered command execution, the other class
     does rely on ordered command execution (i.e. there is an application-
     level dependency on the ordering among SCSI commands).  As an exam-
     ple, cases b) and c) listed earlier clearly require ordered command
     execution.  A mirroring application does not want the writes to be
     committed out of order on the remote SCSI target, so as to preserve
     the transactional integrity of the data on that target.  To summa-
     rize, SCSI command streaming when coupled with the guarantee of
     ordered command execution on the SCSI target is extremely valuable
     for a critical class of applications in long-latency networks.

     This document reviews the various protocol considerations in design-
     ing storage solutions that employ SCSI command ordering.  This docu-
     ment also analyzes and explains the design intent of [iSCSI] with
     respect to command ordering.

3. Overview of the iSCSI Protocol

3.1  Protocol Mapping Description

     The iSCSI protocol is a mapping of the SCSI remote procedure invoca-
     tion model (see [SAM2]) over the TCP protocol.



Mallikarjun Chadalapaka      Expires Dec 2003                              6





                             Command Ordering                  6-June-03

     SCSI's notion of a task maps to an iSCSI task.  Each iSCSI task is
     uniquely identified within that I_T nexus by a 32-bit unique identi-
     fier called Initiator Task Tag (ITT).  The ITT is both an iSCSI iden-
     tifier of the task and a classic SCSI task tag.

     SCSI commands from the initiator to the target are carried in iSCSI
     requests called SCSI Command PDUs.  SCSI status back to the initia-
     tor is carried in iSCSI responses called SCSI Response PDUs.  SCSI
     Data-out from the initiator to the target is carried in SCSI Data-Out
     PDUs, and the SCSI Data-in back to the initiator is carried in SCSI
     Data-in PDUs.

3.2  The I_T Nexus Model

     In the iSCSI model, the SCSI I_T nexus maps directly to the iSCSI
     session which is an iSCSI protocol abstraction spanning one or more
     TCP connections.  The iSCSI protocol defines the semantics in order
     to realize one logical flow of bidirectional communication on the I_T
     nexus potentially spanning multiple TCP connections (as many as
     2^16).  The multiplicity of iSCSI connections is thus completely con-
     tained at the iSCSI layer, while the SCSI layer is presented with a
     single I_T nexus even in a multi-connection session.  A session
     between a pair of given iSCSI nodes is identified by the session
     identifier (SSID) and each connection within a given session is
     uniquely identified by a connection identifier (CID) in iSCSI.  The
     SSID itself has two components - Initiator Session Identifier (ISID)
     and a Target Session Identifying Handler (TSIH) - each identifying
     one end of the same session.

     There are four crucial functional facets of iSCSI that together
     present this single logical flow abstraction to the SCSI layer even
     with an iSCSI session spanning across multiple iSCSI connections.

           a)  Ordered command delivery:  A sequence of SCSI commands that
              is striped across all the connections in the session is
              "reordered" by the target iSCSI layer into an identical
              sequence based on a Command Sequence Number (CmdSN) that is
              unique across the session.  The goal is to achieve band-
              width aggregation from multiple TCP connections, but to
              still make it appear to the target SCSI layer as if all the
              commands had travelled in one flow.
           b)  Connection allegiance: All the PDU exchanges for a SCSI
              Command, up to and including the SCSI Response PDU for the


Mallikarjun Chadalapaka      Expires Dec 2003                              7





                               Command Ordering                  6-June-03

                Command, are required to flow on the same iSCSI connection
                at any given time.  This again is intended to hide the
                multi-connection nature of a session because the SCSI layer
                on either side will never see the PDU contents out of order
                (e.g., status cannot bypass read data for an initiator).
           c)  Task set management function handling: [iSCSI] specifies an
                ordered sequence of steps for the iSCSI layer on the SCSI
                target in handling the two SCSI task management functions
                (TMFs) that manage SCSI task sets. The two TMFs are ABORT
                TASK SET that aborts all active tasks in a session and CLEAR
                TASK SET that clears the tasks in the task set.  The goal of
                the sequence of steps is to guarantee that the initiator
                receives the SCSI Response PDUs of all unaffected tasks
                before the TMF Response itself arrives, regardless of the
                number of connections in the iSCSI session.  This opera-
                tional model is again intended to preserve the single flow
                abstraction to the SCSI layer.
           d)  Immediate task management function handling: Even when a
                TMF request is marked as "immediate" (i.e. only has a posi-
                tion in the command stream, but does not consume a CmdSN),
                [iSCSI] defines semantics that require the target iSCSI
                layer to ensure that the TMF request is executed as if the
                commands and the TMF request were all flowing on a single
                logical channel.  This ensures that the TMF request will act
                on tasks that it was meant to manage.

     The following sections will analyze the "Ordered command delivery"
     aspect in more detail, since command ordering is the focus of this
     document.

3.3  Ordered Command Delivery

3.3.1  Questions

     There has been a lot of  debate on this particular aspect in the IPS
     Working Group.  Most of the debate was centered on two specific ques-
     tions -
           a)  What should be the command ordering behavior required of
                iSCSI implementations in the presence of transport errors
                (such as TCP checksum escapes, leading to iSCSI digest fail-
                ures)?
           b)  Should [iSCSI] require both initiators and targets to use
                ordered command delivery?


Mallikarjun Chadalapaka        Expires Dec 2003                              8





                             Command Ordering                   6-June-03

3.3.2  The Session Guarantee

     The final disposition of question a) in section 3.3.1 was reflected
     in [RFC3347], "iSCSI MUST specify strictly ordered delivery of SCSI
     commands over an iSCSI session between an initiator/target pair, even
     in the presence of transport errors.".  Stated differently, an iSCSI
     digest failure, or an iSCSI connection termination must not cause the
     iSCSI layer on a target to allow executing the commands in an order
     different from that intended (as indicated by the CmdSN order) by the
     initiator.  This design choice is enormously helpful in building
     storage systems and solutions that can now always assume command
     ordering to be a service characteristic of an iSCSI substrate.

     Note that by taking the position that an iSCSI session always guaran-
     tees command ordering, [iSCSI] was indirectly implying that the prin-
     cipal reason for the multi-connection iSCSI session abstraction was
     to allow ordered bandwidth aggregation for an I_T nexus.  In deploy-
     ment models where this cross-connection ordering mandated by [iSCSI]
     is deemed expensive, a serious consideration should be given to
     deploying multiple single-connection sessions in stead.

3.3.3  Ordering Onus

     The final resolution of b) in section 3.3.1 by the iSCSI protocol
     designers was in favor of not requiring the initiators to use com-
     mand ordering always.  This resolution is reflected in dropping the
     mandatory ACA usage requirement on the initiators, and allowing an
     ABORT TASK TMF to plug a command hole etc., since these are con-
     scious choices an initiator makes in favor of not using ordered com-
     mand delivery.  The net result can be discerned by a careful reader
     of [iSCSI] - the onus of ensuring ordered command delivery is always
     on the iSCSI targets, while the initiators may or may not utilize
     command ordering.  iSCSI targets being the servers in the client-
     server model do not really attempt to establish whether or not a cli-
     ent (initiator) intends to take advantage of command ordering ser-
     vice, but instead simply always provide the guaranteed delivery
     service.  The rationale here is that there are inherent SCSI and
     application-level dependencies as we shall see in building a command
     ordered solution that are beyond the scope of [iSCSI], to mandate or
     even discern the intent with respect to the usage of command order-
     ing.




Mallikarjun Chadalapaka      Expires Dec 2003                              9





                             Command Ordering                  6-June-03

3.3.4  Design Intent

     To summarize the design intent of [iSCSI] -

          The service delivery subsystem (see [SAM2]) abstraction pro-
          vided by an iSCSI session is guaranteed to have the intrinsic
          property of ordered delivery of commands to the target SCSI
          layer under all conditions.  Consequently, the guarantee of the
          ordered command delivery is across the entire I_T nexus span-
          ning all the LUs that the nexus is authorized to access. It is
          the initiator's discretion to whether or not make use of this
          property.

4. The Command Ordering Scenario

     A storage systems designer working with SCSI and iSCSI has to con-
     sider the following protocol features in SCSI and iSCSI layers, each
     of which has a role to play in realizing the command ordering goal.

4.1  SCSI Layer

     The SCSI application layer has several tools to enforce ordering.

4.1.1  Command Reference Number (CRN)

     CRN is an ordered sequence number which when enabled for a device
     server, increments by one for each I_T_L nexus (see [SAM2]).  The one
     notable drawback with CRN is that there is no SCSI-generic way (such
     as through mode pages) to enable or disable the CRN feature.  [SAM2]
     also leaves the usage semantics of CRN for the SCSI transport proto-
     col, such as iSCSI, to specify.  [iSCSI] chose not to support the CRN
     feature for various reasons.

4.1.2  Task Attributes

     SAM-2 defines the following four task attributes - SIMPLE, ORDERED,
     HEAD OF QUEUE, and ACA. Each task to an LU may be assigned an
     attribute.  [SAM2] defines the ordering constraints that each of
     these attributes conveys to the device server that is servicing the
     task.  In particular, judicious use of ORDERED and SIMPLE attributes
     applied to a stream of pipelined commands could convey the precise
     execution schema for the commands that the initiator issues, pro-
     vided the commands are received in the same order on the target.



Mallikarjun Chadalapaka      Expires Dec 2003                             10





                               Command Ordering                6-June-03

4.1.3  Auto Contingent Allegiance (ACA)

     ACA is an LU-level condition that is triggered when a command (with
     the NACA bit set to 1) completes with CHECK CONDITION.  When ACA is
     triggered, it prevents all commands other than those with the ACA
     attribute from executing until the CLEAR ACA task management func-
     tion is executed, while blocking all the other tasks already in the
     task set.  See [SAM2] for the detailed semantics of ACA.  Since ACA
     is closely tied to the notion of a task set, one would ideally have
     to select the scope of the task set (by setting the TST bit to 1 in
     the control mode page of the LU) to be per-initiator in order to pre-
     vent command failures in one I_T_L nexus from impacting other I_T_L
     nexuses through ACA.

4.1.4  UA Interlock

     When UA interlock is enabled, the logical unit does not clear any
     standard Unit Attention condition reported with autosense and in
     addition, establishes a Unit Attention condition when a task is ter-
     minated with one of BUSY, TASK SET FULL, or RESERVATION CONFLICT sta-
     tuses.  This so-called "interlocked UA" is cleared only when the
     device server executes an explicit REQUEST SENSE ([SPC3]) command
     from the same initiator.  From a functionality perspective, the scope
     of UA interlock today is slightly different from ACA's because it
     enforces ordering behavior for completion statuses other than CHECK
     CONDITION, but otherwise conceptually has the same design intent as
     ACA.  On the other hand, ACA is somewhat more sophisticated because
     it allows special "cleanup" tasks (ones with ACA attribute) to exe-
     cute when ACA is active.  One of the principal reasons UA interlock
     came into being was that SCSI designers wanted a command ordering
     feature without the side effects of using the aforementioned TST bit
     in the control mode page.

4.2   iSCSI Layer

     As noted in section 3.2 and section 3.3, the iSCSI protocol enforces
     and guarantees ordered command delivery per iSCSI session using the
     CmdSN, and this is an attribute of the SCSI transport layer.  Note
     further that any command ordering solution that seeks to realize
     ordering from the initiator SCSI layer to the target SCSI layer would
     be of practical value only when the command ordering is guaranteed by
     the SCSI transport layer.  In other words, the related SCSI applica-
     tion layer protocol features such as ACA etc. are based on the
     premise of an ordered SCSI transport.  Thus iSCSI's command ordering

Mallikarjun Chadalapaka        Expires Dec 2003                           11





                                 Command Ordering              6-June-03

     is the last piece in completing the puzzle of building solutions that
     rely on ordered command execution, by providing the crucial guaran-
     tee that all the commands handed to the initiator iSCSI layer will be
     transported and handed to the target SCSI layer in the same order.

5. Connection Failure Considerations

     [iSCSI] mandates that when an iSCSI connection fails, the active
     tasks on that connection must be terminated if not recovered within a
     certain negotiated time limit. When an iSCSI target does terminate
     some subset of tasks due to iSCSI connection dynamics, there is a
     danger that the SCSI layer would simply move on to the next tasks
     waiting to be processed and execute them out-of-order unbeknownst to
     the initiator SCSI layer.  To preclude this danger, [iSCSI] further
     mandates the following -

        a)  The tasks terminated due to the connection failure must be
        internally terminated by the iSCSI target "as if" due to a CHECK
        CONDITION.  While this particular completion status is never com-
        municated back to the initiator, the "as if" is still meaningful
        and required because if the initiator were using ACA as the com-
        mand ordering mechanism of choice, a SCSI-level ACA will be trig-
        gered due to this mandatory CHECK CONDITION.  This addresses the
        aforementioned danger.
        b)  After the tasks are terminated due to the connection failure,
        the iSCSI target must report a Unit Attention condition on the
        next command processed on any connection for each affected I_T_L
        nexus of that session.  This is required because if the initiator
        were using UA interlock as the command ordering mechanism of
        choice, a SCSI-level UA will trigger a UA-interlock.  This again
        addresses the aforementioned danger. iSCSI targets must report
        this UA with the status of CHECK CONDITION, and the ASC/ASCQ value
        of 47h/7Fh ("SOME COMMANDS CLEARED BY ISCSI PROTOCOL EVENT").

6. Command Ordering System Considerations

     In general, command ordering is automatically enforced if targets and
     initiators comply with the iSCSI specification.  However, listed
     below are certain additional related implementation considerations
     for the iSCSI initiators and targets to take note of.

        a)   Even when all iSCSI and SCSI command ordering considerations
        earlier noted in this draft were applied, it is beneficial for
        iSCSI initiators to proactively avoid scenarios that would other-

Mallikarjun Chadalapaka          Expires Dec 2003                         12





                             Command Ordering                    6-June-03

        wise lead to out-of-order command execution.  This is simply
        because the SCSI command ordering features such as UA interlock
        are likely to be costlier in performance when they are allowed to
        be triggered. [iSCSI] provides enough guidance on how to imple-
        ment this proactive detection of PDU ordering errors.
        b)  The whole notion of command streaming does of course assume
        that the target in question supports command queueing.  An iSCSI
        target desirous of supporting command ordering solutions should
        ensure that the SCSI layer on the target supports command queu-
        ing.  Especially the remote backup (tape vaulting) applications
        that iSCSI enables make a compelling case that tape devices should
        give a very serious consideration to supporting command queuing,
        at least when used in conjunction with iSCSI.
        c)  An iSCSI target desirous of supporting high-performance com-
        mand ordering solutions that involve specifying a description of
        execution schema should ensure that the SCSI layer on the target
        in fact does support the ORDERED and SIMPLE task attributes.
        d)  There is some consideration of expanding the scope of UA
        interlock to encompass CHECK CONDITION status and thus make it the
        only required command ordering functionality of implementations to
        build command ordering solutions.  Until this is resolved in T10,
        the currently defined semantics of UA interlock and ACA warrant
        implementing both features by iSCSI targets desirous of support-
        ing command ordering solutions.

7. Reservation Considerations

     [iSCSI] describes a "principle of conservative reuse" that encour-
     ages iSCSI initiators to reuse the same ISIDs (see section 3.2) to
     various SCSI target ports, in order to present the same SCSI initia-
     tor port name to those target ports.  This is in fact a very crucial
     implementation consideration that must be complied with.  [SPC3] man-
     dates the SCSI targets to associate persistent reservations and the
     related registrations with the SCSI initiator port names whenever
     they are required by the SCSI transport protocol.  Since [iSCSI]
     requires the mandatory SCSI initiator port names based on ISIDs,
     iSCSI targets are required to work off the SCSI initiator port names
     and thus indirectly the ISIDs in enforcing the persistent reserva-
     tions.

     This fact has the following implications for the implementations.




Mallikarjun Chadalapaka      Expires Dec 2003                             13





                            Command Ordering                  6-June-03

     a)  If a persistent reservation/registration is intended to be
     used across multiple SCSI ports of a SCSI device, the initiator
     iSCSI implementation must use the same ISID across associated
     iSCSI sessions connecting to different iSCSI target portal groups
     of the SCSI device.
     b)  If a persistent reservation/registration is intended to be
     used across the power loss of a SCSI target, the initiator iSCSI
     implementation must use the same ISIDs as before in re-establish-
     ing the associated iSCSI sessions upon subsequent reboot in order
     to rely on the persist through power loss capability.





Mallikarjun Chadalapaka     Expires Dec 2003                           14





                              Command Ordering                   6-June-03

8. IANA Considerations


     This document does not have any IANA considerations.


9. Security Considerations


     This document does not have any security considerations.





Mallikarjun Chadalapaka       Expires Dec 2003                          15





                               Command Ordering                  6-June-03

10. References and Bibliography

10.1  Normative References


       [iSCSI] J. Satran et. al. draft-ietf-ips-iscsi-20.txt (work in
         progress)
       [RFC790] J. Postel, ASSIGNED NUMBERS, September 1981.
       [RFC793] TRANSMISSION CONTROL PROTOCOL, DARPA INTERNET PROGRAM
         PROTOCOL SPECIFICATION, September 1981.
       [RFC2026] Bradner, S., "The Internet Standards Process -- Revi-
         sion 3", RFC 2026, October 1996.
       [RFC2119] Bradner, S. "Key Words for use in RFCs to Indicate
         Requirement Levels", BCP 14, RFC 2119, March 1997.
       [RFC2434] T. Narten, and H. Avestrand, "Guidelines for Writing
         an IANA Considerations Section in RFCs.", RFC2434, October
         1998.
       [SAM] ANSI X3.270-1998, SCSI-3 Architecture Model (SAM).
       [SAM2] T10/1157D, SCSI Architecture Model - 2 (SAM-2).
       [SBC] NCITS.306-1998, SCSI-3 Block Commands (SBC).

10.2  Informative References:


       [RFC3347] M. Krueger et. al., "iSCSI Requirements and Design
         Considerations"
       [SPC3]T10/1416-D, SCSI Primary Commands-3.


11. Authors' Addresses

       Mallikarjun Chadalapaka
       Hewlett-Packard Company
       8000 Foothills Blvd.
       Roseville, CA 95747-5668, USA
       Phone: +1.916.785.5621
       E-mail: cbm@rose.hp.com

       Rob Elliott
       Hewlett-Packard Company
       MC 150801
       PO Box 692000
       Houston, TX 77269-2000  USA
       Phone: +1.281.518.5037
       E-mail: elliott@hp.com


     Comments may be sent to Mallikarjun Chadalapaka.


Mallikarjun Chadalapaka        Expires Dec 2003                         16





                             Command Ordering                   6-June-03

Full Copyright Statement

     "Copyright (C) The Internet Society (date). All Rights Reserved. This
     document and translations of it may be copied and furnished to oth-
     ers, and derivative works that comment on or otherwise explain it or
     assist in its implementation may be prepared, copied, published and
     distributed, in whole or in part, without restriction of any kind,
     provided that the above copyright notice and this paragraph are
     included on all such copies and derivative works. However, this docu-
     ment itself may not be modified in any way, such as by removing the
     copyright notice or references to the Internet Society or other
     Internet organizations, except as needed for the purpose of develop-
     ing Internet standards in which case the procedures for copyrights
     defined in the Internet Standards process must be followed, or as
     required to translate it into languages other than    English.

     The limited permissions granted above are perpetual and will not be
     revoked by the Internet Society or its successors or assigns.

     This document and the information contained herein is provided on an
     "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
     TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
     BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
     HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
     MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE."

     The IETF has been notified of intellectual property rights claimed in
     regard to some or all of the specification contained in this docu-
     ment. For more information consult the online list of claimed rights.





Mallikarjun Chadalapaka       Expires Dec 2003                           17