Its my understanding that NdisAllocateFragmentNetBufferList() does not
allocate new memory for data, basically no data copy is involved,
its just creation of new NBLs, NBs, MDL chains.
Is this assumption correct?
Is there a call similar to NdisAllocateFragmentNetBufferList() for
fragmenting NET_BUFFER structure?
The purpose is to fragment NET BUFFER carrying more data then
maximumphysicalmapping that was
registered at driver init time with the OS in the
NdisMRegisterScatterGatherDma() call.
I want to avoid buffers allocation and doing memory to memory copy for the
huge chunk of data passed from
OS down to my miniport driver. Such memory allocation/copy will have impact
on performance.
Or is there a way to limit the size of the buffer (TX/RX requests) sent by
NDIS down to import either in
normal path or in Offload path to maximum physical mapping that was
registered with DMA adapter?
Or is there a way by which miniport driver/offload target can know the
maximum datalength of NET_BUFFER that can
be sent down to miniport?
Thanks,
-Praveen