网络处理器中查找模块的实现方法及系统技术方案

技术编号:10949472 阅读:102 留言:0更新日期:2015-01-23 11:02
本发明专利技术提供了一种网络处理器中查找模块的实现方法,所述网络处理器包括解析模块、查找模块、更新转发模块以及修改模块,包括:关键字接收,具体为,根据关键字的接收顺序为接收到的关键字分配存储地址和查找引擎并根据存储地址和查找引擎添加相对应的标签;关键字查找,具体为,若干个查找引擎并行处理若干个关键字的查找,进而生成查找结果;查找结果汇总,具体为,将查找结果根据所述标签按顺序保存。本发明专利技术还提供相应的方法。本发明专利技术利用三级流水操作改进查找模块,加快处理速度;本发明专利技术用多个查找引擎并行执行具体的查表处理,隐藏单个查找时间,提高工作效率。

【技术实现步骤摘要】
网络处理器中查找模块的实现方法及系统
本专利技术涉及网络通讯领域,具体地,涉及一种网络处理器中查找模块的实现方法 及系统。
技术介绍
网络处理器是经过专门设计和高度优化来实现网络功能的可编程硬件,用于完成 报文处理、协议分析、路由转发等通信工作。网络处理器拥有高性能和可编程的优点,支持 不断涌现的网络技术。 图1是现有网络处理器的核心组成部分。网络处理器包括解析模块、查找模块、更 新转发模块和修改模块。每个模块用于完成不同的任务。其中,解析模块从帧存储器读出 相关的帧,对数据包进行分类解析,识别并提取关键信息,根据需要将多个信息进行组合构 成多个查找关键字。每个帧包含多个关键字,每个关键字和某张表相关。查找模块接收来 自数据包解析模块的查找关键字,对相关表进行查找和管理。更新转发模块根据查找结果 决定帧的输出端口和输出队列。修改模块从帧存储器中读出帧,根据需要修改内容后写回 帧存储器。 在片内存储器或片外存储器上保存多张表,包括二层转发表、三层路由表、端口映 射表,统称查找表。每张表有一个特定的序号,序号和表 对应。图2是表的基本结构。 每张表包含多个表项,每个表项至少包含关键字字段和结果字段。利用某种特定方法,对要 查找的关键字进行转换,得到存储器中的地址。访问地址读出表项,将查找的关键字和表项 中的表项中的关键字进行比较。如果匹配,返回包括目标地址、目标端口在内的结果信息。 表的类型不同,访问存储器的次数不同,查找需要的时间就不同。在保证数据帧顺序的前提 下,必须合理设计结构、充分利用资源,提高处理速度。 【专利技术内容】 针对现有技术中的缺陷,本专利技术的目的是提供一种网络处理器中查找模块的实现 方法。本专利技术能够及时接收来自解析模块的查找关键字,避免长时间占用解析模块资源,影 响数据帧线性收发;本专利技术采用多个查找引擎对关键字进行处理;允许查找引擎并行执行 查表操作、乱序传递查找结果,加快了处理速度,提高工作效率;按照关键字的接收顺序保 存对应的查找结果并顺序提交;本专利技术在保证功能的前提下隐藏单个查找的处理时间;不 同应用场合选择不同数目的工作引擎,速度尽量快的前提下占用的资源少。 根据本专利技术的一个方面提供的网络处理器中查找模块的实现方法,所述网络处理 器包括解析模块、查找模块、更新转发模块以及修改模块,包括如下步骤: 步骤1 :关键字接收,具体为,根据关键字的接收顺序为接收到的关键字分配存储 地址和查找引擎并根据存储地址和查找引擎添加相对应的标签; 步骤2 :关键字查找,具体为,若干个查找引擎并行处理若干个关键字的查找,进 而生成查找结果; 步骤3 :查找结果汇总,具体为,将查找结果根据所述标签按顺序保存。 优选地,所述步骤1包括如下步骤: 步骤1. 1 :根据所有查找引擎空闲或忙碌的状态,在上一个关键字分配的引擎号 基础上,为新接收的关键字选择一个空闲的查找引擎,将新接收的关键字保存到所述查找 引擎对应的寄存器中; 步骤1. 2 :根据上一个关键字的查找结果占用的存储地址确定新接收的关键字查 找结果的存储地址; 步骤1.3:根据新接收的关键字的存储地址和查找引擎的引擎号添加标签,所述 标签用于标识所述关键字。 优选地,所述步骤2中关键字查找包括单查找引擎模式和多查找引擎并行模式; 所述单查找引擎模式为仅一个查找引擎工作,用于调试定位错误; 所述多查找引擎并行模式具体为多个查找引擎对多个帧中的多个关键字进行并 行处理。 优选地,当一帧的查找结果都保存后,由所述更新转发模块取用同时释放存储资 源。 优选地,所述步骤1之前还包括如下步骤: -当解析模块发出一帧的关键字,读取关键字和相应的辅助信息;所述辅助信息 包括关键字的长度、查找表的序号和返回结果的长度。 根据本专利技术的另一个方面提供的网络处理器中查找模块的实现系统,所述网络处 理器包括解析模块、查找模块、更新转发模块以及修改模块,所述网络处理器中查找模块的 实现系统包括如下模块: 关键字接收模块,用于根据关键字的接收顺序为接收到的关键字分配存储地址和 查找引擎并根据存储地址和查找引擎添加相对应的标签; 关键字查找模块,用于若干个查找引擎并行处理若干个关键字的查找,进而生成 查找结果; 查找结果汇总模块,用于将查找结果根据所述标签按顺序保存。 优选地,所述关键字接收模块包括如下模块: 查找引擎分配模块,用于根据所有查找引擎空闲或忙碌的状态,在上一个关键字 分配的引擎号基础上,为新接收的关键字选择一个空闲的查找引擎,将新接收的关键字保 存到所述查找引擎对应的寄存器中; 存储地址分配模块,用于根据上一个关键字的查找结果占用的存储地址确定新接 收的关键字查找结果的存储地址; 标签添加模块,用于根据新接收的关键字的存储地址和查找引擎的引擎号添加标 签,所述标签用于标识所述关键字。 优选地,所述关键字查找模块中关键字查找包括单查找引擎模式和多查找引擎并 行模式; 所述单查找引擎模式为仅一个查找引擎工作,用于调试定位错误; 所述多查找引擎并行模式具体为多个查找引擎对多个帧中的多个关键字进行并 行处理。 优选地,当一帧的查找结果都保存后,由所述更新转发模块取用同时释放存储资 源。 优选地,还包括关键字读取模块, 关键字读取模块用于当解析模块发出一帧的关键字,读取关键字和相应的辅助信 息;所述辅助信息包括关键字的长度、查找表的序号和返回结果的长度。 与现有技术相比,本专利技术具有如下的有益效果: 1.本专利技术利用三级流水操作改进查找模块,加快处理速度; 2.本专利技术用多个查找引擎并行执行具体的查表处理,隐藏单个查找时间,提高工 作效率; 3.本专利技术支持通过寄存器灵活配置实际工作的查找引擎数目,根据具体应用需求 配置引擎数目,平衡资源和速度,实现最优性能,特别地,单引擎模式可用于硬件调试; 4.本专利技术在接收关键字时就为关键字对应的查找结果分配存储地址,将地址作为 标签伴随关键字的处理;每个关键字对应的查找完成后,立即将查找结果保存到结果存储 器中并及时释放引擎资源; 5.本专利技术支持不同帧的关键字乱序传递结果,允许后来帧的关键字先完成,将查 找结果先保存到结果存储器,提高工作效率和资源利用率。 【附图说明】 通过阅读参照以下附图对非限制性实施例所作的详细描述,本专利技术的其它特征、 目的和优点将会变得更明显: 图1为本专利技术中的网络处理器的核心处理模块结构示意图; 图2为本专利技术中表的基本结构示意图; 图3为本专利技术中网络处理器中查找模块的实现方法的步骤流程图; 图4为本专利技术中支持乱序传递结果的查找模块流水线执行示意图; 图5为本专利技术不支持乱序传递结果的查找模块流水线执行示意图; 图6为本专利技术单引擎模式下查找模块的处理流程图; 图7为本专利技术中的多引擎查找模块的结构框图; 图8为本专利技术的网络处理器中查找模块的实现系统的结构示意图。 【具体实施方式】 下面结合具体实施例对本专利技术进行详细说明。以下实施例将有助于本领域的技术 人员进一步理解本专利技术,但不以任何形式限制本专利技术本文档来自技高网...

