CN102255818B - 一种驱动接收报文的方法及装置 - Google Patents
一种驱动接收报文的方法及装置 Download PDFInfo
- Publication number
- CN102255818B CN102255818B CN201110248360.XA CN201110248360A CN102255818B CN 102255818 B CN102255818 B CN 102255818B CN 201110248360 A CN201110248360 A CN 201110248360A CN 102255818 B CN102255818 B CN 102255818B
- Authority
- CN
- China
- Prior art keywords
- message
- descriptor
- buffer
- stack
- chain
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明涉及路由器数据通信技术。本发明解决了现有驱动接收报文的方法中由于报文缓冲区分配函数的处理时间过长的问题,提供了一种驱动接收报文的方法,其技术方案可概括为:预先分配一定数目的报文缓冲区,并为每个报文缓冲区创建对应的报文描述符,驱动软件接收报文时,判断BD环中有报文的连续的BD的个数,取出对应个数的报文描述符,驱动软件从步骤C中所述的有报文的BD中接收报文后,依次根据取出的报文描述符中的报文缓冲区的地址指针更新所述BD中的报文缓冲区指针。本发明的有益效果是:大大提高了驱动接收报文的效率,适用于驱动接收报文。
Description
技术领域
本发明涉及路由器数据通信技术,特别涉及驱动报文接收的方法。
背景技术
目前网络设备中,设备驱动软件接收数据普遍采用缓冲区描述符(BD)环机制。如图1所示,BD环是驱动软件101与硬件收发器102之间的一个数据缓冲。在设备内存103中分配BD 104,每个BD 104由状态标志(Status & Control,SC)和报文缓冲指针(Packet Pointer,PP)组成,状态标志指示这个BD是空闲的还是有报文需要处理的,报文缓冲指针指向一块用于存放待处理的报文内存区域,即该指针指向报文存放的位置。每个BD的结构如图2所示,其SC标志中的E标志位指示该BD对应的缓冲区是否空闲,E标志位为0表示该BD中有报文待处理,为1表示该BD对应的缓冲区空闲;W标志位指示该BD是否为BD环的最后一个BD,W标志位为1表示其为最后一个BD,否则为0。多个BD 104首尾相接组成BD环。BD环是驱动软件101与硬件收发器102之间的一个数据缓冲。
软硬件分别通过BD环的读指针和写索引对BD环进行相关操作。当硬件接收到报文时,判断BD环的写指针当前所对应的BD的E标志位是否为1,如果为1,则把报文存放到该BD的报文缓冲指针所指向的缓冲区中,保存完成后,设置对应BD的E标志位为0,如果当前BD的W标志位为1,则令BD环写指针为0,否则令BD环写指针指向BD环的下一个BD。最后,通知驱动软件报文处理接收的报文。
通常,驱动软件得到硬件接收完成通知后,判断BD环的读指针当前所对应的BD的E标志位是否为0,如果为0,首先取出该BD的报文缓冲指针所指向缓冲区的报文(即保存BD的报文缓冲指针);然后,并在内存申请分配一个新的报文缓冲区,并设置该BD的报文缓冲指针指向新的报文缓冲区,设置该BD的SC标志中的E标志位为1,如果当前BD的SC标志中的W标志位为1,则令BD环读指针为0,否则令BD环读指针指向BD环的下一个BD。为了实现软硬件并行工作,驱动软件可以连续执行该过程,直到BD环的读指针所对应的BD的E标志位等于1为止。
上述驱动接收报文的方法是低效的,因为每次从BD中取报文时,都需要申请分配一个新的报文缓冲区。如果一个系统每秒钟处理的报文数目为N,那么在接收报文的过程中,驱动软件会调用N次报文缓冲区的分配函数。对于一个高速转发系统而言,这个开销是非常大的,特别是缓冲区分配函数的处理时间过长时,开销更加明显。
发明内容
本发明的目的就是克服目前驱动接收报文的方法中由于报文缓冲区分配函数的处理时间过长的缺点,提供一种驱动接收报文的方法。
本发明解决其技术问题,采用的技术方案是,驱动报文接收方法,其特征在于,包括以下步骤:
A.预先分配一定数目的报文缓冲区,并为每个报文缓冲区创建对应的报文描述符,保存每个报文缓冲区的地址指针到其对应的报文描述符中,将所有报文描述符组织成一个报文描述符链;
B.将所述每个报文描述符的地址指针依次组织成一个报文描述符栈;所述报文描述符栈的栈首存放的是报文描述符链的首地址;
C.驱动软件接收报文时,判断BD环中有报文的连续的BD的个数,依据报文描述符栈的栈首保存的报文描述符链的首地址,从报文描述符链中取出对应个数的报文描述符,并更新报文描述符链和报文描述符栈;
D.驱动软件从步骤C中所述的有报文的BD中接收报文后,依次根据取出的报文描述符中的报文缓冲区的地址指针更新所述BD中的报文缓冲区指针。
具体的,步骤C中,判断BD环中有报文的连续的BD的个数,是指判断BD环中E标志位为有报文状态的连续的BD个数。
优选的,步骤C中,驱动软件接收报文时,判断BD环中有报文的连续的BD的个数后,再判断报文描述符栈中是否有足够的报文描述符,如是,则依据报文描述符栈的栈首保存的报文描述符链的首地址,从报文描述符链中取出对应个数的报文描述符;否则,驱动软件触发报文缓冲区的分配及对应的报文描述符的创建,并将所述创建的报文描述符加入到报文描述符链并填充报文描述符栈,依据更新后的报文描述符栈的栈首保存的报文描述符链的首地址,从报文描述符链中取出对应个数的报文描述符。
优选的,步骤C中,依据报文描述符栈的栈首从报文描述符链中取出对应个数的报文描述符,是指从报文描述符链中取出含有对应个数的报文描述符的子链,并返回该子链的首地址给驱动软件。
具体的,步骤D中,驱动软件从每个BD中接收报文后,还要设置该BD的E标志位为空闲的状态。
具体的,所述报文描述符链的结构为前插链表,所述报文描述符栈的结构为堆栈。
本发明的另一个目的,还提供一种驱动接收报文的装置,包括:
报文缓冲区分配及组织模块:用于预先申请一定数目的报文缓冲区,并为每个报文缓冲区创建对应的报文描述符,保存每个报文缓冲区的地址指针到其对应的报文描述符中,将所有报文描述符组织成一个报文描述符链后,再将所述每个报文描述符的地址指针依次组织成一个报文描述符栈,所述报文描述符栈的栈首为报文描述符链的首地址;并用于根据报文缓冲区请求模块的请求,从报文描述符链中取出需要的报文描述符个数返回给报文缓冲区请求模块,并更新报文描述符链和报文描述符栈;
报文缓冲区请求模块,用于判断BD环中有报文的连续的BD的个数,并向报文缓冲区分配及组织模块请求包含对应个数的报文描述符;
报文读取模块;用于从有报文的BD中读取报文缓冲区指针所指向缓冲区中的报文;
BD更新模块:用于从每个BD中接收报文后,依次根据取出的报文描述符中的报文缓冲区的地址指针更新所述BD中的报文缓冲区指针。
优选的,所述报文缓冲区分配及组织模块,还用于在接收到报文缓冲区请求模块的请求后,判断报文描述符栈中是否有足够的报文描述符,如是,则依据报文描述符栈的栈首保存的报文描述符链的首地址,从报文描述符链中取出对应个数的报文描述符返回给报文缓冲区请求模块;否则,通知报文缓冲区分配及组织模块分配报文缓冲区以及创建对应的报文描述符,并将所述创建的报文描述符加入到报文描述符链并填充报文描述符栈,依据更新后的报文描述符栈的栈首保存的报文描述符链的首地址,从报文描述符链中取出对应个数的报文描述符返回给报文缓冲区请求模块。
优选的,所述BD更新模块,还用于从每个BD中接收报文后,还要设置该BD的E标志位为空闲的状态。
具体的,所述报文描述符链的结构为前插链表,所述报文描述符栈的结构为堆栈。
本发明的有益效果是,通过上述驱动报文接收方法,由于其在驱动接收报文之前根据BD个数优先分配足够的PD,再进行驱动报文的接收,其仅调用少数几次甚至仅一次的PD分配函数即可,大大提高了驱动接收报文的效率。
附图说明
图1是现有技术中BD环结构示意图;
图2是现有技术中BD环中的每个BD的结构示意图;
图3本发明实施例提供的一种驱动接收报文的方法流程图;
图4本发明实施例提供的一种报文描述符的结构示意图;
图5是本发明实施例提供的一种报文描述符链和报文描述符栈的结构图;
图6是本发明实施例提供的一种驱动接收报文的装置的结构框图。
具体实施方式
下面结合实施例及附图,详细描述本发明的技术方案。
参见图3,是本发明实施例提供的一种驱动接收报文的方法流程图,包括如下步骤:
步骤101,预先分配一定数目的报文缓冲区,分配的报文缓冲区的数目与系统资源相适应,并为每个报文缓冲区创建对应的报文描述符,保存每个报文缓冲区的地址指针到其对应的报文描述符中,将所有报文描述符组织成一个报文描述符链。
本步骤是系统初始化步骤,预先分配一定数目的报文缓冲区,这个一定数目可以根据系统中软硬件交互报文的频度来定,如可以一次性预先分配512报文缓冲区,每个报文缓冲区可以用于存放一个交互报文。每分配一个报文缓冲区,可以为每个报文缓冲区创建对应的报文描述符(Packet Descriptor,PD),报文描述符PD的结构示意图参见图4,其包含了指向报文缓冲区地址的每报文缓冲指针(Packet Pointer,PP)字段和指向下一个报文描述符地址的指针(Next Pointer,NP)字段。所有的报文描述符组织成一个报文描述符链,如图5所示。
步骤102,将所述每个报文描述符的地址指针依次组织成一个报文描述符栈;所述报文描述符栈的栈首存放的是报文描述符链的首地址;
如图5所示,通过创建一个报文描述符栈,将步骤101中创建的所有报文描述符的地址指针(Packet Descriptor Pointer,PDP)组织起来。即系统初始化时,报文描述符栈的深度和报文描述符链的节点个数相同。
步骤103,驱动软件接收报文时,判断BD环中有报文的连续的BD的个数,依据报文描述符栈的栈首保存的报文描述符链的首地址,从报文描述符链中取出对应个数的报文描述符,并更新报文描述符链和报文描述符栈;
本步骤中,驱动软件接收报文时,判断BD环中有报文的连续的BD的个数后,再判断报文描述符栈中是否有足够的报文描述符,如是,则依据报文描述符栈的栈首保存的报文描述符链的首地址,从报文描述符链中取出对应个数的报文描述符,并更新报文描述符链和报文描述符栈;否则,驱动软件触发报文缓冲区的分配及对应的报文描述符的创建,并将所述创建的报文描述符加入到报文描述符链并填充报文描述符栈,依据更新后的报文描述符栈的栈首保存的报文描述符链的首地址,从报文描述符链中取出对应个数的报文描述符;并更新报文描述符链和报文描述符栈。
步骤104,驱动软件从步骤C中所述的有报文的BD中接收报文后,依次根据取出的报文描述符中的报文缓冲区的地址指针更新所述BD中的报文缓冲区指针;另外驱动软件还要设置该BD的E标志位为空闲的状态。
另外,在本发明的实施过程中,驱动软件在利用BD环接收报文的同时,还会利用另外一个BD环发送报文,所以当驱动软件将连续的BD中的报文发送后,释放所述连续的BD中的PP字段中所对应的报文描述符子链,并将所述报文描述符子链加入到报文描述符链并填充报文描述符栈,依据更新后的报文描述符栈的栈首保存的报文描述符链的首地址。从而达到报文描述符栈中一直可以满足驱动软件接收报文时,请求的报文描述符的个数。从而大大节省整个系统的开销。
实施例
本实施例中,初始化后的报文描述符栈中,总共有PDB_SIZE(默认为512)个缓冲条目,当前有效缓冲条目数记为Top Index(TI),初始时TI等于(PDB_SIZE-1)。其中驱动软件和硬件收发器根据读索引(Read Index,RI)和写索引(Write Index,WI)对BD环进行相关操作。本实施例的驱动接收报文的方法中,首先,从用于接收报文的BD环的读索引RI所对应的BD开始,判断连续E标志位为0(E标志位为有报文状态)的BD条目个数;然后,根据该数目调用多报文描述符分配函数,请求分配的相应个数的报文描述符;接着,对分配函数所返回的报文描述符链中的报文描述符,逐个做如下操作:读取RI所对应的BD条目中的PP字段所指向报文缓冲区中的报文(即保存RI所对应的BD条目中的PP字段)后,同时用新分配的报文描述符链中的报文描述符的PP字段更新当前RI所对应的BD条目的PP字段,设置RI所对应的BD条目的E标志位为1,如果RI所对应的BD条目的W标志位为1,则令BD环RI为0,否则令BD环RI指向下个有报文的BD。关于多PD的分配机制,详细说明如下:
步骤1,驱动软件从用于接收报文的BD环的读索引RI所对应的BD开始,判断BD环中E标志位为有报文状态(即E标志位为1)的连续的BD的个数,即请求分配的报文缓冲区PD的个数,设为ReqCnt;
步骤2,如果TI的值大于等于ReqCnt,则:首先,保存TI所对应的报文描述符的地址指针PDP到指针RetPDHead处;然后,令(TI-ReqCnt+1)所对应PDP指向的报文描述符链中PD的NP字段为空(NULL);接着,令TI=TI-ReqCnt;最后,返回指针RetPDPHead给请求者,此时指针RetPDPHead所指向的报文描述符子链中含有ReqCnt个报文描述符,多报文描述符分配流程结束;否则进入步骤3;
步骤3,驱动软件触发报文缓冲区的分配及对应的报文描述符的创建,并将所述创建的报文描述符加入到报文描述符链并填充报文描述符栈,更新后报文描述符栈的栈首为的报文描述符链的首地址,更新TI,进入步骤2。
驱动软件在利用BD环接收报文的同时,还会利用另外一个BD环发送报文,对于驱动将连续的BD中的报文发送后,释放所述连续的BD中的PP字段中所对应的报文描述符子链的过程如下,假设请求释放的报文描述符子链首地址为PDHead;
步骤11,如果PDHead不为空(NULL),则:令PDTmp=PDHead,令PDHead=PDTmp的NP字段,令PDTmp的NP字段为空,然后执行步骤12;否则执行步骤13;
步骤12,如果TI字段小于(PDB_SIZE-1),则:令PDTmp的NP字段等于TI所对应的PDP,令(TI=TI+1)所对应的PDP等于PDTmp,令TI=TI+1,然后执行步骤11;否则执行步骤13;
步骤13,如果PDHead不为空(NULL),则利用现有系统的PD分配机制,逐个释放PDHead对应PD链中的各个PD;
设需要处理的报文数为pktCnt,初始为0;令TmpRI为RI;驱动软件接收报文过程如下:
步骤21,如果TmpRI所对应的BD条目的E标志位为0,则:令pktCnt=pktCnt+1,令TmpRI=(TmpRI+1)%BD_SIZE,然后执行步骤21;否则执行步骤22;
步骤22,如果pktCnt大于0,则调用多PD分配函数以分配pktCnt个PD,设分配返回的PD链首为PDHead,令TmpRI等于RI,然后执行步骤23;
步骤23,如果PDHead不为空(NULL),则:令PDTmp=PDHead,令PDHead=PDTmp的NP字段,令PDTmp的NP字段为空(NULL),然后执行步骤24;否则执行步骤25;
步骤24,令TmpRI所对应的BD条目的PP字段等于PDTmp所指向PD的PP字段,令TmpRI所对应的BD条目的E标志位为1,令TmpRI=(TmpRI+1)%BD_SIZE,然后执行步骤24;
步骤25,令RI等于TmpRI。
如图6所示,本发明还提供一种驱动接收报文的装置的结构框图,包括:
报文缓冲区分配及组织模块601:用于预先申请一定数目的报文缓冲区,并为每个报文缓冲区创建对应的报文描述符,保存每个报文缓冲区的地址指针到其对应的报文描述符中,将所有报文描述符组织成一个报文描述符链后,再将所述每个报文描述符的地址指针依次组织成一个报文描述符栈,所述报文描述符栈的栈首为报文描述符链的首地址;并用于根据报文缓冲区请求模块的请求,从报文描述符链中取出需要的报文描述符个数返回给报文缓冲区请求模块,并更新报文描述符链和报文描述符栈;
报文缓冲区请求模块602:用于判断BD环中有报文的连续的BD的个数,并向报文缓冲区分配及组织模块请求包含对应个数的报文描述符;
报文读取模块603:用于从有报文的BD中读取报文缓冲区指针所指向缓冲区中的报文;
BD更新模块604:用于从每个BD中接收报文后,依次根据取出的报文描述符中的报文缓冲区的地址指针更新所述BD中的报文缓冲区指针。
所述报文缓冲区分配及组织模块601,还用于在接收到报文缓冲区请求模块的请求后,判断报文描述符栈中是否有足够的报文描述符,如是,则依据报文描述符栈的栈首保存的报文描述符链的首地址,从报文描述符链中取出对应个数的报文描述符返回给报文缓冲区请求模块;否则,通知报文缓冲区分配及组织模块分配报文缓冲区以及创建对应的报文描述符,并将所述创建的报文描述符加入到报文描述符链并填充报文描述符栈,依据更新后的报文描述符栈的栈首保存的报文描述符链的首地址,从报文描述符链中取出对应个数的报文描述符返回给报文缓冲区请求模块。所述BD更新模块604,还用于从每个BD中接收报文后,还要设置该BD的E标志位为空闲的状态。
本发明装置实施上述驱动接收报文的方法,具体的过程不再赘述。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (10)
1.一种驱动接收报文的方法,其特征在于,包括以下步骤:
A.预先分配一定数目的报文缓冲区,并为每个报文缓冲区创建对应的报文描述符,保存每个报文缓冲区的地址指针到其对应的报文描述符中,将所有报文描述符组织成一个报文描述符链;
B.将所述每个报文描述符的地址指针依次组织成一个报文描述符栈;所述报文描述符栈的栈首存放的是报文描述符链的首地址;
C.驱动软件接收报文时,判断缓冲区描述符环中有报文的连续的缓冲区描述符的个数,依据报文描述符栈的栈首保存的报文描述符链的首地址,从报文描述符链中取出对应个数的报文描述符,并更新报文描述符链和报文描述符栈;
D.驱动软件从步骤C中所述的有报文的缓冲区描述符中接收报文后,依次根据取出的报文描述符中的报文缓冲区的地址指针更新所述缓冲区描述符中的报文缓冲区指针。
2.如权利要求1所述的方法,其特征在于,步骤C中,判断缓冲区描述符环中有报文的连续的缓冲区描述符的个数,是指判断缓冲区描述符环中E标志位为有报文状态的连续的缓冲区描述符个数。
3.如权利要求1所述的方法,其特征在于,步骤C中,驱动软件接收报文时,判断缓冲区描述符环中有报文的连续的缓冲区描述符的个数后,再判断报文描述符栈中是否有足够的报文描述符,如是,则依据报文描述符栈的栈首保存的报文描述符链的首地址,从报文描述符链中取出对应个数的报文描述符;否则,驱动软件触发报文缓冲区的分配及对应的报文描述符的创建,并将所述创建的报文描述符加入到报文描述符链并填充报文描述符栈,依据更新后的报文描述符栈的栈首保存的报文描述符链的首地址,从报文描述符链中取出对应个数的报文描述符。
4.如权利要求1所述的方法,其特征在于,步骤C中,依据报文描述符栈的栈首从报文描述符链中取出对应个数的报文描述符,是指从报文描述符链中取出含有对应个数的报文描述符的子链,并返回该子链的首地址给驱动软件。
5.如权利要求1所述的方法,其特征在于,步骤D中,驱动软件从每个缓冲区描述符中接收报文后,还要设置该缓冲区描述符的E标志位为空闲的状态。
6.如权利要求1至5任一项所述的方法,其特征在于,所述报文描述符链的结构为前插链表,所述报文描述符栈的结构为堆栈。
7.一种驱动接收报文的装置,其特征在于,包括:
报文缓冲区分配及组织模块:用于预先申请一定数目的报文缓冲区,并为每个报文缓冲区创建对应的报文描述符,保存每个报文缓冲区的地址指针到其对应的报文描述符中,将所有报文描述符组织成一个报文描述符链后,再将所述每个报文描述符的地址指针依次组织成一个报文描述符栈,所述报文描述符栈的栈首为报文描述符链的首地址;并用于根据报文缓冲区请求模块的请求,从报文描述符链中取出需要的报文描述符个数返回给报文缓冲区请求模块,并更新报文描述符链和报文描述符栈;
报文缓冲区请求模块,用于判断缓冲区描述符环中有报文的连续的缓冲区描述符的个数,并向报文缓冲区分配及组织模块请求包含对应个数的报文描述符;
报文读取模块;用于从有报文的缓冲区描述符中读取报文缓冲区指针所指向缓冲区中的报文;
缓冲区描述符更新模块:用于从每个缓冲区描述符中接收报文后,依次根据取出的报文描述符中的报文缓冲区的地址指针更新所述缓冲区描述符中的报文缓冲区指针。
8.如权利要求7所述的装置,其特征在于,所述报文缓冲区分配及组织模块,还用于在接收到报文缓冲区请求模块的请求后,判断报文描述符栈中是否有足够的报文描述符,如是,则依据报文描述符栈的栈首保存的报文描述符链的首地址,从报文描述符链中取出对应个数的报文描述符返回给报文缓冲区请求模块;否则,通知报文缓冲区分配及组织模块分配报文缓冲区以及创建对应的报文描述符,并将所述创建的报文描述符加入到报文描述符链并填充报文描述符栈,依据更新后的报文描述符栈的栈首保存的报文描述符链的首地址,从报文描述符链中取出对应个数的报文描述符返回给报文缓冲区请求模块。
9.如权利要求7或8所述的装置,其特征在于,所述缓冲区描述符更新模块,还用于从每个缓冲区描述符中接收报文后,还要设置该缓冲区描述符的E标志位为空闲的状态。
10.如权利要求9所述的装置,其特征在于,所述报文描述符链的结构为前插链表,所述报文描述符栈的结构为堆栈。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110248360.XA CN102255818B (zh) | 2011-08-26 | 2011-08-26 | 一种驱动接收报文的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110248360.XA CN102255818B (zh) | 2011-08-26 | 2011-08-26 | 一种驱动接收报文的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102255818A CN102255818A (zh) | 2011-11-23 |
CN102255818B true CN102255818B (zh) | 2014-03-05 |
Family
ID=44982821
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110248360.XA Active CN102255818B (zh) | 2011-08-26 | 2011-08-26 | 一种驱动接收报文的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102255818B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103532965B (zh) * | 2013-10-22 | 2017-03-29 | 迈普通信技术股份有限公司 | 一种报文回调方法及装置 |
CN104468404B (zh) * | 2014-11-07 | 2017-08-29 | 迈普通信技术股份有限公司 | 一种缓冲区配置方法及装置 |
CN109298931B (zh) * | 2017-07-25 | 2022-04-08 | 迈普通信技术股份有限公司 | 缓冲区按需释放方法及网络设备 |
CN108259380A (zh) * | 2017-12-21 | 2018-07-06 | 安凯(广州)微电子技术有限公司 | 数据帧处理的方法、系统及以太网控制器 |
CN110943941B (zh) * | 2019-12-06 | 2022-03-11 | 北京天融信网络安全技术有限公司 | 一种报文接收方法、网卡及电子设备 |
CN114157620B (zh) * | 2021-11-30 | 2024-01-19 | 新华三半导体技术有限公司 | 一种报文转发方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101198924A (zh) * | 2005-02-03 | 2008-06-11 | Level5网络有限公司 | 完成事件中包括描述符队列空事件 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100826911B1 (ko) * | 2006-12-08 | 2008-05-06 | 한국전자통신연구원 | 광-동축 혼합망에서 케이블 모뎀의 하향 패킷 처리 방법 및장치 |
-
2011
- 2011-08-26 CN CN201110248360.XA patent/CN102255818B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101198924A (zh) * | 2005-02-03 | 2008-06-11 | Level5网络有限公司 | 完成事件中包括描述符队列空事件 |
Also Published As
Publication number | Publication date |
---|---|
CN102255818A (zh) | 2011-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102255818B (zh) | 一种驱动接收报文的方法及装置 | |
CN102377682B (zh) | 基于定长单元存储变长分组的队列管理方法及设备 | |
CN101221536B (zh) | 嵌入式系统的内存管理方法及装置 | |
CN104133784B (zh) | 一种报文缓存管理方法与装置 | |
CN101605100B (zh) | 队列存储空间的管理方法和设备 | |
CN101707565B (zh) | 零拷贝网络报文发送、接收方法和装置 | |
CN1469268A (zh) | 一种用于分发对象给多个客户机的系统 | |
CN104426770A (zh) | 路由查找方法及装置、B-Tree树结构的构建方法 | |
CN104394096A (zh) | 一种基于多核处理器的报文处理方法及多核处理器 | |
CN102549552A (zh) | 用于处理流感知网络节点中的数据分组的方法 | |
CN107302499A (zh) | 无需拷贝报文缓存的nfv协议报文收发方法 | |
CN104731799A (zh) | 内存数据库管理装置 | |
CN105718319B (zh) | 一种内存池版图解析方法和内存池装置 | |
CN103440202A (zh) | 一种基于rdma的通信方法、系统及通信设备 | |
CN103019859A (zh) | 一种对服务请求调度的方法和系统 | |
CN109902059A (zh) | 一种cpu与gpu之间的数据传输方法 | |
CN109902056A (zh) | 一种串行传输的方法、装置、设备及计算机可读存储介质 | |
CN106325995A (zh) | 一种gpu资源的分配方法及系统 | |
CN102143006A (zh) | 通讯设备中的接口拓扑控制方法、系统及装置 | |
CN103259824B (zh) | 分布式数据存储系统中数据路由的同步方法和装置 | |
CN110011924A (zh) | 一种清除缓存拥塞的方法与装置 | |
CN102487303B (zh) | 时隙分配管理方法及装置 | |
CN101694661A (zh) | 一种统计报表生成方法、装置和统计服务器 | |
CN103929378A (zh) | 跨域数据传输的通信链路分配及跨域数据传输方法和系统 | |
CN103377034A (zh) | 指令预送方法及装置、指令管理系统、运算核心 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |