[发明专利]一种网络处理器及其数据处理方法有效
申请号: | 200810142245.2 | 申请日: | 2008-08-05 |
公开(公告)号: | CN101335737A | 公开(公告)日: | 2008-12-31 |
发明(设计)人: | 陈世猛 | 申请(专利权)人: | 中兴通讯股份有限公司 |
主分类号: | H04L29/02 | 分类号: | H04L29/02;H04L12/46 |
代理公司: | 深圳创友专利商标代理有限公司 | 代理人: | 薛祥辉 |
地址: | 518057广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 网络 处理器 及其 数据处理 方法 | ||
技术领域
本发明涉及数据传输领域,具体的说涉及一种网络处理器及其数据处理方法。
背景技术
网络处理器可以用来实现数据的转发等处理,以NP-2rev B型网络处理器为例,NP-2rev B是一款网络处理器芯片,可以提供10G双向的数据处理能力,拥有灵活的编程能力,开发人员可以通过编写微码来实现对数据传输中各种业务的处理。它对数据包进行处理时一般分为4个阶段:Parse(分析),Search(查找),Resolve(解决)和Modify(修改)。Parse主要是对数据包进行分析,然后根据分析的结果构造各种业务流程所需的查找键值,最后将这些查找键值传到Search进行查找,Parse阶段不提供表的查找功能。Search主要完成各种表的查找功能,并把最后的查找结果送到Resolve。Resolve主要对查找结果进行分析和处理,并把最后的处理信息发送到Modify。Modify接收Resolve的信息,并按照此信息对数据包进行相应的处理。
网络处理器如果要实现一些业务和功能,就会将这些业务和功能的相关信息配置在端口上或VLAN(Virtual Local Area Network,虚拟局域网)上,然后网络处理器就可以根据这些配置信息对数据包进行相应的处理。但是,Parse阶段只能对数据包本身进行分析,并不能够得到端口或VLAN上的配置信息,也就无法知道要实现哪些业务和功能,因此在Parse阶段需要构造所有业务和功能所需的查找键值,即使有些查找键值在Search阶段是无用的,这就浪费了Parse阶段的有效指令,也使网络处理器的处理性能下降。
发明内容
有鉴于此,本发明提供了一种网络处理器及其数据处理方法,解决了在Parse阶段因构造无用查找键值而浪费有效指令的问题,从而可以提高整个网络处理器的数据转发效率。
为了解决上述技术问题,本发明采用了如下技术方案:
一种网络处理器中的数据处理方法,所述网络处理器包括驱动模块、统计模块和微码模块,所述数据处理包括对数据包进行分析的分析阶段,所述数据处理方法包含如下步骤:
A、驱动模块将网络处理器的端口或/和VLAN的配置信息写入统计模块,所述统计模块存储所述驱动模块写入的端口或/和VLAN的配置信息;
B、在所述分析阶段,微码模块访问统计模块得到所述配置信息,根据所述配置信息构造查找键值。
所述统计模块包括至少一个计数器,所述计数器的类型至少包括36bits、54bits和72bits三种类型之一。
在所述步骤A中,端口配置信息包括至少一条端口配置表项,每一条端口配置表项对应于一个端口的配置,驱动模块将端口配置信息写入统计模块按如下方式进行:
A11、分配端口配置信息在统计模块中存储的起始地址;
A12、将某一端口的端口号与端口配置信息的存储起始地址相加得到所述端口在统计模块中的存储地址;
A13、将所述端口对应的端口配置表项写入到统计模块中地址为步骤A12中确定的端口存储地址的计数器中;
A14、重复步骤A12、A13直至端口配置信息中所有端口对应的端口配置表项都写入到统计模块中。
在所述步骤A中,VLAN配置信息包括至少一条VLAN配置表项,每一条VLAN配置表项对应于一个VLAN的配置,驱动模块将VLAN配置信息写入统计模块按如下方式进行:
A21、分配VLAN配置信息在统计模块中存储的起始地址;
A22、将某一VLAN的ID与VLAN配置信息的存储起始地址相加得到所述VLAN在统计模块中的存储地址;
A23、将所述VLAN对应的VLAN配置表项写入到统计模块中地址为步骤A22中确定的VLAN存储地址的计数器中;
A24、重复步骤A22、A23直至VLAN配置信息中所有VLAN对应的VLAN配置表项都写入到统计模块中。
本发明的数据处理方法,还包括在所述端口和VLAN中至少一者的配置信息发生变化时,将所述配置信息中发生变化的部分更新到统计模块中。
本发明还公开了一种可进行数据处理的网络处理器,所述网络处理器包括驱动模块、统计模块和微码模块,所述数据处理包括对数据包进行分析的分析阶段,其中:
驱动模块用于将网络处理器的端口或/和VLAN的配置信息写入统计模块;所述统计模块用于存储所述驱动模块写入的端口或/和VLAN的配置信息;微码模块用于在所述分析阶段,访问统计模块得到所述配置信息,并根据所述配置信息构造查找键值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810142245.2/2.html,转载请声明来源钻瓜专利网。