CN111083071B - 灵活交换逻辑包处理方法、交换装置和交换系统 - Google Patents

灵活交换逻辑包处理方法、交换装置和交换系统 Download PDF

Info

Publication number
CN111083071B
CN111083071B CN201910693344.8A CN201910693344A CN111083071B CN 111083071 B CN111083071 B CN 111083071B CN 201910693344 A CN201910693344 A CN 201910693344A CN 111083071 B CN111083071 B CN 111083071B
Authority
CN
China
Prior art keywords
packet
processing
data
switching
received
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.)
Active
Application number
CN201910693344.8A
Other languages
English (en)
Other versions
CN111083071A (zh
Inventor
N·V·伊斯罗卡尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Avago Technologies International Sales Pte Ltd
Original Assignee
Avago Technologies General IP Singapore Pte Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Avago Technologies General IP Singapore Pte Ltd filed Critical Avago Technologies General IP Singapore Pte Ltd
Publication of CN111083071A publication Critical patent/CN111083071A/zh
Application granted granted Critical
Publication of CN111083071B publication Critical patent/CN111083071B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0894Packet rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/251Cut-through or wormhole routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/252Store and forward routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/22Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/028Capturing of monitoring data by filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/12Network monitoring probes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • H04L45/7453Address table lookup; Address filtering using hashing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及灵活交换逻辑。灵活交换逻辑包处理包含:接收与特定业务流相关联的第一包;在所述特定业务流的第一循环中通过基于所接收到的配置文件信号选择可编程管道的一或多个处理层级来产生交换决策行为,所述所接收到的配置文件信号指示所述第一包所需的处理类型;及使用所述可编程管道的所述选定的一或多个处理层级来对所述第一包执行包处理。在一些方面中,流入包处理器经配置以使用所述流入包处理器中的第一可编程管道的所述选定处理层级来产生第一交换决策行为。在其它方面中,流出包处理器经配置以使用所述流出包处理器中的第二可编程管道的所述选定处理层级基于第二交换决策行为来对所传递的所述第一所接收到的包执行包动作。

Description

灵活交换逻辑包处理方法、交换装置和交换系统
技术领域
本发明大体来说涉及用于处理数据的网络装置,且确切来说涉及灵活交换逻辑。
背景技术
由于用户数目迅速增长,因此联网基础设施正面临着对大带宽及智能服务不断增加的需求。高效的功耗也是需要考虑的问题。处置这些用户交互的网络交换装置(例如,交换机及路由器)花费大量处理时间来针对所处理的每一包执行查找及存取存储器。举例来说,每一包可经历以下过程:1)包流入到交换装置中;2)分析包的各种参数;3)使用表、寄存器及/或域执行分类以导出转发信息;及4)导出包修改动作,例如包转发或丢弃动作。随着通过交换装置的网络业务增加,包处理开销对应地增加。可添加额外处理器及存储器来处置增大的需求,但可能会增加交换装置的成本且也可占用空间且消耗功率。
发明内容
本发明的一方面涉及一种灵活交换逻辑包处理方法,所述方法包括:接收与特定业务流相关联的第一包;由处理器在所述特定业务流的第一循环中通过基于所接收到的配置文件信号选择可编程管道的一或多个处理层级来产生交换决策行为,所述所接收到的配置文件信号指示所述第一包所需的处理类型,其中所述所接收到的配置文件信号是用于对所述一或多个处理层级的交换决策逻辑进行编程的配置文件数据结构的指针;及由所述处理器使用所述可编程管道的所述选定的一或多个处理层级来对所述第一包执行包处理。
在本发明的另一方面中,一种交换装置包括:流入包处理器,其经配置以基于所接收到的配置文件信号使用所述流入包处理器中的第一可编程管道的一或多个处理层级来产生第一交换决策行为,基于所述交换决策行为对第一所接收到的包执行流入包处理,并将所述第一所接收到的包及所述所接收到的配置文件信号传递到流出包处理器;及所述流出包处理器,其经配置以基于第二交换决策行为对所传递的所述第一所接收到的包执行包动作,所述第二交换决策行为是基于所述所接收到的配置文件信号使用所述流出包处理器中的第二可编程管道的一或多个处理层级而产生,其中所述所接收到的配置文件信号是配置文件数据结构的指针,所述配置文件数据结构用于对所述第一可编程管道及所述第二可编程管道中的所述一或多个处理层级的交换决策逻辑进行编程。
在本发明的又一方面中,一种计算机程序产品包括存储在有形计算机可读存储媒体中的指令,所述指令包括:接收与特定业务流相关联的第一包的指令;由处理器在所述特定业务流的第一循环中通过基于所接收到的配置文件信号选择可编程管道的一或多个处理层级来产生交换决策行为的指令,所述所接收到的配置文件信号指示所述第一包所需的处理类型,其中所述所接收到的配置文件信号是用于对所述一或多个处理层级的交换决策逻辑进行编程的配置文件数据结构的指针;及由所述处理器使用所述可编程管道的所述选定的一或多个处理层级来对所述第一包执行包处理的指令。
附图说明
在所附权利要求书中陈述本技术的某些特征。然而,出于解释目的,在以下各图中陈述本技术的数个实施例。
在所附权利要求书中陈述本技术的某些特征。然而,出于解释目的,在以下各图中陈述本技术的一或多个实施方案。
图1图解说明根据本技术的一或多个实施方案的可实施网络装置的实例性网络环境。
图2图解说明根据一或多个实施方案的可实施灵活交换逻辑的实例性电子装置的交换机架构。
图3图解说明根据本技术的一或多个实施方案的灵活交换逻辑管道架构的实例的框图。
图4图解说明根据本技术的一或多个实施方案的输入层级(floor)的实例性架构的框图。
图5图解说明根据本技术的一或多个实施方案的输出层级的实例性架构的框图。
图6图解说明根据本技术的一或多个实施方案的控制层级的实例性架构的框图。
图7图解说明根据本技术的一或多个实施方案的数据层级的实例性架构的框图。
图8图解说明根据本技术的一或多个实施方案的双层级的实例性架构的框图。
图9图解说明根据本技术的一或多个实施方案的在具有灵活交换逻辑的网络装置中执行交换决策行为的过程。
图10概念性地图解说明实施本技术的任何实施方案的电子系统。
具体实施方式
下文陈述的详细说明旨在作为对本技术的各种配置的说明,并不旨在表示可实践本技术的唯一配置。附图并入本文中且构成详细说明的一部分。出于提供对本技术的透彻理解的目的,详细说明包含具体细节。然而,本技术不限于本文中所陈述的具体细节且可使用一或多个实施方案来实践。在一或多个例子中,以框图的形式展示结构及组件以避免模糊本技术的概念。
交换行为传统上是通过“固定的”网络交换决策逻辑来实施。举例来说,执行交换行为的功能块被硬编码在硅中。然而,本发明提供具有多块架构的灵活交换逻辑(FSL)子系统,所述多块架构是灵活交换装置的核心。FSL用于在多次查找之后处理解决方案逻辑,例如MPLS处理、L2/L3处理及TTL选择。FSL具有包含功能意图上的广泛多样性及复杂性在内的一些特性。通常,FSL处理较小的控制信号与较大的数据信号的混合。FSL包含IO及几十量级的逻辑深度。FSL不具有关闭的概念,而是仅具有表与其它用户程序建构之间的相对布局。
FSL因其灵活性而极具价值。举例来说,不期望因HW/编译器局限而对用户程序功能形成不合理的限制。与不具有后查找处理元件或具有无用后查找处理元件的一般性查找表架构相比,FSL通过实施共同协议程序的总体解决方案缩短等待时间且减小面积。由于将通过正确的总线布局来克服物理限制,因此FSL具有任意地分接及增添逻辑管道总线的自由。FSL包含配置文件表,所述配置文件表用以通过指示给定包类型所需的处理类型来处置不同的包类型。本文中所使用的术语“逻辑的”通常是指一种类型的网络的拓扑结构,所述网络的拓扑结构图解说明数据如何在网络内流动的非有形表示。本文中所使用的术语“物理的”通常是指另一类型的网络拓扑结构,所述网络拓扑结构图解说明网络的各种组件的有形说明。
在本技术中,可编程管道架构在管道中包含六种类型的硬件块:1)分析器、2)匹配动作表、3)灵活交换逻辑子系统、4)特殊功能块、5)编辑器及6)总线多路复用器。将参考图3到8更详细地论述灵活交换逻辑子系统。在一些实施方案中,在集成电路(例如,半导体裸片)中将灵活交换逻辑子系统多次具现化。
在一些实施方案中,在编译时间初始化期间不允许传送包。在一些实施方案中,在将状态表初始化之前,基于软件的逻辑电路系统针对所有的处理层级对配置文件进行写入。在一些实施方案中,基于软件的逻辑电路系统确保状态表的每半个条目每时钟循环由至多一个单元格写入。在一些实施方案中,基于软件的逻辑电路系统负责在实时业务期间写入的任何状态条目。
图1图解说明根据一或多个实施方案的可实施灵活交换逻辑的实例性网络环境100。并非所描绘的所有组件皆可用到,然而一或多个实施方案可包含图中未展示的额外组件。可在不背离本文中所陈述的权利要求书的精神或范围的情况下对组件的布置及类型做出变化。可提供额外组件、不同的组件或更少的组件。
网络环境100包含各种电子装置104A到104F,例如一或多个服务器、计算机、数据存储装置、网络组件、网络装置等。在一或多个实施方案中,网络环境100包含一组服务器、服务器库、存储区域网络及/或互连计算机或网络装置的巨大网络。在一或多个实施方案中,网络环境100包含一或多个其它装置,例如一或多个移动装置、平板装置、机顶盒(STB)装置、存储装置、桌上型计算机、路由器、交换机、桥接器或任何其它机器或装置。
一或多个电子装置104A到104F经由传输媒体108通信耦合。传输媒体108可包含同轴传输媒体、电力线传输媒体、以太网传输媒体中的一或多者及/或便于经由传输媒体108进行通信的一或多个装置。电子装置104A到104F可以是计算装置,例如膝上型计算机或桌上型计算机、智能电话、机顶盒、外围装置、用户输入装置、平板计算机、电视或耦合有及/或嵌入有一或多个处理器其它显示器或包含有线及/或无线网络接口的其它适当的装置。
在图1的实例性网络环境100中,电子装置104A被描绘为交换装置,电子装置104B被描绘为电视,电子装置104C被描绘为个人计算机,电子装置104D被描绘为家庭娱乐系统,电子装置104E被描绘为服务器,且电子装置104F被描绘为路由器。举非限制性实例来说,网络中的数据通信可包含在电子装置104A到104F之间广告信息、数据链接设定信息、业务指示信息、数据帧、测距等的有线及/或无线通信(例如,传输、接收)。电子装置104A到104F中的一或多者可以是及/或可包含下文参照图2所论述的电子系统的全部或一部分。
在一或多个实施方案中,电子装置104A到104F中的一或多者可包含用于建立无线网络连接(例如,Wi-Fi连接、蓝牙连接或一般地任何无线网络连接)的适当无线网络接口。出于阐释目的,本文中主要参考有线网络(例如,以太网)论述本发明系统;然而,本发明系统并不仅限于有线网络且也可适用于无线网络,例如802.11网络。
传输媒体108可以是以太网络(例如,以太网供电、节能以太网及/或任何其它以太网版本)、可包含以太网络或者可以是以太网络的一部分,所述以太网络用于促进一或多个以太网装置之间的通信。尽管实例性网络环境100包含电子装置104A到104F,但更少电子装置、更多电子装置及/或不同的电子装置可用于网络中。
电子装置104A可利用网络连接来获取电子装置104A到104E提供的服务/内容,及/或向电子装置104A到104E提供服务/内容。举例来说,电子装置104A可将音频及/或视频串流递送到电子装置104B,及/或递送到与电子装置104B耦合的装置,例如适配器、软件狗等。电子装置104A可在将音频及/或视频串流递送到电子装置104B之前先对音频及/或视频串流进行变码。电子装置104B可(例如)向用户输出及/或呈现音频及/或视频串流。
电子装置104A可包含被称为交换芯片的若干个集成电路或芯片。所述交换芯片可安装在共同的衬底上,及/或交换芯片中的一或多者可安装在单独的衬底上,例如安装在单独的线卡上。每一交换芯片耦合到电子装置104A的一或多个端口,且处理通过端口传输及/或经由所述端口接收到的数据单元。出于阐释目的,数据单元在本文中可主要是指单元格,例如包的若干部分;然而,数据单元可以是包、协议数据单元(PDU)、组块或笼统来说任何可阐述的数据单元。为便于处理数据单元,交换芯片中的每一者皆可包含一或多个流入处理器、流出处理器及/或存储器管理单元(MMU)。
在一些实施方案中,电子装置104A可以是路由装置,例如任何层3路由装置,或一般而言是对数据(例如,包)进行路由的任何网络装置。电子装置104A可包含一或多个存储器模块,所述一或多个存储器模块存储包处理表。包处理表可包含基于包(例如,内部、外部)的流标识(流ID)的索引及突发(burst)中从第一包开始的包处理结果。包处理结果可包含包转发信息、包编辑信息、层转发(例如,L2/L3转发)、中央处理单元(CPU)处理、服务质量(QoS)属性、缓冲信息及自定义包编辑。
图2图解说明根据一或多个实施方案的可实施灵活交换逻辑的实例性电子装置104A的交换机架构200。可能并不需要所描绘的所有组件,然而,一或多个实施方案可包含图中未展示的额外组件。可在不背离本文中所陈述的权利要求书的精神或范围的情况下对组件的布置及类型做出变化。可提供额外组件、不同的组件或更少的组件。
交换机架构200通常包含系统逻辑202,系统逻辑202被划分成控制平面204、数据平面206、附属逻辑208及本地用户界面210。控制平面204可包含一或多个主机控制器212,主机控制器212与存储器与控制逻辑214进行通信。仅举一个实例,存储器与控制逻辑214可存储由主机控制器212执行的指令以实施总体控制、配置及交换机架构200中的其它所期望功能性。
附属逻辑208可控制交换机架构200中的具体的子系统。举例来说,附属逻辑208可控制风扇、电力供应器或其它系统。本地用户界面210可经由任何指示器、显示器、声响信号器、文本型用户界面或图形用户界面接受配置输入及配置输出。
数据平面206可包含:时钟分配树216,其用于在整个数据平面206内提供时钟信号;交换网络结构218,其用于交换数据包;及数据存储器220,其用于在入口或出口上缓冲包及其它数据。交换网络结构218可达成流入包处理电路系统234与流出包处理电路系统236之间的通信。在一或多个实施方案中,交换机218包含实现流入包处理电路系统234与流出包处理电路系统236之间的通信的网络结构(例如,网格式网络结构)或任何其它互连件。数据平面206也可包含物理(PHY)层222,物理层222通过一或多个端口(例如,以太网端口224、226、228及230)传输及接收包。本地用户界面210可接受控制平面204或数据平面206所处理的时钟命令,以例如为交换机架构200内的任何时钟域设置时钟速度。响应于时钟命令,控制平面204或数据平面206可设置(例如)锁相环路(PLL)232或任何其它时钟产生逻辑的输入及参数,以改变递送到流入包处理电路系统234、流出包处理电路系统236或这两者的时钟的速度。在一或多个实施方案中,数据平面206可包含以线路速率运行的串行器/解串行器(SerDes)接口。
在交换机架构200中,数据、数据位、数据包、一组数据、信号、帧(被称为“数据”或“数据包”)或多播帧(预期传输到多个目的地的帧)可到达物理端口,或者可在物理端口处或通过物理端口被接收,所述物理端口在逻辑上可被称为流入端口。传入数据可由流入包处理电路系统234处理,且因此流入包处理电路系统234可被称为与一或多个流入端口(例如,224、226)相关联。在一或多个实施方案中,数据包是巨大的,且以较小片段的形式到达及/或被处理(在一或多个实施方案中,被称为数据“单元格”、“区段”、“组块”或“部分”)。数据包可在物理端口处或通过所述物理端口离开交换机架构200,所述物理端口可在逻辑上被称为流出端口。传出数据可由流出包处理电路系统236处理,且因此流出包处理电路系统236可被称为与一或多个流出端口(例如,228、230)相关联。因此,当数据在物理端口处或通过所述物理端口被接收到时,所述端口在逻辑上可被称为流入端口,且当数据在同一物理端口处或通过所述同一物理端口传输时,所述端口也在逻辑上可被称为流出端口。
流入包处理电路系统234及流出包处理电路系统236可包含一或多个专用存储器或缓冲器及/或可包含一或多个包处理器。由于流入包处理电路系统234及流出包处理电路系统236包含专用存储器,因此交换机架构200可不受存储器吞吐量限度限制,且因此可极具可扩缩性且能够提供高的带宽聚合。
在操作中,流入包处理电路系统234可使用各种数据传送技术或交换技术(例如,存储转发数据传送技术以及直通转发数据传送技术等等)来将数据传输到流出包处理电路系统236或流出端口。在存储转发数据传送技术中,与流入包处理电路系统234相关联的流入端口可接收数据包的数据区段,例如多播帧的数据区段。流入包处理电路系统234可将数据区段存储在流入包处理电路系统234内的存储器或缓冲器中,直到已接收到整个数据包为止。一旦整个数据包已被接收到且存储在流入包处理电路系统234的存储器中,流入包处理电路系统234便可将所述数据包转发到流出包处理电路系统236。在直通转发数据传送技术中,与流入包处理电路系统234相关联的流入端口可接收数据包的数据区段,例如数据包的若干部分。流入节点220可将数据包的若干部分传输到流出包处理电路系统236,而不将数据区段或整个数据包存储在流入包处理电路系统234的内部缓冲器或存储器中。流入包处理电路系统234可在必要时复制数据包的部分以传输到流出包处理电路系统236。
在一或多个实施方案中,控制平面204、数据平面206、附属逻辑208、本地用户界面210、流入包处理电路系统234、交换机218、流出包处理电路系统236、PHY层222中的一或多者或者上述各项的一或多个部分可以软件(例如,子例程及码)实施,可以硬件(例如,特殊应用集成电路(ASIC)、现场可编程门阵列(FPGA)、可编程逻辑装置(PLD)、控制器、状态机、门控逻辑、离散硬件组件或任何其它适合的装置)实施,及/或以软件与硬件的组合来实施。
本技术使用FSL子系统提供数据平面灵活性,其中终端用户可在业务期间灵活地修改交换决策行为以适应终端用户的需要。举例来说,FSL子系统具备以线路速率进行剖析(profiling)及处理的能力。线路速率能力使得能够在每一循环中执行交换决策逻辑。举例来说,在第一循环内,在FSL实例中执行需要特定决策行为(例如,虚拟可扩展局域网(VXLAN))的一个包。在下一循环中,可在同一FSL实例中执行需要另一特定决策行为(例如,MPLS)另一包。确切来说,互连网格、处理单元及处理单元的布置允许终端用户以目标速度(例如,以线路速率)对交换决策行为进行编程。
图3图解说明根据本技术的一或多个实施方案的灵活交换逻辑管道架构300的实例的框图。可能并不需要所描绘的所有组件,然而,一或多个实施方案可包含图中未展示的额外组件。可在不背离本文中所陈述的权利要求书的精神或范围的情况下对组件的布置及类型做出变化。可提供额外组件、不同的组件或更少的组件。
如图3中所描绘,灵活交换逻辑管道架构300中的FSL块的多个实例用于在可编程管道中执行处理。FSL子系统包含两个主要组件:1)处理层级、及2)全灵活互连网格。可将灵活交换逻辑管道架构300实施在流入包处理电路系统234及/或流出包处理电路系统236中。举例来说,FSL块散布在流入包处理电路系统234及流出包处理电路系统236中的多个点上。
在一些方面中,在执行一群组表查找(例如调适及转发表查找)之后进行FSL处理。在一些方面中,可编程管道中的每一FSL实例可基于可编程管道的特定级所需的处理量及处理类型而具有不同的硬件配置参数。
FSL子系统包含多个处理层级类型。如图3中所描绘,FSL子系统包含(例如)5种类型的处理层级。处理层级中的每一者可包含:1)特殊指令处理单元(PU)及2)具体的PU布置。PU可与自定义指令集相关联。PU被布置成特定布局以执行所期望的交换决策行为。在操作中,互连网格、PU及特定布置的能力允许FSL子系统以目标数据速率(例如,12.8Tbps或更大)操作。
FSL是可编程的管道组件,其基于用户定义程序对管道信号执行处理。举例来说,FSL接收对象数据及命令控制作为输入,且FSL在同一总线上写回。在一些方面中,对象数据约512位宽且命令控制约256位宽,然而,总线的宽度是任意的且可根据实施方案而变化。
FSL实例形成在多个处理层级内。在一些实施方案中,术语“层级”是逻辑片块,其接受1或2个时钟且专用于具体目的。每一FSL实例具有以下处理层级,从输入到输出布置成:1)一个输入层级(例如,310);2)0或多个控制层级(例如,330);3)0或多个数据层级(例如,340);及4)一个输出层级(例如,320)。在一些实施方案中,FSL实例包含双处理层级(例如,控制层级与数据层级的组合)。此外出于阐释目的,在本文中将FSL实例的块描述为串联地或线性地出现。然而,FSL实例的块不必布置成所展示的次序,及/或不必包含FSL实例的块中的一或多者。
输入层级310用作输入多路复用器,其增添从主管道总线(例如,控制总线354、数据总线352)去往后续处理层级的数据及控制总线。输入层级310具有逻辑电路系统,所述逻辑电路系统根据实施方案而由1个时钟或2个时钟控制。控制层级330经配置以在控制总线上产生新控制信息。每一控制层级(例如,330-1、330-2、330-3、330-4、330-5、330-6)具有由1个时钟控制的逻辑电路系统。数据层级(例如,340)经配置以在数据总线352上产生新数据信息。每一数据层级(例如,340-1、340-2)具有由1个时钟控制的逻辑电路系统。输出层级320用作输出多路复用器,其将所产生的FSL数据增添到主管道总线(例如,控制总线354、数据总线352)中。输出层级具有由1个时钟控制的逻辑电路系统。双层级(未展示)经配置以利用控制层级部分在控制总线上产生控制信息且利用数据层级部分在数据总线上产生新数据信息,根据一个实施方案,所述控制信息及新数据信息可彼此同时地或彼此相继地被产生。
在一些实施方案中,每一处理层级包含控制其操作的配置文件信号350,所述处理层级由编译器编程。举例来说,配置文件信号350是配置文件表(或数据结构)的指针,所述配置文件表用于通过针对交换决策逻辑设置配置文件数据结构的值且选择FSL实例的处理层级之间的特定互连来对每一处理层级的交换决策逻辑进行编程。如此一来,经编程交换决策逻辑产生所期望的交换决策行为(例如,VXLAN、MPLS等)。在一些方面中,所有的配置文件表具有相同的深度,其中相同的策略指针经由配置文件信号350被管道传输且馈送到所有的配置文件表。配置文件信号350可由数据结构(例如,逻辑表选择)驱动,从而仅将第一输入层级配置文件指针(例如,配置文件信号350)作为其策略输出。
图3中所描绘的灵活交换逻辑管道架构300含有6个控制层级及2个数据层级。在某一实例中,数据总线352是512位宽且在8位粒度下操作。在其它实例中,控制总线是256位宽且在1位粒度下操作。处理层级的数目及排序以及总线宽度根据实施方案而每一实例可有所不同。
数据总线及控制总线两者被划分成主总线及传递总线。主总线由对应的处理层级直接增添且重写,而传递总线在下一级被有条件地更新。全部总线(例如,包含数据总线及控制总线两者)可供对应的块消耗之用。
在一些实施方案中,管道输入/输出信号皆不发生跳变(例如,由时钟循环控制)。在一些方面中,在个别管道块之外对管道信号执行跳变以移除可编程管道内的跳变冗余。
图4图解说明根据本技术的一或多个实施方案的输入层级310的实例性架构的框图。可能并不需要所描绘的所有组件,然而,一或多个实施方案可包含图中未展示的额外组件。可在不背离本文中所陈述的权利要求书的精神或范围的情况下对组件的布置及类型做出变化。可提供额外组件、不同的组件或更少的组件。
输入层级310包含多路复用器402、404及412;寄存器406-1、406-2、414-1及414-2;逻辑电路系统408及410。寄存器406-1耦合到多路复用器402的输出以寄存数据总线352上的输入数据信号。寄存器406-2耦合到多路复用器404的输出以寄存控制总线354上的输入控制信号。寄存器406-1及406-2经配置以接受1个时钟及输入层级310的第一级的一部分,且寄存器414-1及414-2经配置以接受1个时钟及输入层级310的第二级的一部分。在一些实施方案中寄存器(例如,406-1、406-2、414-1、414-2)所接收到的时钟可以是相同的,或在其它实施方案中可以是不同的。在一些实施方案中,输入层级310不包含包括寄存器414-1、414-2的第二级,且因此在此实例中输入层级310可接受1个时钟。
输入层级310从主管道总线增添初始数据总线352及控制总线354。举例来说,在输入层级中选择打算在FSL实例中的任何位置处理的任何信号。对于数据信号来说,所述信号是在预定义宽度粒度(例如,8位粒度)下被选定。在一些方面中,连续的数据信号组块是级联的且由逻辑电路系统408右移。移位结果被遮蔽,且选择预定数目个低有效位。然后,逻辑电路系统410所产生的恒定的库值对选定LSB位进行多路复用。对于控制信号来说,所述信号是在预定宽度粒度下被选定。
图5图解说明根据本技术的一或多个实施方案的输出层级320的实例性架构的框图。可能并不需要所描绘的所有组件,然而,一或多个实施方案可包含图中未展示的额外组件。可在不背离本文中所陈述的权利要求书的精神或范围的情况下对组件的布置及类型做出变化。可提供额外组件、不同的组件或更少的组件。
输出层级320包含多路复用器506、508-1、508-2、508-3、508-4、512及514;及丢弃表电路510。多路复用器506在数据总线352上接收输入数据信号,且多路复用器508-1、508-2、508-3、508-4在控制总线354上接收相同的输入控制信号。多路复用器512耦合到多路复用器506的输出以在管道数据总线502上多路复用其具有输入数据信号的输出。多路复用器514耦合到多路复用器508-1的输出以在管道控制总线504上多路复用其具有输入控制信号的输出。
输出层级320将管道数据总线522上的最终所处理数据信号、管道控制总线524-1上的最终所处理控制信号及附加总线(例如,管道丢弃总线524-2、管道跟踪总线524-3及管道计数总线524-4)上的所处理信号(例如,丢弃、跟踪、计数)增添到主管道总线。对于数据信号来说,所述信号是在预定义宽度粒度(例如,8位粒度)下被选定。在一些方面中,将选定结果右移。然后,移位结果与输入层级数据信号一起被多路复用。
在一些实施方案中,对于丢弃信号来说,丢弃表触发在预定宽度粒度下被选定且被驱动到管道丢弃总线524-2。在一些实施方案中,对于跟踪信号来说,信号在预定宽度粒度下被选定且驱动到管道跟踪总线524-3。在一些实施方案中,对于计数信号来说,信号在预定宽度粒度下被选定且驱动到管道计数总线524-3。在一些实施方案中,对于控制信号来说,信号在预定宽度粒度下被选定且驱动到管道控制总线524-1。在一些方面中,预定宽度对于丢弃信号、跟踪信号、计数信号及控制信号来说皆相同。在其它方面中,预定宽度对于丢弃信号、跟踪信号、计数信号及控制信号来说是不同的。在一些实例中,预定宽度是一个位,但预定宽度是任意的且可根据实施方案而变化。
在一些实施方案中,输出层级320包含额外多路复用器,所述额外多路复用器在数据总线352及控制总线354共用多个容器时选择某一容器来更新总线。针对FSL可更新的每一总线(例如,控制总线、数据总线),产生更新位图,其中FSL所更新的每一容器被静态地驱动到逻辑状态(例如,‘1’),使得外部总线更新式多路复用器在适用情况下选择FSL数据。在一些方面中,更新位图在适用情况下也区分于容器的控制更新与数据更新。
丢弃表电路510耦合到多路复用器508-2的输出。在一些实施方案中,丢弃表电路510是逻辑电路系统,其产生含有丢弃码及丢弃强度的表。FSL可跨越其所有配置文件(例如,350)支持预定数目次丢弃触发。硬件电路系统可经配置以针对总线选择具有最高索引及更新的经触发丢弃表条目。基于软件的逻辑电路系统可对丢弃表条目进行编程,使得可触发较高索引值具有较高的丢弃强度。在实例中,使输出总线上的第一丢弃码字段与选定丢弃码相同。在一些实施方案中,外部丢弃解决方案逻辑电路对管道丢弃总线524-2与现有管道丢弃状态进行比较并更新管道丢弃总线524-2。
图6图解说明根据本技术的一或多个实施方案的控制层级330的实例性架构的框图。可能并不需要所描绘的所有组件,然而,一或多个实施方案可包含图中未展示的额外组件。可在不背离本文中所陈述的权利要求书的精神或范围的情况下对组件的布置及类型做出变化。可提供额外组件、不同的组件或更少的组件。
控制层级330增添穿过FSL的控制总线。控制层级330包含多路复用器612-1、612-2、614、622-1、622-2、624-1、624-2;寄存器626-1、626-2;及逻辑电路系统630。寄存器626-1耦合到多路复用器622-1的输出以寄存数据总线352上的输出数据信号。寄存器626-2耦合到多路复用器624-1的输出以寄存输出控制总线354上的控制信号。寄存器626-1及626-2经配置以接受1个时钟。在一些方面中,控制层级330包含前端分段610及后端分段620。前端分段610包含多路复用器612-1、612-2及614以及逻辑电路系统630。后端分段620包含多路复用器622-1、622-2、624-1、624-2以及寄存器626-1、626-2。
逻辑电路系统630包含CAPU单元格632(“CAPU空间”)及CSPU单元(“CSPU空间”)634-1、634-2、634-3、634-4。逻辑电路系统630耦合到多路复用器612-2及614的输出。确切来说,CAPU空间632从多路复用器612-2接收输出,且CSPU空间从多路复用器614接收相同的输出。在一些实施方案中,CAPU单元格(例如,632)用于控制算术处理及宽布尔处理。CAPU单元格632可包含无等待时间的查找表。在一些实施方案中,CSPU单元格(例如,634-1、634-2、634-3、634-4)用于布尔处理。
图7图解说明根据本技术的一或多个实施方案的数据层级340的实例性架构的框图。可能并不需要所描绘的所有组件,然而,一或多个实施方案可包含图中未展示的额外组件。可在不背离本文中所陈述的权利要求书的精神或范围的情况下对组件的布置及类型做出变化。可提供额外组件、不同的组件或更少的组件。
数据层级340增添穿过FSL的数据总线352。数据层级340包含多路复用器712、714、722-1、722-2、724-1、724-2;寄存器726-1、726-2;及逻辑电路系统730。与图6的控制层级330一样,数据层级340包含前端分段710及后端分段720。前端分段710包含多路复用器712及714以及逻辑电路系统730。后端分段720对应于后端分段620,其中后端分段720包含分别与多路复用器622-1、622-2、624-1、624-2对应的多路复用器722-1、722-2、724-1、724-2;以及分别与寄存器626-1、626-2对应的寄存器726-1、726-2。寄存器726-1耦合到多路复用器722-1的输出以寄存数据总线352上的输出数据信号。寄存器726-2耦合到多路复用器724-1的输出以寄存控制总线354上的输出控制信号。寄存器726-1及726-2经配置以接受1个时钟。
逻辑电路系统730包含:DDPU单元格(“DDPU空间”)732-1、732-2;DAPU单元格(“DAPU空间”)734-1、734-2;以及DWPU单元格736-1、736-2。逻辑电路系统730耦合到多路复用器712及714的输出。确切来说,DDPU空间732-1、732-2、DAPU空间734-1、734-2以及DWPU单元格736-1、736-2中的每一者从多路复用器712及714两者接收输出。在一些实施方案中,DAPU单元格(例如,734-1、734-2)主要用于数据算术处理及宽布尔处理。DAPU单元格(例如,734-1、734-2)还存取状态表(未展示),所述状态表可被有条件地处理并更新。在一些实施方案中,DDPU单元格(例如,732-1、732-2)用于具有一些基本的算术功能性的布尔处理。在一些实施方案中,DWPU单元格(例如,736-1、736-2)用于数据多路复用。
图8图解说明根据本技术的一或多个实施方案的双层级800的实例性架构的框图。可能并不需要所描绘的所有组件,然而,一或多个实施方案可包含图中未展示的额外组件。可在不背离本文中所陈述的权利要求书的精神或范围的情况下对组件的布置及类型做出变化。可提供额外组件、不同的组件或更少的组件。
双层级800是控制层级(例如,330)与数据层级(例如,340)的组合。如图8中所描绘,双层级架构包含第一分段801、第二分段802及第三分段803。第一分段801对应于数据层级340的前端分段(例如,710)。第二分段802对应于控制层级330的前端分段(例如,610)。第三分段803对应于控制层级330及数据层级340的后端区段(例如,620,720)。
在一或多个实施方案中,输入层级310、输出层级320、控制层级330、数据层级340、丢弃表510、控制层级处理单元电路630、数据层级处理单元电路730中的一或多者或者上述各项的一或多个部分可被实施为软件(例如,子例程及码),可被实施为硬件(例如,特殊应用集成电路(ASIC)、现场可编程门阵列(FPGA)、可编程逻辑装置(PLD)、控制器、状态机、门控逻辑、离散硬件组件或任何其它适合的装置)及/或被实施为软件与硬件两者的组合。
图9图解说明根据本技术的一或多个实施方案的在具有灵活交换逻辑的网络装置中执行交换决策行为的过程900。此外出于阐释目的,本文中将顺序过程900的方框描述为串行地发生或线性地发生。然而,过程900的多个方框可并行地发生。另外,无需按照所展示的次序执行过程900的方框,及/或无需执行过程900的方框中的一或多者。
过程900开始于步骤901处,在步骤901处,接收与特定业务流相关联的第一包以供进行包处理。接下来,在步骤902处,由处理器基于所接收到的配置文件信号选择可编程管道的处理层级来在特定业务流的第一循环中产生交换决策行为,所述配置文件信号指示第一包所需的处理类型。随后,在步骤903处,由处理器使用可编程管道的选定处理层级来对第一包执行包处理。
图10概念性地图解说明可实施本技术的一或多个实施方案的电子系统1000。电子系统1000例如可以是网络装置、媒体转换器、桌上型计算机、膝上型计算机计算机、平板计算机、服务器、交换机、路由器、基站、接收器、电话、或总体来说经由网络传输信号的任何电子装置。此电子系统1000包含各种类型的计算机可读媒体及用于各种其它类型的计算机可读媒体的接口。在一或多个实施方案中,电子系统1000是或包含电子装置104A到104E中的一或多者。电子系统1000包含总线1008、一或多个处理单元1012、系统存储器1004、只读存储器(ROM)1010、永久存储装置1002、输入装置接口1014、输出装置接口1006及网络接口1016,或者上述各项的子组及变化形式。
总线1008总体地表示通信地连接电子系统1000的众多内部装置的所有的系统总线、外围总线及芯片组总线。在一或多个实施方案中,总线1008通信连接一或多个处理单元1012与ROM 1010、系统存储器1004及永久存储装置1002。一或多个处理单元1012从这些各种存储器单元检索待执行的指令及待处理的数据以执行本发明的过程。在不同的实施方案中,一或多个处理单元1012可以是处理器或多核心处理器。
ROM 1010存储电子系统的一或多个处理单元1012及其它模块所需的静态数据及指令。另一方面,永久存储装置1002是读取写入型存储器装置。永久存储装置1002是非易失性存储器单元。其甚至在电子系统1000关闭时仍存储指令及数据。本发明的一或多个实施方案适用大容量存储装置(例如磁性或光盘及其对应的磁盘驱动器)来作为永久存储装置1002。
其它实施方案适用可移除存储装置(例如,软盘、闪存驱动器及其对应的磁盘驱动器)作为永久存储装置1002。与永久存储装置1002一样,系统存储器1004是读取写入型存储器装置。然而,与永久存储装置1002不同,系统存储器1004是易失性读取写入型存储器,例如随机存取存储器。系统存储器1004存储一或多个处理单元1012在运行时所需的指令及数据中的任一者。在一或多个实施方案中,本发明的过程存储在系统存储器1004、永久存储装置1002及/或ROM 1010中。从这些各种存储器单元,一或多个处理单元1012检索待执行的指令及待处理的数据以执行所述一或多个实施方案的过程。
总线1008也连接到输入装置接口1014及输出装置接口1006。输入装置接口1014使得用户能够将信息及选择命令传达到电子系统。与输入装置接口1014搭配使用的输入装置包含(例如)字母数字键盘及点击装置(也称为“光标控制装置”)。输出装置接口1006能够显示(例如)电子系统1000所产生的图像。与输出装置接口1006搭配使用的输出装置包含例如打印机及显示器装置,例如液晶显示器(LCD)、发光二极管(LED)显示器、有机发光二极管(OLED)显示器、柔性显示器、扁平面板显示器、固态显示器、投影仪或用于输出信息发任何其它装置。一或多个实施方案包含用作输入装置及输出装置两者(例如,触摸屏)的装置。在这些实施方案中,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;且可以任何形式接收用户输入,包含声音输入、语音输入或触觉输入。
最后,如图10中所展示,总线1008也通过一或多个网络接口1016将电子系统1000耦合到一或多个网络(未展示)。这样一来,计算机可以是一或多个计算机网络(例如,局域网(“LAN”)、广域网(“WAN”)或内联网或万网之网(例如,因特网)。电子系统1000的任何组价或所有组件可与本发明结合使用。
可使用编码有一或多个指令的有形计算机可读存储媒体(或者一或多种类型的多个有形计算机可读取存储媒体)来部分地或完全地实现本发明范围内的实施方案。有形计算机可读存储媒体本质上还可以是非暂时性的。
计算机可读存储媒体可以是可由一般用途计算装置或特殊用途计算装置(包含能够执行指令的任何处理电子装置及/或处理电路系统)读取、写入或者存取的任何存储媒体。举例来说但不具限制性,计算机可读媒体可包含任何易失性半导体存储器,例如RAM、DRAM、SRAM、T-RAM、Z-RAM及TTRAM。计算机可读媒体还可包含任何非易失性半导体存储器,例如ROM、PROM、EPROM、EEPROM、NVRAM、快闪存储器、nvSRAM、FeRAM、FeTRAM、MRAM、PRAM、CBRAM、SONOS、RRAM、NRAM、赛道型存储器、FJG及千足虫(Millipede)存储器。
此外,计算机可读存储媒体可包含任何非半导体存储器,例如光盘存储装置、磁盘存储装置、磁带、其它磁性存储装置、或能够存储一或多个指令的任何其它媒体。在一些实施方案中,有形计算机可读存储媒体可直接耦合到计算装置,而在其它实施方案中,有形计算机可读存储媒体可间接耦合到计算装置,例如经由一或多个有线连接、一或多个无线连接或其任何组合。
指令可直接执行或者可用于开发可执行指令。举例来说,指令可被视为可执行或不可执行机器码或呈高级语言形式的指令,所述高级语言可经编译以产生可执行或不可执行机器码。此外,指令还可被视为数据或者可包含数据。计算机可执行指令还可被组织成任何格式,包含例程、子例程、程序、数据结构、对象、模块、应用、小应用程序、功能等。所属领域的技术人员应认识到,包含但不限于数目、结构、顺序及指令组织等细节可存在显著变化,而这不会使基础的逻辑、功能、处理及输出发生变化。
虽然以上描述主要是指执行软件的微处理器或多核心处理构器,但一或多个集成电路(例如,特殊应用集成电路(ASIC)或现场可编程门阵列(FPGA))执行一或多个实施方案。在一或多个实施方案中,这些集成电路执行存储在电路自身上的指令。
所属领域的技术人员将了解,本文中所描述的各种说明性块、模块、元件、组件、方法及算法可被实施为电子硬件、计算机软件或这两者的组合。为了图解说明硬件与软件的此可互换性,上文已就其功能性大体描述了各种说明性块、模块、元件、组件、方法及算法。此功能性是实施为硬件还是实施为软件取决于特定应用及施加于总体系统上的设计局限。所属领域的技术人员可针对每一特定应用以各种方式实施所描述的功能性。可以不同方式布置(例如,以不同次序布置或以不同方式分割)各种组件及块,所有这些均不背离本技术的范围。
应理解,所揭示的过程中的块的具体次序或层次是对实例性方法的图解说明。应理解,可基于设计偏好重新布置所述过程中的块的具体次序或层次,或者可执行所说明的所有块。可同时执行所述块中的任一者。在一或多个实施方案中,多任务及并行处理可为有利的。此外,不应将在上文所描述的实施例中的各种系统组件的分离理解为在所有实施例中皆需要此分离,且应理解,通常可将所描述的程序组件及系统一起集成在单个软件产品中或封装到多个软件产品中。
如本申请案的本说明书及任何权利要求中所使用,术语“基站”、“接收器”、“计算机”、“服务器”、“处理器”及“存储器”全部皆指代电子装置或其它技术装置。这些术语不包含人或人的群组。就本说明书来说,术语“显示器”或“显示”意指在电子装置上进行显示。
如本文中所使用,在一系列物项(以术语“及”或者“或”来分隔开所述物项中的任一者)前方的短语“…中的至少一者”,修饰作为一个整体的列表,而非所述列表中的每一成员(例如,每一物项)。短语“…中的至少一者”不需要选择所列举的每一物项中的至少一个者;而是,短语允许包含以下含义:物项中的任一者中的至少一者、及/或物项的任何组合中的至少一者、及/或物项中的每一者中的至少一者。举例来说,短语“A、B及C中的至少一者”或“A、B或C中的至少一者”各自指代仅A、仅B或仅C;A、B及C的任何组合;及/或A、B及C中的每一者中的至少一者。
谓语词“经配置以”、“可操作以”及“经编程以”并不暗示对一对象的任何特定有形或无形修饰,而是旨在可互换使用。在一或多个实施方案中,经配置以监视并控制组件的操作的处理器还可意指经编程以监视并控制所述操作的处理器或可操作以监视并控制所述操作的处理器。同样地,可将经配置以执行代码的处理器理解为经编程以执行代码或可操作以执行代码的处理器。
例如方面、所述方面、另一方面、一些方面、一或多个方面、实施方案、实施方案、另一实施方案、一些实施方案、一或多个实施方案、实施例、所述实施例、另一实施例、一些实施例、一或多个实施例、配置、所述配置、另一配置、一些配置、一或多个配置、本技术、本揭示、本发明、上述各项的其它变化形式等短语是出于方便考虑,并不暗示与这些短语有关的揭示内容对本技术来说必不可少或此揭示内容适用于本技术的所有配置。与这些短语有关的揭示内容可适用于所有配置或者一或多个配置。与这些短语有关的揭示内容可提供一或多个实例。例如一方面或一些方面等短语可指代一或多个方面且反之亦然,且此类似地适用于其它前述短语。
本文中使用“示范性”一词来意指“用作实例、实例或图解说明”。在本文中描述为“示范性”或“实例”的实施例无需理解为比其它实施例为优选或有利的。此外,就在说明或权利要求书中使用术语“包含”、“具有”等来说,此术语旨在是包含性的,此与在“包括”用作权利要求中的过渡词时与对术语“包括”的解释类似。
所属领域的技术人员已知或后来知晓的在本发明通篇描述的各种方面的要素的所有结构及功能等效物明确并入本文中供参考且旨在涵盖在权利要求书内。此外,本文中所揭示的任何内容皆不旨在面向公众,不论所揭示内容是否明确地叙述于权利要求书中。任何权利要求要素将不根据35U.S.C.§112第6项的规定来解释,除非所述要素使用短语“用于…的构件”来明确地叙述,或者在方法权利要求的情形中,所述要素使用短语“用于…的步骤”来叙述。
提供先前描述以使得所属领域的技术人员能够实践本文中所描述的各个方面。所属领域的技术人员将容易明了对这些方面的各种修改,且本文中所界定的通用原理可适用于其它方面。因此,权利要求书并不旨在限制于本文中所展示的方面,而是应被赋予与语言权利要求一致的全范围,其中以单数形式提及的要素并不旨在意指“一个且仅一个”(除非如此具体陈述),而是意指“一或多个”。除非另有具体陈述,否则术语“一些”是指一或多个。男性代词(例如,他的)包含女性及中性性别(例如,她的及它的),且反之亦然。标题及子标题(如果存在)仅为方便起见而使用,并不限制本发明。

Claims (20)

1.一种灵活交换逻辑包处理方法,所述方法包括:
接收与特定业务流相关联的第一包;
由处理器在所述特定业务流的第一循环中通过基于所接收到的配置文件信号选择可编程管道的一或多个处理层级来产生交换决策行为,其中所述所接收到的配置文件信号是用于对所述一或多个处理层级的交换决策逻辑进行编程的配置文件数据结构的指针,其中所述配置文件数据结构指示所述第一包所需的处理类型;及
由所述处理器使用所述可编程管道的所述选定的一或多个处理层级来对所述第一包执行包处理。
2.根据权利要求1所述的方法,其进一步包括:
接收指示所述第一包所需的不同处理类型的第二配置文件信号;及
基于所述所接收到的第二配置文件信号来在实时业务期间修改所述交换决策行为。
3.根据权利要求1所述的方法,其进一步包括:
在多个循环中的每一者中基于在所述多个循环中的相应循环中所接收到的不同的配置文件信号来执行不同的交换决策逻辑。
4.根据权利要求1所述的方法,其进一步包括:
确定在多个循环中的第一循环内所述第一包需要第一包处理类型;及
通过基于所述第一包处理类型选择多个处理层级的第一数据层级或所述多个处理层级的第一控制层级中的一或多者来以目标线路速率来产生第一交换决策行为。
5.根据权利要求4所述的方法,其进一步包括:
接收与所述特定业务流相关联的第二包,所述第二包是在所述第一包之后被接收到;
确定在所述多个循环中的第二循环内所述第二包需要第二包处理类型,所述第二循环在所述第一循环之后;及
通过基于所述第二包处理类型选择所述多个处理层级的第二数据层级或所述多个处理层级的第二控制层级中的一或多者来以所述目标线路速率来产生第二交换决策行为,所述第二交换决策行为不同于所述第一交换决策行为。
6.根据权利要求1所述的方法,其进一步包括:
在将与所述可编程管道相关联的状态表初始化之前,针对多个处理层级的全部对多个交换机配置文件进行写入。
7.根据权利要求6所述的方法,其进一步包括:
在实时业务期间对所述状态表进行写入以记录与所述交换决策行为对应的状态条目。
8.根据权利要求1所述的方法,其进一步包括:
在所述可编程管道的第一处理层级处对灵活交换逻辑电路的第一实例进行编程,以对所述第一包执行第一包处理,其中依据第一组配置参数对所述第一实例进行编程;及
在所述可编程管道的第二处理层级处对所述灵活交换逻辑电路的第二实例进行编程,以对所述第一包执行第二包处理,其中依据与所述第一组配置参数不同的第二组配置参数对所述第二实例进行编程。
9.根据权利要求1所述的方法,其进一步包括:
接收配置文件信号,所述配置文件信号用于控制所述多个处理层级中的每一者的操作;及
将所述配置文件信号驱动到所述多个处理层级中的每一者;及
基于所述配置文件信号在所述多个处理层级中的每一者处以预定义宽度粒度来选择数据信号及控制信号。
10.一种交换装置,其包括:
流入包处理器,其经配置以基于所接收到的配置文件信号使用所述流入包处理器中的第一可编程管道的一或多个处理层级来产生第一交换决策行为,基于所述交换决策行为对第一所接收到的包执行流入包处理,并将所述第一所接收到的包及所述所接收到的配置文件信号传递到流出包处理器;及
所述流出包处理器,其经配置以基于第二交换决策行为对所传递的所述第一所接收到的包执行包动作,所述第二交换决策行为是基于所述所接收到的配置文件信号使用所述流出包处理器中的第二可编程管道的一或多个处理层级而产生,其中所述所接收到的配置文件信号是配置文件数据结构的指针,所述配置文件数据结构用于对所述第一可编程管道及所述第二可编程管道中的所述一或多个处理层级的交换决策逻辑进行编程。
11.根据权利要求10所述的交换装置,其中所述多个处理层级包含输入层级及输出层级,其中所述输入层级用作输入多路复用器,且其中所述输出层级用作输出多路复用器,所述输出多路复用器将所产生的灵活交换逻辑FSL数据增添到多个总线上。
12.根据权利要求11所述的交换装置,其中所述多个处理层级包含一或多个数据层级,所述一或多个数据层级经配置以在所述多个总线中的数据总线上产生所述FSL数据。
13.根据权利要求11所述的交换装置,其中所述多个处理层级包含一或多个控制层级,所述一或多个控制层级经配置以在所述多个总线中的控制总线上产生控制信息。
14.根据权利要求10所述的交换装置,其中所述多个处理层级中的每一者包含特殊指令处理单元及所述特殊指令处理单元的特定布置,其中所述特殊指令处理单元中的一或多者经配置以执行布尔运算及算术运算。
15.根据权利要求14所述的交换装置,其中所述特殊指令处理单元被布置成特定布局以执行所期望的交换决策行为。
16.一种交换系统,其包括:
存储器;以及
一或多个处理器,其耦合到所述存储器且经配置以执行包含数个动作,所述数个动作包含:
指令,其包括:
接收与特定业务流相关联的第一包;
由处理器在所述特定业务流的第一循环中通过基于所接收到的配置文件信号选择可编程管道的一或多个处理层级来产生交换决策行为,其中所述所接收到的配置文件信号是用于对所述一或多个处理层级的交换决策逻辑进行编程的配置文件数据结构的指针,所述配置文件数据结构指示所述第一包所需的处理类型;及
由所述处理器使用所述可编程管道的所述选定的一或多个处理层级来对所述第一包执行包处理。
17.根据权利要求16所述的交换系统,其中所述动作进一步包括:
接收指示所述第一包所需的不同处理类型的第二配置文件信号;及
基于所述所接收到的第二配置文件信号来在实时业务期间修改所述交换决策行为。
18.根据权利要求16所述的交换系统,其中所述动作进一步包括:
在多个循环中的每一者中基于在所述多个循环中的相应循环中所接收到的不同的配置文件信号来执行不同的交换决策逻辑。
19.根据权利要求16所述的交换系统,其中所述动作进一步包括:
确定在多个循环中的第一循环内所述第一包需要第一包处理类型;及
通过基于所述第一包处理类型选择多个处理层级的第一数据层级或所述多个处理层级的第一控制层级中的一或多者来以目标线路速率来产生第一交换决策行为。
20.根据权利要求19所述的交换系统,其中所述动作进一步包括:
接收与所述特定业务流相关联的第二包,所述第二包是在所述第一包之后被接收到;
确定在所述多个循环中的第二循环内所述第二包需要第二包处理类型,所述第二循环在所述第一循环之后;及
通过基于所述第二包处理类型选择所述多个处理层级的第二数据层级或所述多个处理层级的第二控制层级中的一或多者来以所述目标线路速率来产生第二交换决策行为,所述第二交换决策行为不同于所述第一交换决策行为。
CN201910693344.8A 2018-10-19 2019-07-30 灵活交换逻辑包处理方法、交换装置和交换系统 Active CN111083071B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/165,958 US10764211B2 (en) 2018-10-19 2018-10-19 Flexible switch logic
US16/165,958 2018-10-19

Publications (2)

Publication Number Publication Date
CN111083071A CN111083071A (zh) 2020-04-28
CN111083071B true CN111083071B (zh) 2022-07-01

Family

ID=70279840

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910693344.8A Active CN111083071B (zh) 2018-10-19 2019-07-30 灵活交换逻辑包处理方法、交换装置和交换系统

Country Status (3)

Country Link
US (1) US10764211B2 (zh)
CN (1) CN111083071B (zh)
DE (1) DE102019007281A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116016388B (zh) * 2022-12-30 2024-07-02 苏州盛科通信股份有限公司 报文串行编辑方法、装置、电子设备及存储介质
CN118614140A (zh) * 2023-01-06 2024-09-06 哲库科技(上海)有限公司 用于动态调整数据面层2时钟频率或电压的装置及方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1336061A (zh) * 1999-01-05 2002-02-13 诺基亚网络有限公司 在分组无线网络中传送服务质量映射信息
CN1679295A (zh) * 2002-08-23 2005-10-05 皇家飞利浦电子股份有限公司 基于硬件的分组过滤加速器
CN103081430A (zh) * 2010-08-26 2013-05-01 万特里克斯公司 用于过滤流数据的方法和装置
CN104008130A (zh) * 2014-04-28 2014-08-27 开网科技(北京)有限公司 一种基于混合计算硬件的网络报文分类系统和方法
CN104641607A (zh) * 2012-09-18 2015-05-20 思科技术公司 超低延迟多协议网络设备
CN106961445A (zh) * 2017-04-28 2017-07-18 中国人民解放军信息工程大学 基于fpga硬件并行流水线的报文解析方法及其装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2567558T3 (es) * 2009-04-02 2016-04-25 Telefonaktiebolaget L M Ericsson (Publ) Técnicas para gestionar tráfico de red
IL210169A0 (en) * 2010-12-22 2011-03-31 Yehuda Binder System and method for routing-based internet security
US9184995B2 (en) * 2012-04-11 2015-11-10 Gigamon Inc. Traffic visibility in an open networking environment
US10326682B2 (en) * 2015-01-29 2019-06-18 Hewlett Packard Enterprise Development Lp Intermediary network element for tap traffic
US10567259B2 (en) * 2016-10-19 2020-02-18 Extreme Networks, Inc. Smart filter generator
US10333898B1 (en) * 2018-07-09 2019-06-25 Centripetal Networks, Inc. Methods and systems for efficient network protection

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1336061A (zh) * 1999-01-05 2002-02-13 诺基亚网络有限公司 在分组无线网络中传送服务质量映射信息
CN1679295A (zh) * 2002-08-23 2005-10-05 皇家飞利浦电子股份有限公司 基于硬件的分组过滤加速器
CN103081430A (zh) * 2010-08-26 2013-05-01 万特里克斯公司 用于过滤流数据的方法和装置
CN104641607A (zh) * 2012-09-18 2015-05-20 思科技术公司 超低延迟多协议网络设备
CN104008130A (zh) * 2014-04-28 2014-08-27 开网科技(北京)有限公司 一种基于混合计算硬件的网络报文分类系统和方法
CN106961445A (zh) * 2017-04-28 2017-07-18 中国人民解放军信息工程大学 基于fpga硬件并行流水线的报文解析方法及其装置

Also Published As

Publication number Publication date
US20200127942A1 (en) 2020-04-23
CN111083071A (zh) 2020-04-28
US10764211B2 (en) 2020-09-01
DE102019007281A1 (de) 2020-04-23

Similar Documents

Publication Publication Date Title
US9860197B2 (en) Automatic buffer sizing for optimal network-on-chip design
US9712442B2 (en) Efficient memory bandwidth utilization in a network device
US20140098816A1 (en) Multicast switching for distributed devices
CN111083071B (zh) 灵活交换逻辑包处理方法、交换装置和交换系统
US20150117455A1 (en) Scalable and predictive packet processing
US9602568B2 (en) Adaptive audio video (AV) stream processing
US20070198991A1 (en) Microcontrol architecture for a system on a chip (SoC)
CN102037453A (zh) 具有任意处理功能的中央dma
US11683251B2 (en) Technologies for jitter-adaptive low-latency, low power data streaming between device components
CN103260052A (zh) 自适应显示流
CN105474300A (zh) 显示器接口分区
US10404624B2 (en) Lossless switching of traffic in a network device
US9722810B2 (en) Computer-based flow synchronization for efficient multicast forwarding for products and services
US20170228335A1 (en) Scalable low-latency mesh interconnect for switch chips
US20150067108A1 (en) Data rate control of individual data streams in a network device
US9712867B2 (en) Application specific policy implementation and stream attribute modification in audio video (AV) media
US20150063367A1 (en) Providing oversubscription of pipeline bandwidth
CN101529381B (zh) 用于面向对象的硬件的系统和方法
US9838729B2 (en) Recovering channel bonded program streams
US11558289B2 (en) Hyperscalar packet processing
US10579428B2 (en) Data token management in distributed arbitration systems
CN115297343A (zh) 视频数据发送方法、装置及电子设备
CN117097457B (zh) 一种数据处理系统、方法、设备及介质
CN117112479A (zh) 显示数据传输方法和电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant