SORT BY:

LIST ORDER
THREAD
AUTHOR
SUBJECT


SEARCH

IPS HOME


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

    RE: A question on Zero Copy



    Randall,
    
    If I understood Marjorie Krueger correctly, they want C.  Within the iSCSI
    PDUs being returned is an Initiator Task Tag with Buffer Offset that
    associates blocks of encapsulated data with placement in a contiguous
    (perhaps overlapping) fashion into a buffer allocated by yet a different
    application during an initial SCSI request.  As the target (server) provides
    this information in random order, there would be no prior knowledge as to
    what is contained within any TCP segment.  David Black mentioned that a
    (look ahead) packet filter sitting below IP provides intelligence for a
    "content directed zero" copy technique.  One thing that makes this difficult
    is that data starts and ends out of alignment to the segment.  Not only
    would data need to be directed based on content to these locations, only
    portions of segments would be directed.  I assume there would be a sharing
    of the SCSI Requests lists between the iSCSI application and the intelligent
    look ahead packet filter but this topic is deemed outside the scope of the
    IPS WG. (Thankfully)
    
    Here is an example of the data PDU that needs Content Directed Zero Copy for
    the Payload.
    
         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| Opcode (0x05) | Reserved (0)                                  |
           +---------------+---------------+---------------+---------------+
          4| Length                                                        |
           +---------------+---------------+---------------+---------------+
          8| Buffer Offset                                                 |
           +---------------+---------------+---------------+---------------+
         12| Transfer Tag                                                  |
           +---------------+---------------+---------------+---------------+
         16| Initiator Task Tag                                            |
           +---------------+---------------+---------------+---------------+
         20| Reserved (0)                                                  |
          +/                                                               /
           +---------------+---------------+---------------+---------------+
         28| CmdRN                                                         |
           +---------------+---------------+---------------+---------------+
         28| ExpStatRN                                                     |
           +---------------+---------------+---------------+---------------+
         32/ Reserved (0)                                                  /
          +/                                                               /
           +---------------+---------------+---------------+---------------+
         48/ Payload                                                       /
          +/                                                               /
           +---------------+---------------+---------------+---------------+
    
    Doug
    
    > Hello all:
    >
    > Has I am trying to get a grasp of this issue, maybe
    > someone can fill me in on a conflict I have in
    > my resolution processing :)
    >
    >
    > Does the iSCSI layer want:
    >
    > A) Plain Zero copy, where the upper layer (iSCSI) asks
    >    to read the next available "message" from the wire
    >    into a buffer passed to the transport by iSCSI?
    >
    > <OR>
    >
    > B) A directed Zero Copy, where the upper layer (iSCSI) asks
    >    to read a particular request to a specific buffer?
    >
    >
    > (A) being what I thought as normal zero copy semantics whereas (B)
    > is something quite different... it implies I can issue several
    > read requests passing buffers to the underlying transport and
    > wanting specific things to go in each buffer...
    >
    >
    > For some reason I may have incorrectly gotten the impression
    > that iSCSI wants (B), which as I think about it is a
    > hard problem, or am I just confused and iSCSI wants to use (A)????
    >
    >
    > Thanks
    >
    > R
    > --
    > Randall R. Stewart
    > randall@stewart.chicago.il.us or rrs@cisco.com
    > 815-342-5222 (cell) 815-477-2127 (work)
    >
    
    


Home

Last updated: Tue Sep 04 01:06:11 2001
6315 messages in chronological order