堆叠系统网络芯片NextHop资源分配方法与流程

文档序号:12693083阅读:646来源:国知局
堆叠系统网络芯片NextHop资源分配方法与流程

本发明涉及芯片资源分配技术领域,具体涉及一种堆叠系统网络芯片NextHop资源分配方法。



背景技术:

堆叠系统报文的转发查找与报文的编辑是分离的,报文编辑动作定义通过NextHop表项来存储,读取NextHop表项的Index是由转发表而得到的,这样在堆叠系统下发转发表项时,要先到出端口对应的芯片申请NextHop资源,得到对应的Index后,再在入端口的芯片配置转发表项。如果出端口发生芯片间的迁移时,会引起在出端口芯片申请NextHop资源后,软件刷新相关联转发表项的Index,由于每一个物理芯片的NextHop资源规格及编址不完全一致,给软件的管理带来很大的难度。

目前堆叠系统NextHop资源采用对等分配方案,用堆叠系统中所有芯片中最小的NextHop资源作为整个系统的资源空间,申请NextHop时,在所有芯片中统一申请同一个Index,并配置相应的表项,如图1所示,但该方法具有以下缺陷:

1.芯片A和芯片B上只能使用前6K NextHop资源空间,多余的NextHop资源空间被浪费。

2.如果出端口在芯片A上,申请的NextHop的Index为1,则芯片B/芯片C上Index为1的条目被浪费。



技术实现要素:

针对现有技术的不足,本发明的主要目的在于:提出一种堆叠系统网络芯片NextHop资源分配方法,通过本地映射表,完成NextHop资源的Index的重映射,从而大大简化软件管理NextHop资源。

为实现前述目的,本发明公开了一种堆叠系统网络芯片NextHop资源分配方法,具体包括:

根据芯片的物理NextHop资源配置CHIPID逻辑地址分配表,所述CHIPID逻辑地址分配表用于存储地址映射表的基址和地址映射表条目数;

CPU在入口芯片上下发转发表时,根据目的芯片ID申请逻辑NextHop地址,出口芯片申请物理NextHop地址并下发表项配置NextHop地址映射表中对应条目,对应条目的Index为所述CHIPID逻辑地址分配表中对应的地址映射表基址与所述逻辑NextHop地址之和;

当报文到达入口芯片后,入口芯片获取目的端口、逻辑NextHop地址后,将携带所述目的端口、逻辑NextHop地址及芯片ID的报文发送给出口芯片;

出口芯片接收到所述入口芯片发送的报文后,根据所述入口芯片的逻辑NextHop地址和芯片ID判断报文的NextHop是否越界;若越界,丢弃该报文;否则,获取NextHop地址映射表的Index,索引得到本地NextHop地址,获取报文的编辑信息,对报文进行相应编辑后发送。

优选地,堆叠系统内所有芯片的CHIPID逻辑地址分配表配置一致。

优选地,所述方法还包括:出口芯片接收所述报文后,根据入口芯片的芯片ID索引CHIPID逻辑地址分配表,得到地址映射表的基址和地址映射表条目数。

优选地,如果所述入口芯片的逻辑NextHop地址大于或等于地址映射表条目数,则表示报文的NextHop越界。

优选地,所述获取NextHop地址映射表的Index是通过计算所述根据入口芯片的芯片ID索引CHIPID逻辑地址分配表得到的地址映射表的基址与所述入口芯片的逻辑NextHop地址之和获得。

与现有技术相比,本发明的优点在于:本发明公开的一种堆叠系统网络芯片NextHop资源分配方法,通过本地映射表,完成NextHop资源的Index的重映射,使本地NextHop资源可以被充分利用,避免了CPU对转发表的刷新操作,大大降低软件对芯片NextHop资源的管理难度。

附图说明

图1是现有技术中堆叠系统NextHop资源采用对等分配方案示意图;

图2是本发明实施例提出的CHIPID逻辑地址分配表示意图;

图3是本发明实施例提出的NextHop地址映射表示意图;

图4是本发明实施例提出的CHIPID逻辑地址分配表示例图;

图5是本发明实施例提出的报文转发流程示意图;

图6是本发明实施例提出的堆叠系统网络芯片NextHop资源分配示意图。

具体实施方式

鉴于现有技术中的不足,本案发明人经长期研究和大量实践,得以提出本发明的技术方案。如下将对该技术方案、其实施过程及原理等作进一步的解释说明。

