阅读:1379回复:0
NDIS Hook 转发数据包的问题
我写了一个NDIS转发驱动,
把收到的包提交到应用层,然后再由应用层转发给驱动, 并提交给TCP, 现在发现走了这个流程以后,速度慢了很多。 原来一个文件传输只要4分钟,现在要40分钟。 如果我只中转发送的包, 速度差不多, 但是如果转发 ProtocolReceivePacket 的数据包, 速度就会变得相当慢了。 ProtocolReceivePacket 中处理的流程是: 1、将数据包放到一个链表的后面,并设置事件,通知应用层读取。 2、直接返回0。 然后上层收到这个事件后,将这个包读取,并转发给驱动, 驱动收到这个包以后, 调用 原来的 ProtcolReceive 将数据包往TCP驱动提交。 |
|