具有可编程内核的网络设备制造技术

技术编号:8494340 阅读:163 留言:0更新日期:2013-03-29 08:00
在网络设备中,多个端口被配置为在网络上接收和发送分组。分组处理管线包括多个硬件级,其中,至少一个硬件级被配置为输出数据结构,该数据结构包括基于对接收的分组或数据结构执行的第一分组处理操作从接收的分组中提取的字段,其中,数据结构与分组相关联。可配置处理器被耦合到分组处理管线的至少一个硬件级。可配置处理器被配置为修改数据结构中的字段以生成经修改的数据结构,并且将经修改的数据结构传递到后续的硬件级,后续的硬件级被配置为使用由可配置处理器修改的字段来对数据结构执行第二分组处理操作。

【技术实现步骤摘要】
【国外来华专利技术】具有可编程内核的网络设备相关申请的交叉引用本申请要求于2011年1月6日提交的题为“ProgrammableSwitch”的第61/430,413号美国临时专利申请的优先权,其全部公开内容以引用的方式并入本文。本申请还要求于2011年3月23日提交的题为“ProgrammableSwitch”的第61/466,718号美国临时专利申请的优先权,其全部公开内容以引用的方式并入本文。
本公开一般涉及通信网络,更具体地,涉及网络切换设备。
技术介绍
本文提供的背景描述用于一般性地呈现本专利技术的上下文的目的。就该背景部分中描述的当前称作专利技术人的工作以及可能以其它方式在提交时未作为现有技术的描述的各个方面而言,既没有明确地也没有隐含地承认当前称作专利技术人的工作是相对于本专利技术的现有技术。网络交换机被配置为在连接到通信链路的多个端口之间转发网络业务。对于高吞吐量的应用而言,网络交换机通常是使用诸如专用集成电路(ASIC)的硬件来实现的。当引入了新的网络协议并且在引入新的网络协议之前设计了网络交换机的硬件(例如,ASIC)时,该网络交换机可能难以处理符合新的网络协议的分组。
技术实现思路
在一个实施方式中,网络设备包括多个端口和分组处理管线,多个端口被配置为在网络上接收和发送分组,分组处理管线包括多个硬件级。至少一个硬件级被配置为输出数据结构,该数据结构包括基于对接收的分组或数据结构执行的第一分组处理操作、从接收的分组中提取的字段,其中,数据结构与分组相关联。网络设备还包括可配置处理器,可配置处理器耦合到分组处理管线的至少一个硬件级。可配置处理器被配置为修改数据结构中的字段以生成经修改的数据结构,并且将经修改的数据结构传递到后续的硬件级,后续的硬件级被配置为使用由可配置处理器修改的字段来对数据结构执行第二分组处理操作。在另一个实施方式中,一种方法包括经由网络切换设备的端口接收分组,以及利用分组处理管线处理分组,分组处理管线包括多个硬件级,多个硬件级至少包括第一级、第二级和可配置处理器。利用分组处理管线处理分组包括:利用第一级输出数据结构,该数据结构包括基于对接收的分组或数据结构执行的第一分组处理操作、从接收的分组中提取的字段,其中,数据结构与分组相关联;使用可配置处理器修改数据结构中的字段以生成经修改的数据结构;以及将所修改的数据结构传递到第二硬件级,第二硬件级被配置为使用由可配置处理器修改的字段来对数据结构执行第二分组处理操作。附图说明图1是根据本专利技术的实施方式的示例性网络设备的功能图;图2是根据一个实施方式的用于在网络设备中处理分组的示例性方法的流程图;图3是根据一个实施方式的用于在网络设备中处理分组的另一个示例性方法的流程图;图4是根据一个实施方式的用于在网络设备中处理分组的另一个示例性方法的流程图;图5是根据一个实施方式的用于修改分组的报头的示例性方法的数据流程图;图6是根据一个实施方式的用于在网络设备中处理分组的另一个示例性方法的流程图;以及图7是根据一个实施方式的在图1的网络设备中使用的示例性的可配置内核单元的示意图。具体实施方式图1是根据一个实施方式的被配置用于处理和转发数据单元(即分组)的示例性网络设备100的框图。如下面更详细描述的,虽然在一个实施方式中作为硬件级或处理引擎的管线的配置,但是网络设备100包括散布在管线的各个级之间的一个或多个可配置内核。在一些实施方式中,一个或多个可配置内核可以在制造设施处、由用户在现场等重新配置。例如,当引入新的网络通信协议时,可以重新配置一个或多个可配置内核,使得网络设备100可以处理符合新的网络通信协议的分组。作为另一个示例,一个或多个可配置内核被重新配置为使得网络设备100可以执行网络设备100先前不能执行的功能。在一些实施方式中,可以在与网络设备100和/或网络设备100中包含的硬件(例如,分组处理器)的生产商相关联的制造设施中重新配置一个或多个可配置内核。例如,如果存在这样的集成电路(IC),即其上的分组处理器(或者其一部分)有瑕疵或者存在设计错误使得分组处理器未如期望地进行操作,则在已经制造出IC以后,制造设施可以重新配置一个或多个可配置内核以执行解决方法使得分组处理器如期望地进行操作。在一个实施方式中,一个或多个可配置内核是包含在分组处理管线中的管线单元(即硬件级)。在一个实施方式中,管线的单元基于分组中的字段(例如报头字段)的值和/或基于与分组相关联的数据结构来执行与分组相关联的不同的任务。在一个实施方式中,这种数据结构包括分组的报头字段。在一个实施方式中,数据结构另外或可替换地包括与分组相关联的其它信息。例如,其它信息可以包括由管线的第一单元生成的值,该值向管线的第二单元指示第二单元应当如何处理分组(例如,第二单元应当对分组执行哪个任务或哪些任务)。在一个实施方式中,一个或多个可配置内核允许网络设备100被配置为执行不同的功能、适当地处理符合不同或新的网络协议的分组、处理(workaround)管线中的错误或瑕疵等。在一个实施方式中,当网络设备100的管线单元中的很多管线单元不适合于处理符合第二协议的分组时,一个或多个可配置内核允许适合于处理符合第一协议的分组的网络设备100或者网络设备100中的至少各个级被重新配置为处理符合第二协议的分组。例如,在一个实施方式中,管线的单元处理与分组相关联的数据结构,并且每一个数据结构包括由管线的单元中的很多管线单元视作为与第一协议指定的第一分组报头字段对应的字段。在一个实施方式中,例如在制造设施处或者由顾客对可配置内核中的一个进行配置,以基于由第二协议指定的第二分组报头字段修改数据结构字段。然后,假设数据结构字段仍然与由第一协议指定的第一报头字段相对应,管线的其它单元可以使用所修改的数据结构字段处理数据结构。换言之,在一个实施方式中,虽然分组似乎具有符合第一协议的数据结构字段并且对分组进行处理如同该分组符合第一协议一样,但是实际上在可配置内核进行修改以后,数据结构中的所选择的字段的实际内容符合第二协议。在一个实施方式中,对分组的实际处理(例如,做出转发决定)是由处理单元根据第二协议执行的,该处理单元表现地如同其处理符合第一分组的分组一样。在另一个实施方式中,第一可配置内核被配置为基于对分组的分析来设置数据结构字段。位于第一可配置内核的下游的第二可配置内核被配置为基于数据结构字段的值采取不同的动作。第一可配置内核与第二可配置内核之间的其它管线单元被配置为忽略数据结构字段。在一个实施方式中,可配置内核被配置为基于对分组的分析来设置一个或多个数据结构字段,并且管线中的下游单元使用这一个或多个数据结构字段来确定分组是否应当绕过下游单元中的一个或多个的处理。参照图1,网络设备100包括耦合到一个或多个进入(ingress)物理端口108和一个或多个外出(egress)物理端口116的分组处理管线102。虽然图1中仅示出了一个进入物理端口108和一个外出物理端口116,但是典型的交换机设备包括分组经由其进入的多个进入物理端口108和分组经由其从网络设备100外出的多个外出物理端口116。在一个实施方式中,分组处理管线包括耦合到外出部分112的进入部分104。图1是简化的框图,并且网络设备中的处理管线通常包括图1中未本文档来自技高网...
具有可编程内核的网络设备