本发明实施例所述的堆叠系统网络芯片NextHop资源分配方法基于CHIPID逻辑地址分配表和NextHop地址映射表实现,所述CHIPID逻辑地址分配表用于存储根据源芯片ID得到的地址映射表的基址和对应地址映射表条目数,其表项构成如图2所示;所述NextHop地址映射表用于存储通过逻辑地址映射出的本地NextHop地址,其表项构成如图3所示。

当报文到达目的芯片时,根据源芯片获取的映射表的基址和逻辑NextHop地址映射出本地NextHop地址的Index,从而获取本地NextHop地址,使本地NextHop资源得到充分利用,避免CPU的对转发表的刷新操作,从而降低软件对芯片NextHop资源的管理难度。

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

首先,CPU需进行转发表配置操作,具体流程包括:

根据芯片的物理NextHop资源配置CHIPID逻辑地址分配表,进行NextHop地址映射表空间的分配,其分配示例如图4所示。CHIPID逻辑地址分配表是由堆叠系统全局规划而得,因此,所有芯片上CHIPID逻辑地址分配表配置一致。

CPU在入口芯片上下发转发表时,根据目的芯片ID申请逻辑NextHop地址,然后由出口芯片申请物理NextHop地址并下发表项,配置NextHop地址映射表中的对应的条目,其对应条目的Index=CHIPID逻辑地址分配表.地址映射表基址+逻辑NextHop地址。

之后,当报文到达堆叠系统后,经芯片组查找、转发、计算等一系列动作,获取NextHop地址映射表对应条目的Index,从而获取本地NextHop地址。

图5是本发明实施例提出的报文转发流程示意图,芯片A为入口(Ingress)芯片,芯片B为出口(Egress)芯片,芯片内部包括IPE(Ingress Process Engine)模块、BSR(Buffer Store and Retrieve)模块和EPE(Egress Process Engine)模块。IPE模块主要对报文进行转发表的查找得到转发目的地和编辑信息,BSR模块对报文进行存储和转发到相应目的地,EPE模块根据IPE模块得到的编辑信息对原始报文进行编辑。报文转发过程如下:

1.芯片A报文处理流程

报文从网络端口进入后,在IPE模块通过转发表的查找得到目的端口和逻辑NextHop地址;

目的端口为芯片B的端口,芯片A将报文从芯片间的互联端口发送给芯片B,通过stackingHeader(堆叠系统报文头)携带目的端口、逻辑NextHop地址及芯片A的芯片ID。

2.芯片B报文处理流程

芯片B从芯片间的互联端口收到上述报文后,从stackingHeader可获取芯片A的CHIPID、目的端口、逻辑NextHop地址;

BSR模块根据目的端口将报文入相应的队列;

EPE模块根据芯片A的芯片ID索引CHIPID逻辑地址分配表,得到地址映射表的基址和地址映射表条目数,并判断报文的NextHop是否越界:

如果逻辑NextHop地址>=地址映射表条目数,则表示报文的NextHop越界,丢弃报文;

如果逻辑NextHop地址<地址映射表条目数,则计算NextHop地址映射表的Index,NextHop地址映射表的Index=地址映射表的基址+逻辑NextHop地址。根据上述计算出的Index索引NextHop地址映射表得到本地的物理NextHop地址,然后读取物理的NextHop内容获取报文的编辑信息,对报文进行相应的编辑后,发送给对应的端口。

需要说明的是,图5所示的实施例中虽然仅对入口芯片(芯片A)和出口芯片(芯片B)的报文转发过程进行说明,但本领域人员应当知晓,该处理过程还可能包括若干中间芯片,由于在此处理过程中中间芯片只是透明转发报文,不会对报文进行编辑动作,所以不需取NextHop地址,故在此不再另外赘述。

采用本发明实施例的堆叠系统网络芯片NextHop资源分配方法,对图1所示的堆叠系统进行NextHop资源分配,堆叠系统可提供16K+12K+6K的NextHop逻辑空间,其示例如图6所示,使NextHop资源得到充分利用。通过对本地NextHop地址进行映射查找,避免了CPU对转发表刷新操作而引起的查找错误,从而降低了对NextHop资源空间的管理难度。

应当理解,上述实施例仅为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人士能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明精神实质所作的等效变化或修饰,都应涵盖在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1