|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] RE: new iSCSI draft - 02.txt
Dave,
I think that a shim can be inserted between the socket calls and the TCP
copy to mbuf or from mbuf.
On many socket implementations this can be achieved by just changing the
protocol "name" in the socket data structure and then have the shim revert
it to the original.
However we should not be very concerned about stacks that use a
full-fledged mbuf structure and copy the data - their rates will be too low
and they might as well reject the option.
Julo
"David Peterson" <dap@cisco.com> on 05/01/2001 23:40:07
Please respond to "David Peterson" <dap@cisco.com>
To: "Matt Wakeley" <matt_wakeley@agilent.com>, "IPS Reflector"
<ips@ece.cmu.edu>
cc:
Subject: RE: new iSCSI draft - 02.txt
The problem is: at that layer there is simply not a byte stream. The data
is contained in socket buffers which are most likely mbuf clusters for most
implementations. To "simply insert a few extra bytes" requires mbuf
manipulation.
Mbuf manipulation can processing intensive. Depending on how the mbuf data
is
packaged a small DMA operation may occur for these few extra bytes also.
Dave
-----Original Message-----
From: owner-ips@ece.cmu.edu [mailto:owner-ips@ece.cmu.edu]On Behalf Of
Matt Wakeley
Sent: Wednesday, January 03, 2001 7:21 PM
To: IPS Reflector
Subject: Re: new iSCSI draft - 02.txt
David Peterson wrote:
>
> I believe there was agreement to remove the Urgent-Pointer framing
mechanism
> but don't recall any agreement to replace it with an in-stream marker.
For
a
> software implementation it would be hard to support this type of framing
> mechanism. I believe a TCP option indicating the message boundry or a
> fixed-length PDU at a granularity to minimize overhead are much better
> solutions and are workable for both software and hardware
implementations.
I
> have not seen an agenda but I would hope this issue would be discussed at
> the upcoming meeting in Orlando.
> Dave
What is so difficult for software to insert a few extra bytes in the byte
stream? It's simply a layering problem:
iSCSI layer <-> marker layer <-> TCP
Normally, the marker layer simply transfers the bytes from the iSCSI layer
to
the TCP. Every X number of bytes, the marker layer inserts the marker into
the
byte stream.
Since your software will probably not benefit from the receipt of the
markers,
it would negotiate not to receive the markers. It would only send markers
*IF* the remote node requested them to be sent.
-Matt Wakeley
Agilent Technologies
Home Last updated: Tue Sep 04 01:05:58 2001 6315 messages in chronological order |