Apparatus and method for processing alternately configured longest prefix match tables

    公开(公告)号:US09729447B2

    公开(公告)日:2017-08-08

    申请号:US15140424

    申请日:2016-04-27

    申请人: Xpliant, Inc.

    摘要: A network switch includes a memory configurable to store alternate table representations of an individual trie in a hierarchy of tries. A prefix table processor accesses in parallel, using an input network address, the alternate table representations of the individual trie and searches for a longest prefix match in each alternate table representation to obtain local prefix matches. The longest prefix match from the local prefix matches is selected. The longest prefix match has an associated next hop index base address and offset value. A next hop index processor accesses a next hop index table in the memory utilizing the next hop index base address and offset value to obtain a next hop table pointer. A next hop processor accesses a next hop table in the memory using the next hop table pointer to obtain a destination network address.

    PACKET PROCESSING SYSTEM, METHOD AND DEVICE UTILIZING A PORT CLIENT CHAIN
    2.
    发明申请
    PACKET PROCESSING SYSTEM, METHOD AND DEVICE UTILIZING A PORT CLIENT CHAIN 有权
    分组处理系统,使用端口客户端链的方法和设备

    公开(公告)号:US20160292091A1

    公开(公告)日:2016-10-06

    申请号:US14673828

    申请日:2015-03-30

    申请人: XPLIANT, Inc.

    IPC分类号: G06F13/16 G06F13/40

    摘要: A packet processing system having each of a plurality of hierarchical clients and a packet memory arbiter serially communicatively coupled together via a plurality of primary interfaces thereby forming a unidirectional client chain. This chain is then able to be utilized by all of the hierarchical clients to write the packet data to or read the packet data from the packet memory.

    摘要翻译: 具有多个分级客户机中的每一个的分组处理系统和经由多个主接口串行通信地耦合在一起的分组存储器仲裁器,从而形成单向客户端链。 然后,该链可以被所有层级客户端利用来将分组数据写入或从分组存储器读取分组数据。

    System for and method of placing clock stations using variable drive-strength clock drivers built out of a smaller subset of base cells for hybrid tree-mesh clock distribution networks
    3.
    发明授权
    System for and method of placing clock stations using variable drive-strength clock drivers built out of a smaller subset of base cells for hybrid tree-mesh clock distribution networks 有权
    使用可变驱动强度时钟驱动器构建时钟站的系统和方法,其由用于混合树网格时钟分配网络的较小子集的子单元构建

    公开(公告)号:US09443053B2

    公开(公告)日:2016-09-13

    申请号:US14141096

    申请日:2013-12-26

    申请人: XPLIANT, Inc.

    IPC分类号: G06F17/50

    摘要: Clock stations in a hybrid tree-mesh clock distribution network are placed and routed using placement information embedded in instance names of the macrocells that form the clock-distribution network. The instance name includes (X,Y) coordinate information corresponding to placement of the macrocell in the physical layout of the network design. Base cells in each macrocell are placed in a known deterministic arrangement, such as one on top of another in a layout of the clock distribution network, all at the same (X,Y) offset. Preferably, the base cells are all from a standard-cell library, thereby reducing design cost and debug.

    摘要翻译: 混合树网时钟分配网络中的时钟站使用嵌入在构成时钟分配网络的宏小区的实例名称中的放置信息进行放置和路由。 实例名称包括对应于宏小区在网络设计的物理布局中的放置的(X,Y)坐标信息。 每个宏单元中的基本单元以已知的确定性排列方式放置,例如在时钟分配网络的布局中的另一个,全部处于相同的(X,Y)偏移。 优选地,基本单元都来自标准单元库,从而降低了设计成本和调试。

    ALGORITHM TO ACHIEVE OPTIMAL LAYOUT OF INSTRUCTION TABLES FOR PROGRAMMABLE NETWORK DEVICES
    4.
    发明申请
    ALGORITHM TO ACHIEVE OPTIMAL LAYOUT OF INSTRUCTION TABLES FOR PROGRAMMABLE NETWORK DEVICES 有权
    实现可编程网络设备指令表的最佳布局的算法

    公开(公告)号:US20160139898A1

    公开(公告)日:2016-05-19

    申请号:US14675696

    申请日:2015-03-31

    申请人: XPLIANT, Inc

    IPC分类号: G06F9/45 G06F9/44

    摘要: A processing network including a plurality of lookup and decision engines (LDEs) each having one or more configuration registers and a plurality of on-chip routers forming a matrix for routing the data between the LDEs, wherein each of the on-chip routers is communicatively coupled with one or more of the LDEs. The processing network further including an LDE compiler stored on a memory and communicatively coupled with each of the LDEs, wherein the LDE compiler is configured to generate values based on input source code that when programmed into the configuration registers of the LDEs cause the LDEs to implement the functionality defined by the input source code.

    摘要翻译: 一种包括多个查找和决策引擎(LDE)的处理网络,每个查找和决策引擎(LDE)具有一个或多个配置寄存器和多个片上路由器,所述多个片上路由器形成用于在LDE之间路由数据的矩阵,其中每个片上路由器是可通信的 加上一个或多个LDE。 处理网络还包括存储在存储器中并与每个LDE通信耦合的LDE编译器,其中,LDE编译器被配置为基于输入源代码生成值,当编程到LDE的配置寄存器中时,使LDE实现 由输入源代码定义的功能。

    METHOD OF IDENTIFYING INTERNAL DESTINATIONS OF NETWORK PACKETS AND AN APPARATUS THEREOF
    7.
    发明申请
    METHOD OF IDENTIFYING INTERNAL DESTINATIONS OF NETWORK PACKETS AND AN APPARATUS THEREOF 有权
    识别网络分组的内部目的地的方法及其装置

    公开(公告)号:US20150373166A1

    公开(公告)日:2015-12-24

    申请号:US14309802

    申请日:2014-06-19

    申请人: XPLIANT, Inc.

    IPC分类号: H04L29/06 H04L12/741

    摘要: Embodiments of the apparatus of identifying internal destinations of network packets relate to a network chip that allows flexibility in handling packets. The handling of packets can be a function of what the packet contents are or where the packets are from. The handling of packets can also be a function of both what the packet contents are and where the packets are from. In some embodiments, where the packets are from refers to unique port numbers of chip ports that the packets arrived at. The packets can be distributed for processing within the network chip.

    摘要翻译: 识别网络分组的内部目的地的装置的实施例涉及允许处理分组的灵活性的网络芯片。 分组的处理可以是分组内容是什么或分组来自哪里的功能。 分组的处理也可以是分组内容和分组来自哪里的功能。 在一些实施例中,分组来自的是指分组到达的芯片端口的唯一端口号。 分组可以分布在网络芯片内进行处理。

    APPARATUS AND METHOD OF GENERATING LOOKUPS AND MAKING DECISIONS FOR PACKET MODIFYING AND FORWARDING IN A SOFTWARE-DEFINED NETWORK ENGINE
    9.
    发明申请
    APPARATUS AND METHOD OF GENERATING LOOKUPS AND MAKING DECISIONS FOR PACKET MODIFYING AND FORWARDING IN A SOFTWARE-DEFINED NETWORK ENGINE 有权
    在软件定义的网络引擎中生成查询和制作分组修改和转发决策的装置和方法

    公开(公告)号:US20150186516A1

    公开(公告)日:2015-07-02

    申请号:US14144270

    申请日:2013-12-30

    申请人: XPLIANT, INC.

    IPC分类号: G06F17/30

    摘要: Embodiments of the present invention relate to a Lookup and Decision Engine (LDE) for generating lookup keys for input tokens and modifying the input tokens based on contents of lookup results. The input tokens are parsed from network packet headers by a Parser, and the tokens are then modified by the LDE. The modified tokens guide how corresponding network packets will be modified or forwarded by other components in a software-defined networking (SDN) system. The design of the LDE is highly flexible and protocol independent. Conditions and rules for generating lookup keys and for modifying tokens are fully programmable such that the LDE can perform a wide variety of reconfigurable network features and protocols in the SDN system.

    摘要翻译: 本发明的实施例涉及一种用于生成用于输入令牌的查找密钥并基于查找结果的内容修改输入令牌的查找和决策引擎(LDE)。 输入令牌由解析器从网络数据包头解析,令牌由LDE修改。 修改的令牌指导如何在软件定义网络(SDN)系统中由其他组件修改或转发相应的网络数据包。 LDE的设计非常灵活,与协议无关。 用于生成查找键和修改令牌的条件和规则是完全可编程的,使得LDE可以在SDN系统中执行各种可重新配置的网络特征和协议。

    PACKET MEMORY SYSTEM, METHOD AND DEVICE FOR PREVENTING UNDERRUN
    10.
    发明申请
    PACKET MEMORY SYSTEM, METHOD AND DEVICE FOR PREVENTING UNDERRUN 有权
    PACKET MEMORY SYSTEM,METHOD AND DEVICE FOR PREVENTING UNDERRUN

    公开(公告)号:US20160294729A1

    公开(公告)日:2016-10-06

    申请号:US14673807

    申请日:2015-03-30

    申请人: XPLIANT, Inc.

    发明人: Enrique Musoll

    摘要: A packet memory system for selectively outputting received packets on one or more output ports. The packet memory system including a controller for controlling the output ports. Specifically, for packets of multicast or broadcast traffic that needs to be output from a plurality of the ports, the controller designates one or more reader ports that read the packet data from a packet memory such that the remainder of the ports are able to simply listen for the read packet data without performing a read operation.

    摘要翻译: 一种分组存储器系统,用于在一个或多个输出端口上选择性地输出接收的分组。 分组存储器系统包括用于控制输出端口的控制器。 具体来说,对于需要从多个端口输出的组播或广播流量的分组,控制器指定从分组存储器读取分组数据的一个或多个读取器端口,使得其余端口能够简单地听 对于读取的分组数据而不执行读取操作。