I noticed that the Ethernet header was missing in
packets captured with WinPcap for WinCE.

I believe I found the bug in the driver (in
file Read.c, function PacketReceive( )):

// allocate the ndis buffer
NdisAllocateBuffer (&Status, &pNdisBuffer,
pOI->BufferPool, CurrBuff + sizeof(struct bpf_hdr),
fres);

*** Should be ***

// allocate the ndis buffer
NdisAllocateBuffer (&Status, &pNdisBuffer,
pOI->BufferPool, CurrBuff + sizeof(struct bpf_hdr) +
HeaderBufferSize, fres);

Otherwise, the call to NdisTransferData( ) later wipes
out the Ethernet header with the IP header data!

If anyone knows of another change related to this
issue, please let me know.

Thanks,
Joe Meilak



__________________________________________________
Do You Yahoo!?
Yahoo! Health - your guide to health and wellness
http://health.yahoo.com

Reply via email to