Hi All
Wonderful when will it all be integrated into Solaris 11 so I can
get my implementation
of LRO going further.
Also I have in my driver an Implementation of MDT which works great
for x86 and
sparc, Solaris 10 and 11 not sure how all the public/private interface
work now with
everything being open sourced, but I intend to go to production with it
as part of my
driver for Solaris 10, and would like to make sure that I can continue
to use it for
Solaris11, do I still need to do a contract or something, so you have on
file a
customer that is successfully using the MDT interface?
The hardware I use also has LSO with a 128K LSO size limit ;-(, and
that is implemented
also in my driver but the Performance of MDT is still much better, as it
has no such limit,
in fact I believe the limit is managed by the stack, which is great as
you can blast out any
number of packets, and the driver just sends them. I also noticed it
works great for
UDP performance is well, so it provided accelerated Tx for protocol
other than TCP,
What about SCTP is it there also?
I also noticed with both MDT and LSO implemented and advertised as
a capability in
the driver MDT takes config priority, which is a wonderful design choice.
cheers
Frank
Andrew Gallatin wrote:
> Xiu-Yan Wang wrote:
>
>> Paul Durrant wrote:
>>
>>> Yunsong (Roamer) Lu wrote:
>>>
>>>> LRO is not yet supported in the stack, and there will be some other
>>>> issues than the b_cont check in IP.
>>>>
>>>> But experimentally LRO implementation in driver works after fixing the
>>>> check against maximum 2-block of message. You may apply this *hack* to
>>>> try your LRO implementation if you can compile IP module for your
>>>> Solaris version.
>>>>
>>>>
>>> Roamer,
>>>
>>> There's also the mblk_pull_len issue (there is a bug for this but I
>>> can't find the number right now). At the moment it needs to be set to
>>> zero to avoid unnecessary copying in the stack.
>>>
>
> The number is 6694625, filed by Darren based on email I sent to this
> list roughly 1 month ago.
>
>
>> mblk_pull_len is set to 64 by default and it's used in kstrgetmsg():
>> http://cvs.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/uts/common/os/streamio.c
>>
>> The comments state the introduction of it is to decrease the per mblk
>> overhead in dealing with a streams message consists of many short
>> messages.
>>
>> Could you be more detailed of the issue with LRO?
>>
>
> At least for me, I never noticed the issue until I started testing
> my LRO implementation. Because LRO aggregates frames, it interacts
> poorly with Solaris' ack pacing, and you need to use larger socket
> buffer sizes to keep the pipe full. The trigger for the bug seems
> to be using "large" socket buffer sizes (in excess of 512KB). However,
> the bug is not tied to LRO. Rather, it happens without it. But
> without LRO, I seldom crank the socket buffers up that large so
> I did not notice it previously.
>
> Drew
> _______________________________________________
> networking-discuss mailing list
> [email protected]
>
_______________________________________________
networking-discuss mailing list
[email protected]