我的程序中有一个转发流程,就是把从网卡 A 收到的包用网卡 B 转发出去,我是改写 Passthru,当然也就保留了它复制 OOB 数据的部分,可是程序运行一段时间之后网卡就好象“失效”了一样,其它主机发给我的包在 Passthru 里根本看不到,先禁用再启用网卡一般就能恢复正常...
全文
回复(6) 2002-12-21 14:11 来自版块 - NDIS网络接口开发
表情
mikeluo98下不用(2002-12-23 17:55)
leepyzh用户被禁言,该主题自动屏蔽!(2002-12-23 17:38)
mikeluo你是在中间层的,还要交给ndis处理,所以你得复制这些ddb数据,(2002-12-23 09:38)
edust那么这些 OOB 数据不是用于管理目的的吗?那从网卡收到的包,为其复制 OOB 数据并将其指示给上层就很容易理解了,可是如果收到的包我是要用另一块网卡转发到其它主机去,那么这些 OOB 数据就没有意义了吧?而且它会妨碍转发吗?(2002-12-23 09:00)
mikeluo在2k和xp下,你转发的包都要用那几个宏取到OOD数据加到你新构造的packet里面,xp的passthru里面使用了这些宏(2002-12-22 21:39)
edust呵呵原因已经找到,是缓冲区全满造成的,一定是我某处的代码没有释放缓冲区:) 现在问题改为“OOB 数据跟转发包的互动关系”。(2002-12-21 15:01)

返回顶部