CN101075966A - 一种路由器系统中网络处理器加载微码的方法 - Google Patents
一种路由器系统中网络处理器加载微码的方法 Download PDFInfo
- Publication number
- CN101075966A CN101075966A CNA2007101272817A CN200710127281A CN101075966A CN 101075966 A CN101075966 A CN 101075966A CN A2007101272817 A CNA2007101272817 A CN A2007101272817A CN 200710127281 A CN200710127281 A CN 200710127281A CN 101075966 A CN101075966 A CN 101075966A
- Authority
- CN
- China
- Prior art keywords
- hardware configuration
- microcode
- release
- business
- equivalence class
- 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.)
- Pending
Links
Images
Abstract
本发明提供了一种路由器系统中网络处理器加载微码的方法,包含如下步骤:(a)对系统的硬件配置,编写对应的微码版本;(b)将所有的微码版本保存在系统中;(c)系统启动时,获取系统的硬件配置,加载对应的微码版本至网络处理器中。本发明提供的方法,充分考虑路由器系统的硬件配置,能够根据硬件的配置自动选择加载合适的微码版本,使得系统支持的业务和业务的性能都达到一个最优的配置。
Description
技术领域
本发明涉及数据通信领域,尤其涉及一种路由器系统中网络处理器加载微码的方法。
背景技术
目前国内外各大通信设备公司的数据产品中,相当一部分产品使用网络处理器来实现各类路由转发业务。基于网络处理器架构的路由器系统,相比使用专用集成电路(Application Specific Integrated Circuit,ASIC)实现的系统,具有业务开发、修改方便灵活,开发周期短,成本低等显著优点,因而得到了广泛的使用。
但是,现在大多数网络处理器,有一个很致命的缺陷,就是其指令空间太小,导致代码空间不够的问题,尤其是随着当今路由器产品的发展,支持的业务功能越来越多。三层功能越来越繁多,二层功能被加进来,支持的接口卡类型也是越来越丰富:以太、POS(Packet Over SDH,利用同步数字序列传输分组数据业务)、异步传输模式(ATM)、E1、E3等等,对于这些越来越多的业务和接口卡,网络处理器指令空间太小的弊端越发的暴露出来,甚至成为整个路由器系统的瓶颈。
为了解决这个问题,出现了以下几种方法:
1.压缩路由器的业务功能,使只提供部分功能,这无疑是以削弱路由器的功能为代价的。
2.使用多个网络处理器来完成全部的功能,这种方法无疑提高了硬件的成本。
3.在专利CN200610034573中又提出了一种方法:在系统启动时,不把微码的所有指令加载入网络处理器的指令空间,而是把微码分割为多个小块,只把一部分先加载入网络处理器的指令空间,其他的存贮在内存中,运行时需要某些代码时,再把该处于内存中的代码调入网络处理器的指令空间中执行。该种方法构思精巧,灵活性大,但是实现复杂,并且由于代码执行时需要一个加载过程,可能导致业务的一定中断。
综上所述,现有解决方法都存在一定缺点需要改进。
发明内容
本发明要解决的技术问题是,提供一种路由器系统中网络处理器加载微码的方法,不增加成本,且不削减路由器功能,能够使整个系统资源资利率最大化。
为了解决上述技术问题,本发明提供了一种路由器系统中网络处理器加载微码的方法,包含如下步骤:
(a)对系统的硬件配置,编写对应的微码版本;
(b)将所有的微码版本保存在系统中;
(c)系统启动时,获取系统的硬件配置,加载对应的微码版本至网络处理器中。
进一步地,上述方法还可具有以下特点,所述步骤(a)中,首先将系统的硬件配置进行分类,划分为若干硬件配置等价类,同一硬件配置等价类的硬件配置其对应的微码版本相同,所述步骤(c)中,获取系统硬件配置后,判断其所属的硬件配置等价类,从而获得其对应的微码版本。
进一步地,上述方法还可具有以下特点,所述微码版本只包含对应的硬件配置或硬件配置等价类所需要的业务模块及其可使用的系统资源。
进一步地,上述方法还可具有以下特点,所述硬件配置的分类,把支持的业务种类相同,每个业务占用资源相同的硬件配置划分为同一硬件配置等价类。
进一步地,上述方法还可具有以下特点,所述步骤(b)中,系统中还建立硬件配置或硬件配置等价类和对应微码版本的映射表,保存所有微码版本的起始地址和大小,步骤(c)中,根据硬件配置或硬件配置等价类,查找映射表,获得对应的微码版本的起始地址和大小,加载所述微码版本。
进一步地,上述方法还可具有以下特点,所述系统中包含一种默认微码版本,所述默认微码版本包含了系统所有业务,所述步骤(c)中,当系统的硬件配置无对应的微码版本时,加载默认微码版本至网络处理器中。
本发明提供的方法,充分考虑路由器系统的硬件配置,能够根据硬件的配置自动选择加载合适的微码版本,使得系统支持的业务和业务的性能都达到一个最优的配置。
附图说明
图1是网络处理卡的硬件基本框图;
图2本发明系统启动流程图。
具体实施方式
在现有的解决方法中,都没有考虑到系统的硬件配置。网络处理器资源宝贵,如果我们对所支持的业务不加以区分,把所有的业务统统的都加载进系统,毫无疑问,会导致所有的业务都抢占宝贵的网络处理器的资源,都无法得到足够多的资源,产生资源紧张的现象。而如果只提供部分功能,又削弱了路由器系统的功能。本发明提供了一种方法,充分考虑路由器系统的硬件配置,能够根据硬件的配置自动选择加载合适的微码版本,使得系统支持的业务和业务的性能都达到一个最优的配置。
本发明路由器系统中网络处理器微码加载方法包括以下步骤:
A、预先对系统的可能硬件配置进行统计、分类,根据硬件能够支持的业务种类、各种业务的性能指标,划分为有限的若干种等价配置。每一种等价配置,微码的处理是相同的。
(A1)根据硬件配置,决定必要的业务种类,以及每个业务能够占用的系统资源。
(A2)对硬件配置进行统计归类,把支持的业务种类相同,每个业务占用资源也相同的配置定义为一个硬件配置等价类。
比如根据网络处理器型号、网络处理器内存型号以及容量、接口卡类型等等,归类组合出若干种硬件配置等价类,每一种硬件配置等价类所支持的业务种类,以及每种业务可以达到的性能指标都是一样的,从而处理每种硬件配置等价类的微码版本是完全一样的。
(A3)统计出系统的所有硬件配置等价类。
(A4)可选的,可能还需要一个默认的硬件配置等价类,来表示所有特殊的硬件配置。
需要一种通用的微码版本,该版本包含了所有的业务,当系统的硬件配置很特殊,不满足所有的硬件配置等价类时或没有对应的微码版本时,则使用默认微码版本。
B、为每种硬件配置等价类编写专门版本的微码,每种微码版本中只包含对应的硬件配置等价类所需要的业务模块,以及使用该硬件配置等价类时能够使用的系统资源。
为每一种硬件配置等价类编写特定版本的微码时,充分考虑该种硬件配置需要的业务、性能指标等,对业务模块进行针对性的剪裁,去除不需要的业务,为需要支持的业务让出更多的资源,以达到更好的性能指标。编写最适合该类型配置的微码版本,以提高系统资源利用率。
C、把所有的微码版本都保存在系统中,并建立起硬件配置等价类和微码版本的对应关系。
(C1)将所有的微码版本都加载入系统镜像中,并保存所有版本微码的起始地址和大小;
(C2)建立起硬件配置等价类和微码版本对应关系表(以下简称映射表)。
一般的网络处理器的微码指令空间很小,通常只有几十K,而系统的内存很大,所以可以在编译时一次性把所有的微码版本都加载到系统镜像文件中,并建立硬件配置等价类和微码版本的对应关系表。硬件配置和微码版本对应关系表中,可以根据硬件配置得到对应微码版本的微码镜像起始地址和微码镜像的大小。
D、系统启动时,主控系统依据系统的实际配置,判断出属于哪一种硬件配置等价类,然后加载对应版本的微码到网络处理器中并执行。如图2所示,包含如下步骤:
(D1)主控系统得到系统的硬件配置,判断属于哪一种硬件配置等价类;
(D2)根据等价硬件配置类,从映射表中得到微码镜像的版本,包含微码指令的起始地址和微码的大小;
(D3)把该微码版本加载入微引擎的指令空间;
(D4)进行相关的配置和初始化,启动微引擎,执行所述微码版本。
Claims (6)
1、一种路由器系统中网络处理器加载微码的方法,包含如下步骤:
(a)对系统的硬件配置,编写对应的微码版本;
(b)将所有的微码版本保存在系统中;
(c)系统启动时,获取系统的硬件配置,加载对应的微码版本至网络处理器中。
2、如权利要求1所述的方法,其特征在于,所述步骤(a)中,首先将系统的硬件配置进行分类,划分为若干硬件配置等价类,同一硬件配置等价类的硬件配置其对应的微码版本相同,所述步骤(c)中,获取系统硬件配置后,判断其所属的硬件配置等价类,从而获得其对应的微码版本。
3、如权利要求1或2所述的方法,其特征在于,所述微码版本只包含对应的硬件配置或硬件配置等价类所需要的业务模块及其可使用的系统资源。
4、如权利要求2所述的方法,其特征在于,所述硬件配置的分类,把支持的业务种类相同,每个业务占用资源相同的硬件配置划分为同一硬件配置等价类。
5、如权利要求1或2所述的方法,其特征在于,所述步骤(b)中,系统中还建立硬件配置或硬件配置等价类和对应微码版本的映射表,保存所有微码版本的起始地址和大小,步骤(c)中,根据硬件配置或硬件配置等价类,查找映射表,获得对应的微码版本的起始地址和大小,加载所述微码版本。
6、如权利要求1所述的方法,其特征在于,所述系统中包含一种默认微码版本,所述默认微码版本包含了系统所有业务,所述步骤(c)中,当系统的硬件配置无对应的微码版本时,加载默认微码版本至网络处理器中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007101272817A CN101075966A (zh) | 2007-07-05 | 2007-07-05 | 一种路由器系统中网络处理器加载微码的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007101272817A CN101075966A (zh) | 2007-07-05 | 2007-07-05 | 一种路由器系统中网络处理器加载微码的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101075966A true CN101075966A (zh) | 2007-11-21 |
Family
ID=38976792
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2007101272817A Pending CN101075966A (zh) | 2007-07-05 | 2007-07-05 | 一种路由器系统中网络处理器加载微码的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101075966A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101321132B (zh) * | 2008-07-23 | 2011-04-20 | 中兴通讯股份有限公司 | 网络处理器的接口板自适应方法和装置 |
CN101335644B (zh) * | 2008-07-30 | 2011-05-11 | 中兴通讯股份有限公司 | 网络处理器动态加载微码的方法 |
CN103077063A (zh) * | 2012-12-18 | 2013-05-01 | 中兴通讯股份有限公司 | 微码编译方法及装置 |
CN103944815A (zh) * | 2014-04-29 | 2014-07-23 | 中国联合网络通信集团有限公司 | 基于容量卡实现家庭网关的方法、装置及路由器 |
CN103986660A (zh) * | 2014-05-30 | 2014-08-13 | 华为技术有限公司 | 加载微码的装置以及加载微码的方法 |
US10630584B2 (en) | 2015-09-30 | 2020-04-21 | Huawei Technologies Co., Ltd. | Packet processing method and apparatus |
-
2007
- 2007-07-05 CN CNA2007101272817A patent/CN101075966A/zh active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101321132B (zh) * | 2008-07-23 | 2011-04-20 | 中兴通讯股份有限公司 | 网络处理器的接口板自适应方法和装置 |
CN101335644B (zh) * | 2008-07-30 | 2011-05-11 | 中兴通讯股份有限公司 | 网络处理器动态加载微码的方法 |
CN103077063A (zh) * | 2012-12-18 | 2013-05-01 | 中兴通讯股份有限公司 | 微码编译方法及装置 |
CN103077063B (zh) * | 2012-12-18 | 2019-02-19 | 中兴通讯股份有限公司 | 微码编译方法及装置 |
CN103944815A (zh) * | 2014-04-29 | 2014-07-23 | 中国联合网络通信集团有限公司 | 基于容量卡实现家庭网关的方法、装置及路由器 |
CN103986660A (zh) * | 2014-05-30 | 2014-08-13 | 华为技术有限公司 | 加载微码的装置以及加载微码的方法 |
CN103986660B (zh) * | 2014-05-30 | 2018-01-23 | 华为技术有限公司 | 加载微码的装置以及加载微码的方法 |
US10630584B2 (en) | 2015-09-30 | 2020-04-21 | Huawei Technologies Co., Ltd. | Packet processing method and apparatus |
US11184281B2 (en) | 2015-09-30 | 2021-11-23 | Huawei Technologies Co., Ltd. | Packet processing method and apparatus |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101075966A (zh) | 一种路由器系统中网络处理器加载微码的方法 | |
CN101447940B (zh) | 访问控制列表规则的更新方法和装置 | |
CN103560963B (zh) | 一种OpenFlow流表存储空间压缩方法 | |
EP3200393B1 (en) | Method and device for virtual network function management | |
CN101227469B (zh) | 一种实现移动终端并行业务处理的方法 | |
CN108132827B (zh) | 一种网络切片资源映射方法、相关设备及系统 | |
CN101604264A (zh) | 超级计算机的任务调度方法及系统 | |
CN101697560A (zh) | 一种移动终端及其消息显示方法 | |
CN108021449A (zh) | 一种协程实现方法、终端设备及存储介质 | |
CN102541925A (zh) | 一种实现详细话单的快速存储和检索的方法及装置 | |
CN111813556B (zh) | 云计算环境下的虚拟集群的弹性伸缩方法 | |
CN100486212C (zh) | 一种提高路由表容量的方法 | |
CN101056338A (zh) | 使用自主数据管理的个性化信息生存周期管理服务方法 | |
CN1298139C (zh) | 一种支持多端口多业务的多级调度的方法 | |
CN1737764A (zh) | 支持osek标准的嵌入式实时操作系统的任务调度方法 | |
CN101051302A (zh) | 用于在计算系统上加载程序的方法和系统 | |
CN1719769A (zh) | 在网络设备中对接收数据包进行分类的方法 | |
WO2009154895A1 (en) | Scalable address resolution in a communications environment | |
CN108874798B (zh) | 一种大数据排序方法和系统 | |
CN1564606A (zh) | 一种单板配置方法 | |
CN1866912A (zh) | 一种在网络处理器中加载指令代码的方法和路由设备 | |
US7930489B2 (en) | Techniques for optimizing configuration partitioning | |
CN113837382A (zh) | 图神经网络的训练方法和系统 | |
CN1406073A (zh) | 一种基于用户ip地址路由的路由选择方法 | |
Ghanbarian et al. | On the Performance of Large Loss Systems with Adaptive Multiserver Jobs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20071121 |