【技术保护点】
一种网络处理器中查找模块的实现方法,所述网络处理器包括解析模块、查找模块、更新转发模块以及修改模块,其特征在于,包括如下步骤:步骤1:关键字接收,具体为,根据关键字的接收顺序为接收到的关键字分配存储地址和查找引擎并根据存储地址和查找引擎添加相对应的标签;步骤2:关键字查找,具体为,若干个查找引擎并行处理若干个关键字的查找,进而生成查找结果;步骤3:查找结果汇总,具体为,将查找结果根据所述标签按顺序保存。

【技术特征摘要】
1. 一种网络处理器中查找模块的实现方法,所述网络处理器包括解析模块、查找模块、 更新转发模块以及修改模块,其特征在于,包括如下步骤: 步骤1 :关键字接收,具体为,根据关键字的接收顺序为接收到的关键字分配存储地址 和查找引擎并根据存储地址和查找引擎添加相对应的标签; 步骤2 :关键字查找,具体为,若干个查找引擎并行处理若干个关键字的查找,进而生 成查找结果; 步骤3 :查找结果汇总,具体为,将查找结果根据所述标签按顺序保存。2. 根据权利要求1所述的网络处理器中查找模块的实现方法,其特征在于,所述步骤1 包括如下步骤: 步骤1. 1 :根据所有查找引擎空闲或忙碌的状态,在上一个关键字分配的引擎号基础 上,为新接收的关键字选择一个空闲的查找引擎,将新接收的关键字保存到所述查找引擎 对应的寄存器中; 步骤1. 2 :根据上一个关键字的查找结果占用的存储地址确定新接收的关键字查找结 果的存储地址; 步骤1. 3 :根据新接收的关键字的存储地址和查找引擎的引擎号添加标签,所述标签 用于标识所述关键字。3. 根据权利要求1或2所述的网络处理器中查找模块的实现方法,其特征在于,所述步 骤2中关键字查找包括单查找引擎模式和多查找引擎并行模式; 所述单查找引擎模式为仅一个查找引擎工作,用于调试定位错误; 所述多查找引擎并行模式具体为多个查找引擎对多个帧中的多个关键字进行并行处 理。4. 根据权利要求1所述的网络处理器中查找模块的实现方法,其特征在于,当一帧的 查找结果都保存后,由所述更新转发模块取用同时释放存储资源。5. 根据权利要求1所述的网络处理器中查找模块的实现方法,其特征在于,所述步骤1 之前还包括如下步骤: -当解析模块发出一帧的关键字,读取关键字和相应的辅助信息;所述辅助信息包括 关键字的长度、查找表的序号和返回结果的长度。6. -种网络处理器中...

【专利技术属性】
技术研发人员:邱益波李苗
申请(专利权)人:中国电子科技集团公司第三十二研究所
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1