Why MiniportSendPackets only with one packet

Hello all,

I’m developing a miniport driver over USB and I’m having performance
problems.

I’m pretty sure that at least some of the problem is caused because I
don’t get calls to my MiniportSendPackets with more than one packet. (I
did some test that buffer some packets before transferring them to the
device and it helped)

My miniport driver declare itself as NdisMajor:5, NdisMinor:0

It set NDIS_ATTRIBUTE_DESERIALIZE attribute.

It responds to the OID_GEN_MAXIMUM_SEND_PACKETS with 8. (which should be
irrelevant in deserialized miniports)

In my tests I send using TCP/UDP very large buffers (64000 bytes)

I did the tests on 2000 professional, XP SP1, XP SP2.

I have a feeling that the protocol above always use the NdisSend()
function and not the NdisSendPackets.

Is there another thing to do so the protocol driver will call my
SendPacketsHandler with more than one packet?

Something in an OID, in the miniport initialization?

Best regards,

Gil.

“Gil Mizrahi” wrote in message news:xxxxx@ntdev…
Hello all,

I’m developing a miniport driver over USB and I’m having performance problems.

I’m pretty sure that at least some of the problem is caused because I don’t get calls to my MiniportSendPackets with more than one packet. (I did some test that buffer some packets before transferring them to the device and it helped)

My miniport driver declare itself as NdisMajor:5, NdisMinor:0

It set NDIS_ATTRIBUTE_DESERIALIZE attribute.

It responds to the OID_GEN_MAXIMUM_SEND_PACKETS with 8. (which should be irrelevant in deserialized miniports)

In my tests I send using TCP/UDP very large buffers (64000 bytes)

I did the tests on 2000 professional, XP SP1, XP SP2.

I have a feeling that the protocol above always use the NdisSend() function and not the NdisSendPackets.

Is there another thing to do so the protocol driver will call my SendPacketsHandler with more than one packet?

Something in an OID, in the miniport initialization?

There is nothing that I know of that you can do to coax higher-level protocols to actually send multiple packets to MiniportSendPackets. The protocol authors decided not to actually use this feature.

Thomas F. Divine, Windows DDK MVP

http://www.rawether.net

Best regards,

Gil.