路由下发方法和装置制造方法及图纸

技术编号:24103217 阅读:29 留言:0更新日期:2020-05-09 14:07
本申请提供了一种路由下发方法和装置。该路由下发方法应用于网络设备,包括:确定本地内存中是否存在待下发至本地芯片的路由;当确定本地内存中存在待下发至本地芯片的路由时,从本地内存中确定待下发至本地芯片的至少一个目标路由;按照直接内存存取DMA方式将所有目标路由携带在一条指令中下发至本地芯片。本申请在执行路由下发操作时,按照取DMA方式将从本地内存中确定出的至少一个目标路由携带在一条指令中下发至本地芯片。相比于逐条下发路由的方案,大幅减少了按照DMA方式下发路由的操作执行次数,即使在短时间内需要下发路由数量较大,也不会出现路由下发缓慢甚至无法进行路由下发的问题。

Routing method and device

【技术实现步骤摘要】
路由下发方法和装置
本申请涉及网络通信技术,特别涉及路由下发方法和装置。
技术介绍
目前的网络设备中,通常由CPU学习路由并在学习到路由后,将该路由下发到本地芯片,以使该芯片利用的下发的路由对报文进行转发。但在上述方案中,CPU每下发一个路由,就会执行一次按照直接内存存取DMA方式将路由下发至芯片的操作。当在短时间内需要下发路由数量较大时,则会造成路由下发缓慢甚至无法进行路由下发的问题。
技术实现思路
本申请提供了路由下发方法和装置。根据本申请的第一方面,提供一种路由下发方法,该方法应用于网络设备,该方法包括:确定本地内存中是否存在待下发至本地芯片的路由;当确定本地内存中存在待下发至本地芯片的路由时,从本地内存中确定待下发至本地芯片的至少一个目标路由;按照直接内存存取DMA方式将所有目标路由携带在一条指令中下发至本地芯片。根据本申请的第二方面,提供一种路由下发装置,该装置应用于网络设备,该装置包括:路由确定单元,用于确定本地内存中是否存在待下发至本地芯片的路由;目标路由确定单元,用于当确定本地内存中存在待下发至本地芯片的路由时,从本地内存中确定待下发至本地芯片的至少一个目标路由;下发单元,用于按照直接内存存取DMA方式将所有目标路由携带在一条指令中下发至本地芯片。由以上技术方案可以看出,本申请中,待下发路由会先存储至本地内存中以等待下发,并在执行路由下发操作时,按照取DMA方式将从本地内存中确定出的至少一个目标路由携带在一条指令中下发至本地芯片。相比于逐条下发路由的方案,大幅减少了按照DMA方式下发路由的操作执行次数,即使在短时间内需要下发路由数量较大,也不会出现路由下发缓慢甚至无法进行路由下发的问题。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。图1为本申请提供的方法流程图;图2为本申请提供的步骤101的实现流程图;图3为本申请提供的步骤102的实现流程图;图4为本申请提供的索引更新流程图;图5为本申请提供的另一种索引更新流程图;图6为本申请提供的装置结构示意图;图7为本申请提供的图6所示装置的硬件结构示意图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。参见图1,图1为本申请提供的一种路由下发方法的流程图。本申请提供的路由下发方法可以应用于网络设备,例如,路由器、服务器或终端设备等需要通过路由以转发报文的设备。如图1所示,该流程可以包括:步骤101,确定本地内存中是否存在待下发至本地芯片的路由;作为一个示例,CPU在将待下发路由下发至芯片时,并不会将待下发路由直接的下发至芯片中,而是会将待下发路由先发送至硬件驱动,由硬件驱动将路由存储至本地内存中。在需要执行路由下发操作时,再将存储至内存中的待下发路由进行下发。作为一个示例,本申请的步骤101可以周期性的被触发,例如,每间隔50ms被触发一次。在此基础上,为了避免每次触发步骤101都会执行相应的路由下发操作,进而导致每次下发的待下发路由过少,可以选择在触发步骤101达到一定次数后,如100次,再开始执行后续的步骤102至步骤103,以保证每次下发的待下发路由不会过少。作为一个示例,确定本地内存中是否存在待下发至本地芯片的路由有多种实现方式,图2示出了其中一种,下文会具体举例,这里暂不赘述。步骤102,当确定本地内存中存在待下发至本地芯片的路由时,从本地内存中确定待下发至本地芯片的至少一个目标路由;作为一个示例,由于CPU会将待下发路由先存储至内存中,以等待触发路由下发操作,这就会出现内存中存储有多个待下发路由的情况。由于单次下发路由数量较大会导致下发过程易出现错误并带来下发速度较慢的问题,因此,在下发路由时需从本地内存中确定待下发至本地芯片的至少一个目标路由进行下发。从本地内存中确定待下发至本地芯片的至少一个目标路由有多种实现方式,图3示出了其中一种,下文会具体举例,这里暂不赘述。步骤103,按照直接内存存取DMA方式将所有目标路由携带在一条指令中下发至本地芯片。作为一个示例,所有目标路由都会按照DMA方式一次性的全部下发至本地芯片中。下发至本地芯片的路由可以存储在本地芯片的路由寄存器中。至此,完成图1所示流程。由以上技术方案可以看出,本申请中,待下发路由会先存储至本地内存中以等待下发,并在执行路由下发操作时,按照取DMA方式将从本地内存中确定出的至少一个目标路由携带在一条指令中下发至本地芯片。相比于逐条下发路由的方案,大幅减少了按照DMA方式下发路由的操作执行次数,即使在短时间内需要下发路由数量较大,也不会出现路由下发缓慢甚至无法进行路由下发的问题。下面结合图2所示流程,对步骤101中如何确定本地内存中是否存在待下发至本地芯片的路由进行说明。如图2所示,该流程可以包括:步骤101a,检查第一索引是否为用于指示无效的第一值;所述第一索引为本地内存中所有待下发路由对应的索引中的最小索引;若否,则转到步骤101b;若是,则转到步骤101c。作为一个示例,CPU在向本地芯片下发路由时,会计算该路由的索引,并将该路由以及该路由的索引发送给硬件驱动,以由该硬件驱动根据路由的索引将路由存储至内存。作为一个示例,硬件驱动在每接收到一个CPU发送的路由以及该路由的索引时,都会与当前的第一索引进行比较,以保证第一索引为本地内存中所有待下发路由对应的索引中的最小索引。举一个简单的例子,若当前第一索引为20,那么在接收到索引为18的路由时,会将第一索引更新为18。作为一个示例,无效的第一值是指其并非是由路由计算得到的索引值,而是预先由用户设定的一个值,例如,其可以是XXX或是YYY等。在网络设备刚启动时或是内存中所有待下发路由已全部下本文档来自技高网...

