我的驱动是用passthru改的。当我访问(如ping)局域网中一台不存在的主机时,驱动会截到ARP请求包,因为这个主机不存在,所以没有主机会响应这个ARP请求包。我想在驱动截到ARP请求包之后,让驱动自己响应ARP请求包,让系统认为这个主机是存在的,我应该怎么做?
回复(19) 2005-07-29 17:58 来自版块 - NDIS网络接口开发
表情
daweia下面是引用asmsys于2005-08-02 13:33发表的: 不知道daweia是在哪一层实现的,看你的描述应该是IMD了。 如果是IMD,就请教不发送为什么上层会认为ARP失败?虽然不发送,但我也返回的是成功呀,上层如何知道我发了没有。 再有一点不明白,既然都PtSendC...(2005-08-02 13:53)
cyk119下面是引用daweia于2005-08-02 13:16发表的: 不同意楼上的。按我做过的说一下: 1。不发的话,上层会认为arp失败,所以,要发出去 2。我处理的可能复杂点。a首先在MPsendpackets里判断是否arp,然后修改arp类型为自定义(为了防止死锁)。b在Pt...(2005-08-02 13:36)
asmsys不知道daweia是在哪一层实现的,看你的描述应该是IMD了。 如果是IMD,就请教不发送为什么上层会认为ARP失败?虽然不发送,但我也返回的是成功呀,上层如何知道我发了没有。 再有一点不明白,既然都PtSendComplete,为什么还要NdisSend。(2005-08-02 13:33)
cyk119下面是引用asmsys于2005-08-02 09:33发表的: 1、既然不存在,发不发都不重要了。当然不发省点事。 2、MPSend比较合适。 3、是的。 RTW:一定要构造正确的包返回给系统。注意NdisMIndicateReceivePacket返回PENDING时的处理。(2005-08-02 13:29)
daweia不同意楼上的。按我做过的说一下: 1。不发的话,上层会认为arp失败,所以,要发出去 2。我处理的可能复杂点。a首先在MPsendpackets里判断是否arp,然后修改arp类型为自定义(为了防止死锁)。b在PtSendComplete里,判断是否发完的是刚才修改过的arp包,...(2005-08-02 13:16)
asmsys1、既然不存在,发不发都不重要了。当然不发省点事。 2、MPSend比较合适。 3、是的。 RTW:一定要构造正确的包返回给系统。注意NdisMIndicateReceivePacket返回PENDING时的处理。(2005-08-02 09:33)
cyk1191、我在MPSend函数中可以截到发出的ARP请求包,我是否应该让这个包发出去? 2、我应该在哪个函数里面写接收ARP应答包的代码?就在MPSend函数中可以吗? 3、要想让系统接收到ARP应答包是不是直接调用NdisMIndicateReceivePacket函数就可以呢? 我...(2005-08-01 12:05)
gx_kyw直接调用底层miniport 的 SendHandle 就能发送了吧。(2005-07-31 21:59)
cyk119希望版主和各们高手能够不吝赐教!谢谢!(2005-07-30 08:27)

返回顶部