This should fix a bunch of weird issues with 3rd party NIC drivers. Most NICs use
deserialized drivers and indicate packets using the NdisMIndicatePacket function. I'm
fairly sure every modern NIC driver will display a similar problem to
http://www.reactos.org/paste/index.php/9607/ and
http://www.reactos.org/paste/index.php/9608/ where the driver eventually depletes its
packet pool then quits sending and receiving packets. It also causes a leak of non-paged
pool since we leak the buffers attached to the packet descriptor. The VirtIO NetKVM driver
seems to have a particularly small packet queue (256 RX) and dies very early.
I'd be interested to see what kind of uptime you guys can get with a 3rd party NIC
driver now. I'm going to do some testing here in VirtualBox with a PRO/1000 to see how
much data I can send/receive without problems.
Regards,
Cameron