【技术保护点】
1.一种路由下发方法,其特征在于,该方法应用于网络设备,包括:/n确定本地内存中是否存在待下发至本地芯片的路由;/n当确定本地内存中存在待下发至本地芯片的路由时,从本地内存中确定待下发至本地芯片的至少一个目标路由;/n按照直接内存存取DMA方式将所有目标路由携带在一条指令中下发至本地芯片。/n

【技术特征摘要】
1.一种路由下发方法,其特征在于,该方法应用于网络设备,包括:
确定本地内存中是否存在待下发至本地芯片的路由;
当确定本地内存中存在待下发至本地芯片的路由时,从本地内存中确定待下发至本地芯片的至少一个目标路由;
按照直接内存存取DMA方式将所有目标路由携带在一条指令中下发至本地芯片。


2.根据权利要求1所述的方法,其特征在于,所述确定本地内存中是否存在待下发至本地芯片的路由包括:
检查第一索引是否为用于指示无效的第一值;所述第一索引为本地内存中所有待下发路由对应的索引中的最小索引;
若否,则确定本地内存中存在待下发至本地芯片的路由。


3.根据权利要求1所述的方法,其特征在于,所述从本地内存中确定待下发至本地芯片的至少一个目标路由包括:
在已建立的路由位图中查找到与所述第一索引对应的第一bit位;
检查第一bit位的当前值为用于指示待下发路由的第二值时,从本地内存中查找到与所述第一bit位匹配的存储地址;
确定所述存储地址记录的路由为待下发至本地芯片的目标路由。


4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
获得待存储至内存中的待下发路由和该路由的索引;
检查第一索引是否为用于指示无效的第一值;
若是,则将所述第一索引更新为该路由的索引。


5.根据权利要求2所述的方法,其特征在于,在按照直接内存存取DMA方式将所有目标路由携带在一条指令中下发至本地芯片之后,该方法进一步包括:
计算第一索引与预设值的加和结果;所述预设值为所述位图中bit位对应存储地址所能存储的索引数量;
检查所述加和结果是否大于第二索引;所述第二索引为本地内存中所有待下发路由对应的索引中的最大索引;
若否,则利用所述加和结果对所述第一索引进行更新。


6.一种路由下发装置,其特征在于,该装置应用于网络设...

【专利技术属性】
技术研发人员:杨琛
申请(专利权)人:杭州迪普科技股份有限公司
类型:发明
国别省市:浙江;33

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

1