|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] RE: A question on Zero CopyRandall, 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 |