Hi all,

I have written a socket application like echo server to test my NDIS
miniport driver.
I have TCP client runs on Windows XP and echo server running on WinCE.
TCP client application continuously sends some known pattern. On echo
server, I compare this pattern with expected pattern. It ran for 30 min
- 1hr, and after that I see some data corruption in received data.
Strangely it is some 4 bytes chunks in 4-5 places in the entire packet
(1460 packet data size).

I have debugged my NDIS miniport driver, but the data in my driver
buffer is correct!!!
I have used "NdisMIndicateReceivePacket" call to indicate the reception
of data to NDIS.
And in my "MiniportReturnPacket" function I reuse the packets as
suggested in documentations.

I wounder if anybody have experienced this problem...
Any body has any clue on what is happening here ?

One more doubt,

I use my local buffer in my echo server application for "recvfrom"
call. Do the TCPIP stack directly use this buffer to copy the data from
my miniport driver buffer or is it uses some temporary buffer to do
this copy operation?

Thanks in advance,
Raghav

RE: Network data corruption problem ! by Woojung

Woojung
Thu Dec 29 10:41:04 CST 2005

To get rid of unknown factor, test your Miniport driver first.
For instance, ping with size parameter will be good sample to execise
network driver. If it works for few hours (or period you got problem), then
move to next step. (if you have linux box, use flood ping too.)

Before testing with your application, use standard apps like ftp, telnet and
etc to test TCP. Sending and receiving large file or multiple files also test
your network driver.

If all passed, your application might be a source of problem.

Woojung

"Raghav" wrote:

> Hi all,
>
> I have written a socket application like echo server to test my NDIS
> miniport driver.
> I have TCP client runs on Windows XP and echo server running on WinCE.
> TCP client application continuously sends some known pattern. On echo
> server, I compare this pattern with expected pattern. It ran for 30 min
> - 1hr, and after that I see some data corruption in received data.
> Strangely it is some 4 bytes chunks in 4-5 places in the entire packet
> (1460 packet data size).
>
> I have debugged my NDIS miniport driver, but the data in my driver
> buffer is correct!!!
> I have used "NdisMIndicateReceivePacket" call to indicate the reception
> of data to NDIS.
> And in my "MiniportReturnPacket" function I reuse the packets as
> suggested in documentations.
>
> I wounder if anybody have experienced this problem...
> Any body has any clue on what is happening here ?
>
> One more doubt,
>
> I use my local buffer in my echo server application for "recvfrom"
> call. Do the TCPIP stack directly use this buffer to copy the data from
> my miniport driver buffer or is it uses some temporary buffer to do
> this copy operation?
>
> Thanks in advance,
> Raghav
>
>