According to this forum post NetDMA was removed from Window 8 and Server 2012 / 2012 R2 due to not really reducing CPU usage:
Jeffrey Tippet [MSFT]
> Any clue why was this feature not supported Win 8 on wards?
I removed NetDMA in Windows 8. Hopefully, I have slightly more than a clue :)
The purpose of NetDMA was to reduce CPU usage by offloading memcpy to
a generic offload engine.
But in networking, we tend to handle fairly small buffers. A typical
network buffer tends to not be larger than 1500 bytes. (Yes we can
do LSOs of many kilobytes, but NetDMA was limited to only 2 pages of
memory per transaction, so at most NetDMA should be compared to an
Which uses less CPU:
- Setting up a DMA offload to the hardware & continuing when the hardware interrupts its completion
- memcpy 1500 bytes on the CPU
With newer CPUs, the answer tends to be #2.
Since the whole purpose of NetDMA was to reduce CPU usage, and it
wasn't even providing a clear CPU reduction, that makes NetDMA a
dubious benefit. Add to that it had low adoption (not many vendors
implemented a NetDMA provider), and the value of keeping the feature
wasn't there. Its competitor, memcpy, is simpler, better-supported,
easier to debug, and is sometimes even faster.