I’m having problems with a TDI client and checksum offload.
The TDI client is part of our FSD and is used to send/receive
TCP messages to a server.
I’m using XP and an Intel Pro100 server adapter. If I use the
default MS driver that does no special handling (ie, no task
offload), then my TDI client works fine.
BTW, the TDI client does both send and receive buffering;
on receives it uses both chained and “normal” receive
events, copying everything into a large buffer and
responding to the TDI event as quickly as possible.
For sends, the number of outstanding requests is
throttled to 4 for this test; it actually doesn’t
seem to make a difference if there is a correspondence
to the number of NIC Rx/Tx Descriptors.
If I load the latest Intel drivers (actually it doesn’t seem
to matter which drivers I load), and then enable checksum offload,
I see an abnormally high number of ‘outbound errors’ as reported
by the Perfmon tab for the card. The machine is sluggish to
say the least.
If I use an alternate method where I map in the buffers to
a user space daemon and have the daemon send them via the
“normal” winsock method through AFD everything works fine.
I’m flummoxed and about at the end of my rope.
Is there some special hook that a TDI client
needs to use to tell TCP/NDIS that is knows about task offload?
I really, really, don’t want to have to toss all packets up into
user space but if that’s the only way to get around this, then
well…
And yes, I know about alternative kernel sockets providers 
Peter,
What is the error you are seeing for sends in TDI Client. Are
you seeing any errors which says STATUS_DEVICE_NOT_READY?
Are you using ClientEventSendPossible?
-Srin.
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Peter Lawthers
Sent: Thursday, March 18, 2004 4:25 PM
To: Windows System Software Devs Interest List
Subject: [ntdev] TDI clients and Task Offload
I’m having problems with a TDI client and checksum offload.
The TDI client is part of our FSD and is used to send/receive
TCP messages to a server.
I’m using XP and an Intel Pro100 server adapter. If I use the
default MS driver that does no special handling (ie, no task
offload), then my TDI client works fine.
BTW, the TDI client does both send and receive buffering; on
receives it uses both chained and “normal” receive events,
copying everything into a large buffer and responding to the
TDI event as quickly as possible.
For sends, the number of outstanding requests is throttled to
4 for this test; it actually doesn’t seem to make a
difference if there is a correspondence to the number of NIC
Rx/Tx Descriptors.
If I load the latest Intel drivers (actually it doesn’t seem
to matter which drivers I load), and then enable checksum
offload, I see an abnormally high number of ‘outbound errors’
as reported by the Perfmon tab for the card. The machine is
sluggish to say the least.
If I use an alternate method where I map in the buffers to a
user space daemon and have the daemon send them via the
“normal” winsock method through AFD everything works fine.
I’m flummoxed and about at the end of my rope.
Is there some special hook that a TDI client needs to use to
tell TCP/NDIS that is knows about task offload?
I really, really, don’t want to have to toss all packets up
into user space but if that’s the only way to get around
this, then well…
And yes, I know about alternative kernel sockets providers 
Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
You are currently subscribed to ntdev as: xxxxx@nai.com
To unsubscribe send a blank email to xxxxx@lists.osr.com
I’m sending/receiving over TCP which doesn’t
allow you to set a send event possible event handler
(it doesn’t buffer).
As far as the errors go, my TDI client never sees
anything. The errors just show in perfmon for the
adapter. I’m putting tdimon/ethereal on it now
to try and determine what the specific error is.
Thanks.
xxxxx@NAI.com wrote:
Peter,
What is the error you are seeing for sends in TDI Client. Are
you seeing any errors which says STATUS_DEVICE_NOT_READY?
Are you using ClientEventSendPossible?
-Srin.
>-----Original Message-----
>From: xxxxx@lists.osr.com
>[mailto:xxxxx@lists.osr.com] On Behalf Of Peter Lawthers
>Sent: Thursday, March 18, 2004 4:25 PM
>To: Windows System Software Devs Interest List
>Subject: [ntdev] TDI clients and Task Offload
>
>I’m having problems with a TDI client and checksum offload.
>The TDI client is part of our FSD and is used to send/receive
>TCP messages to a server.
>
>I’m using XP and an Intel Pro100 server adapter. If I use the
>default MS driver that does no special handling (ie, no task
>offload), then my TDI client works fine.
>
>BTW, the TDI client does both send and receive buffering; on
>receives it uses both chained and “normal” receive events,
>copying everything into a large buffer and responding to the
>TDI event as quickly as possible.
>For sends, the number of outstanding requests is throttled to
>4 for this test; it actually doesn’t seem to make a
>difference if there is a correspondence to the number of NIC
>Rx/Tx Descriptors.
>
>If I load the latest Intel drivers (actually it doesn’t seem
>to matter which drivers I load), and then enable checksum
>offload, I see an abnormally high number of ‘outbound errors’
>as reported by the Perfmon tab for the card. The machine is
>sluggish to say the least.
>
>If I use an alternate method where I map in the buffers to a
>user space daemon and have the daemon send them via the
>“normal” winsock method through AFD everything works fine.
>
>I’m flummoxed and about at the end of my rope.
>Is there some special hook that a TDI client needs to use to
>tell TCP/NDIS that is knows about task offload?
>
>I really, really, don’t want to have to toss all packets up
>into user space but if that’s the only way to get around
>this, then well…
>
>And yes, I know about alternative kernel sockets providers 
>
>
>
>
>
>—
>Questions? First check the Kernel Driver FAQ at
>http://www.osronline.com/article.cfm?id=256
>
>You are currently subscribed to ntdev as: xxxxx@nai.com
>To unsubscribe send a blank email to xxxxx@lists.osr.com
>
Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256
You are currently subscribed to ntdev as: xxxxx@adic.com
To unsubscribe send a blank email to xxxxx@lists.osr.com