Добрового времени суток всем драйверописателям.
У меня недавно возникла проблема с Passthru работающим на машине с установленым 100Mbit'ой сетевухой (Realtek RTL8139 Family PCI Fast Ethernet NIC), причем исключительно на входящий трафик. Описываю ситуацию: заглушил все, что мог и получил...
Пакет приходит и попадает в PtReceive, где я тут же вызываю NdisMEthIndicateReceive.
Далее Вызывается MPTransferData, где опять же вызывается NdisTransferData.
Потом происходит возврат в PtReceive и, наконец, все комплитится (PtReceiveComplete с функцией NdisMEthIndicateReceiveComplete).
В отладчике посмотрел, что в основном работа тормозится при возврате в PtReceive из MPTransferData.
С другими сетевухами не проверял, но есть подозрение, что подобное случится на всех 100Mbit'ых.
На 1Gbit'ых работает все нормально, но там пакеты проходят через функцию PtReceivePacket, где, насколько я понял, обрабатываются сразу цепочки пакетов.
В связи с этим у меня пара вопросов:
1. Как можно ли ускорить работу в PtReceive?
2. Можно ли направить пакеты через PtReceivePacket (можно ли сформировать цепочки из отдельных пакетов)?
З.Ы. Очень нужно...