阅读:1203回复:3
关于packet pool的问题,胡版主进来看一下
在用NdisAllocatePacketPool出始化一个pool以后,传进去的那个PNDIS_HANDLE PoolHandle应该是指向一个NDIS_PACKET_POOL结构了,然后在每一次分配pcket时都应该是从这个NDIS_PACKET_POOL中的struct _NDIS_PACKET *FreeList这里分配一个packet,然后每个packet中的PRIVAT结构中又有一个PNDIS_PACKET_POOL pool,那么这个pool该是指向哪里的???NDIS。h中说根据这个指针就可以知道该向哪里释放这个包,如果是这样那就应该是和调用NdisAllocatePacketPool时的那个poolhandke是一个值了?
那么在分配每次packet时,是如何记录分配的内存空间呢? |
|
|
沙发#
发布于:2002-10-25 16:08
呵呵,我刚好也在看这一块的内容,再补充一问:那些 OOB 数据,Per-packet 信息和 Media specific 信息是从哪里来的?从包池中分配包描述符时分配的?有什么用处?
mikeluo 兄,借你的场子一用,不介意吧? |
|
板凳#
发布于:2002-10-25 16:27
呵呵,还有什么问题一起讨论吖:)
OOB 数据,Per-packet 信息和 Media specific 在98DDK里面没有定义,因为98ddk的ndis。h是给ndis3.0用的,不过98的ndis好像是5.0的,(至少从sice中看到的版本号是5.0),你在98下用这些东西么?还是开始做2k的了??? |
|
|
地板#
发布于:2002-10-25 16:44
呵呵,原来你还记得我啊。
我 98 下的 NAT 做好了,现在正准备做 2000 下的,这些天在看 Passthru。这个 Passthru 跟我以前看的 PCA PIM 差别很大啊,看来不太容易!!! 原来 98 下没有啊!我说我怎么没见过。那难道在 2000 下想自己构造一个包发出去还要把那些个结构也填充了?太恐怖了吧!!! |
|