阅读:1541回复:3
初级问题:passthru中怎么把要send的mypacket变为ip包?
谢谢,我刚开始接触passthru,请问怎么将要发送的mypacket中的包数据得到,改了tcp数据段后,再返回给mypacket?请给我段代码,谢谢
|
|
|
沙发#
发布于:2002-07-24 15:45
你可以建一个新的packet,一个buffer,一段memory,把原来的数据包里的数据都copy到新的包的memory里,这样这段memory里的数据就是一个带有mac头的ip包了,你想怎么处理都成!
原始包最好不要动,以便在sendcomplete里面用。 能用到的主要函数大概有这些,当然还有很多的free函数和包信息copy函数,还得用到保留位,保存原始的包! NdisQueryPacket NdisAllocatePacket NdisAllocateMemoryWithTag NdisAllocateBuffer NdisChainBufferAtFront NdisCopyFromPacketToPacket |
|
板凳#
发布于:2002-07-24 16:03
最重要的是资源的释放!
嗬嗬! |
|
|
地板#
发布于:2002-07-25 00:57
分配内存,把packet拷贝过去。千万不要动原来的数据包。如果数据包增加了长度的话,可能需要修改MTU。 在request的时候修改。而数据包的释放,需要在sendcomplete后,释放掉你的资源,把数据包的资源释放回到原来的pool里去。
|
|