【技术保护点】

【技术特征摘要】
【国外来华专利技术】2011.01.06 US 61/430,413;2011.03.23 US 61/466,7181.一种网络设备,包括:多个端口,被配置为在网络上接收和发送分组;其特征在于所述网络设备进一步包括:分组处理管线,包括多个硬件级,所述多个硬件级包括第一硬件级和第二硬件级,其中所述第一硬件级被配置为从接收的分组中的第一报头信息提取第一数据并且输出包括字段的数据结构,所述字段包括所述第一数据,其中所述第一报头信息符合第一通信协议并且所述数据结构与所述分组相关联;可配置处理器,耦合到所述分组处理管线,其中所述可配置处理器被配置为修改所述数据结构以生成经修改的数据结构,生成所述经修改的数据结构包括利用从所述接收的分组中的第二报头信息提取的第二数据来重写所述数据结构中的所述字段,其中所述第二报头信息符合所述分组处理管线的所述第二硬件级所未识别出的第二通信协议;并且其中所述第二硬件级被配置为使用所述数据结构的所述字段对所述数据结构执行分组处理操作并且从所述可配置处理器接收所述经修改的数据结构,使得所述第二硬件级使用从符合所述第二硬件级所未识别出的所述第二通信协议的第二报头信息提取的所述第二数据。2.根据权利要求1所述的网络设备,其中所述字段与从所述分组的符合所述第一通信协议的所述第一报头信息中提取的目的地地址相对应;其中所述第二硬件级被配置为使用所述字段中所包含的信息来确定所述分组将经由其进行发送的端口;并且其中所述可配置处理器被配置为在所述数据结构由所述第一硬件级输出之后并且在所述数据结构被传递到所述第二硬件级之前重写所述数据结构中的所述字段,使得所述字段不再包括从所述分组的符合所述第一通信协议的所述第一报头信息中提取的所述目的地地址。3.根据权利要求1所述的网络设备,其中:所述字段是第一字段;所述可配置处理器被配置为使用来自所述数据结构中的第二字段的数据来重写所述第一字段,所述第二字段存储从所述接收的分组中的所述第二报头信息提取的所述第二数据。4.根据权利要求3所述的网络设备,其中,所述分组处理管线包括第三硬件级,所述第三硬件级被配置为从所述接收的分组中的所述第二报头信息提取所述第二数据并且将所述第二数据存储在所述数据结构中的所述第二字段中。5.根据权利要求3所述的网络设备,其中,所述分组包括符合所述第二通信协议的内部分组,并且其中所述第二数据是从所述内部分组中提取的。6.根据权利要求1所述的网络设备,其中,所述可配置处理器被配置为执行机器可读指令。7.根据权利要求1所述的网络设备,其中,所述可配置处理器包括一个或多个微码引擎。8.根据权利要求1所述的网络设备,其中,所述可配置处理器包括可编程逻辑设备。9.一种用于通信的方法,包括:经由网络切换设备的端口接收分...

【专利技术属性】
技术研发人员:A·罗特施特因
申请(专利权)人:马维尔以色列MISL有限公司
类型:
国别省市:

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

1