Hello,
I am developing a NDIS MUX Intermediate Driver for Windows Xp/Windows Server 2003. I had use the sample code
of NDIS Mux Intermediate Driver from Microsoft DDK 2003. The performance of my IM Driver is very poor during
send and receive packet. For improve performance, I want to modify my PtReceivePacket and MpSendPacket Routine
which are similar to Mux IM Sample code. In detail…
For every send and receive request, we are allocating NDIS Packet from an
already allocated Packet pool and then copying the original packet info into
that packet. We want to avoid that by,
(i) for send packets: by copying our own structure pointer in the
ProtocolReserved section of that packet and then reverting back after
getting the send complete call.
(ii) for receive packets: by copying our own structure pointer in the
MiniportReserved section of the packet and then going back after getting the
receive complete call.
In implement, I send Original Packet pointer directly into NdisSend after copy that packet
pointer into protocol reserved area without allocate new packet. But in PtSendComplete It will crash down
with error in tcpip.sys or in miniport driver.
Can you tell me that how I implement my Send and Receive routine without allocate a new
packet and without copy all information from original packet to new allocate packet. Can you suggest me that is there any other
way to improve performance of my Mux Intermediate driver.
Thankyou.
Amit Dhaduk