Robust NP-based data forwarding techniques that tolerate failure of control-based applications

    公开(公告)号:US07003582B2

    公开(公告)日:2006-02-21

    申请号:US09885782

    申请日:2001-06-20

    IPC分类号: G06F15/173

    CPC分类号: H04L45/02

    摘要: In a network environment including one or more network processing (NP) devices implementing for communicating packets, each NP device supporting a forwarding table comprising entries to enable forwarding of received data packets from a source device to a destination device according to a routing protocol via a network connection, the network device routing receiving updated forwarding table entries from one or more network control devices executing routing protocol applications, a system and method for updating forwarding table entries comprises: generating for each forwarding table entry update, a data structure indicating identification of the routing protocol application and a version of a particular routing protocol application instance generating the entry update, the data structure received by the forwarding table and incorporated within a respective forwarding table entry; identifying for deletion forwarding table entries having data structures matching a designated selection criteria; and, deleting the designated forwarding table entries. By doing this old forwarding table entries in the forwarding table are updated efficiently without disrupting packet forwarding process.

    Minimizing memory accesses for a network implementing differential services over multi-protocol label switching
    32.
    发明授权
    Minimizing memory accesses for a network implementing differential services over multi-protocol label switching 失效
    最小化通过多协议标签交换实现差分服务的网络的存储器访问

    公开(公告)号:US07304991B2

    公开(公告)日:2007-12-04

    申请号:US10174390

    申请日:2002-06-18

    IPC分类号: H04L12/28

    摘要: A method, system and computer program product for translating a type of service field of one protocol into multiple protocols. An ingress router in a DIFFerentiated SERVices network (Diffserv over MPLS network) may determine a type of quality of service, e.g., forward IP packet using best effort. A value referred to as a Per Hope Behavior (PHB) value may be generated based on the identified type of quality of service. The PHB value may be used to index into a table comprising a row of entries with different quality of service values, e.g., DSCP value, EXP value, corresponding to a particular PHB value. Consequently, the PHB value may be used to perform a single memory access to determine the quality of service values for a plurality of protocols where the quality of service values corresponds to the identified type of quality of service.

    摘要翻译: 一种方法,系统和计算机程序产品,用于将一种协议的服务领域的类型转换为多种协议。 DIFFerentiated SERVices网络中的入侵路由器(MPLS网络上的Diffserv)可以使用最大的努力来确定服务质量的类型,例如转发IP分组。 可以基于所识别的服务质量类型来生成被称为希望行为(PHB)值的值。 PHB值可以用于索引到包括具有不同服务质量值的条目行的表,例如对应于特定PHB值的DSCP值,EXP值。 因此,PHB值可用于执行单个存储器访问以确定多个协议的服务质量值,其中服务质量值对应于所识别的服务质量类型。

    Logically grouping physical ports into logical interfaces to expand bandwidth
    33.
    发明授权
    Logically grouping physical ports into logical interfaces to expand bandwidth 失效
    将物理端口逻辑分组为逻辑接口以扩展带宽

    公开(公告)号:US07280527B2

    公开(公告)日:2007-10-09

    申请号:US10144075

    申请日:2002-05-13

    IPC分类号: H04L12/28

    CPC分类号: H04L45/54 H04L45/00 H04L45/24

    摘要: A method, system and computer program product for routing packets. A network device, e.g., router, may comprise a switch fabric coupled to a plurality of blades where each blade may comprise one or more network processors coupled to one or more physical ports. The physical ports may be connected to another one or more network devices. A plurality of physical ports across one or more blades connected to the same network device may be logically mapped into a logical interface to that network device. By logically grouping a plurality of physical ports into a logical interface to a network device, a network processor may be able to transmit packets of data to that network device across multiple ports instead of one physical port.

    摘要翻译: 用于路由数据包的方法,系统和计算机程序产品。 网络设备(例如,路由器)可以包括耦合到多个叶片的交换结构,其中每个叶片可以包括耦合到一个或多个物理端口的一个或多个网络处理器。 物理端口可以连接到另一个或多个网络设备。 连接到同一网络设备的一个或多个刀片上的多个物理端口可以逻辑地映​​射到该网络设备的逻辑接口中。 通过将多个物理端口逻辑地分组成到网络设备的逻辑接口,网络处理器可能能够跨多个端口而不是一个物理端口向该网络设备传送数据分组。

    Message formation and distribution in heterogeneous networks
    34.
    发明授权
    Message formation and distribution in heterogeneous networks 有权
    异构网络中的消息形成和分发

    公开(公告)号:US07826445B2

    公开(公告)日:2010-11-02

    申请号:US10387847

    申请日:2003-03-13

    IPC分类号: H04Q11/00

    CPC分类号: G06F9/546

    摘要: A system and method is disclosed for communicating with a plurality of network processors, one or more of the processors having a different operating environment, includes receiving an application programming interface (API) call from a user application, the API call including a call address identifying one or more of the network processors; and accessing a memory that identifies an appropriate form for the API call for each operating environment implemented by each network processor identified by the call address; and building one or more messages for the network processors identified by the call address, each of the one or more messages including the appropriate form for the API call for the operating environment of each of the network processors to receive any particular message.

    摘要翻译: 公开了一种用于与多个网络处理器进行通信的系统和方法,一个或多个处理器具有不同的操作环境,包括从用户应用接收应用编程接口(API)呼叫,所述API调用包括识别呼叫地址 一个或多个网络处理器; 以及访问为由呼叫地址标识的每个网络处理器实现的每个操作环境的API呼叫标识适当形式的存储器; 以及为由呼叫地址识别的网络处理器构建一个或多个消息,所述一个或多个消息中的每一个包括用于每个所述网络处理器的操作环境的API调用的适当形式以接收任何特定消息。

    Database management apparatuses for transmitting packets
    35.
    发明授权
    Database management apparatuses for transmitting packets 有权
    用于传输数据包的数据库管理装置

    公开(公告)号:US07593386B2

    公开(公告)日:2009-09-22

    申请号:US12015061

    申请日:2008-01-16

    IPC分类号: H04L12/28

    CPC分类号: H04L45/54 H04L12/56

    摘要: A forwarding table, in a network device such as a router, used to forward packets in a communications network includes indicia whose state determine whether information contained in the forwarding table or information contained in the header portion of a packet is to be used to forward the packet to the next hop (i.e. next point in the route).

    摘要翻译: 用于在通信网络中转发分组的诸如路由器的网络设备中的转发表包括其状态确定包含在转发表中的信息或包含在分组的报头部分中的信息将被用于转发 分组到下一跳(即路由中的下一个点)。

    Method and router for forwarding internet data packets
    36.
    发明授权
    Method and router for forwarding internet data packets 有权
    用于转发互联网数据包的方法和路由器

    公开(公告)号:US07260096B2

    公开(公告)日:2007-08-21

    申请号:US10191657

    申请日:2002-07-09

    IPC分类号: H04L12/28

    CPC分类号: H04L45/60 H04L45/00 H04L45/54

    摘要: The Internet data defining destinations accessible by a router are partitioned into a portion containing the address search information and a portion containing forwarding option data. The address search information is stored in fast memory in a tree search format and the set of possible next destinations are stored as forwarding option data in slower memory at addresses derived algorithmically from the tree search address information. Internet data packets are received and data therein is compared to determine the best match address in the fast memory to the set of possible best next destinations. The multiple accesses necessary to determine the best match address are confined to high speed memory. An algorithm receives option data from an Internet packet and option threshold data from the best match address of the high speed memory and determines which address of the slower memory has the desired forwarding data using one access.

    摘要翻译: 定义由路由器可访问的目的地的因特网数据被划分为包含地址搜索信息的部分和包含转发选项数据的部分。 地址搜索信息以树形搜索格式存储在快速存储器中,并且将可能的下一个目的地集合作为转发选项数据存储在来自树搜索地址信息的算法导出的地址的较慢存储器中。 接收互联网数据分组并对其中的数据进行比较,以将快速存储器中的最佳匹配地址确定为可能的最佳下一个目的地的集合。 确定最佳匹配地址所需的多路访问仅限于高速存储器。 算法从互联网数据包接收选项数据,并从高速存储器的最佳匹配地址接收选项阈值数据,并使用一个访问确定较慢内存的哪个地址具有所需的转发数据。

    Eliminating memory corruption when performing tree functions on multiple threads
    37.
    发明授权
    Eliminating memory corruption when performing tree functions on multiple threads 有权
    在多个线程上执行树函数时,消除内存损坏

    公开(公告)号:US07036125B2

    公开(公告)日:2006-04-25

    申请号:US10217529

    申请日:2002-08-13

    IPC分类号: G06F9/46 G06F12/00

    CPC分类号: G06F9/52

    摘要: A method, system and computer program product for eliminating memory corruption when performing multi-threaded tree operations. A network processor may receive a command to perform a tree operation on a tree on one or more of multiple threads. Upon performing the requested tree operation, the network processor may lock one or more resources during a portion of the execution of the requested tree operation using one or more semaphores. A semaphore may refer to a flag used to indicate whether to “lock” or make available the resource associated with the semaphore. Locking may refer to preventing the resource from being available to other threads. Hence, by locking one or more resources during a portion of the tree operation, memory corruption may be eliminated in a multiple thread system while preventing these resources from being used by other threads for a minimal amount of time.

    摘要翻译: 一种用于在执行多线程树操作时消除内存损坏的方法,系统和计算机程序产品。 网络处理器可以在多个线程中的一个或多个上接收在树上执行树操作的命令。 在执行所请求的树操作时,网络处理器可以在使用一个或多个信号量的所请求的树操作的执行的一部分期间锁定一个或多个资源。 信号量可以指用于指示是否“锁定”或提供与信号量相关联的资源的标志。 锁定可能是指防止资源对其他线程可用。 因此,通过在树操作的一部分期间锁定一个或多个资源,可以在多线程系统中消除内存损坏,同时防止这些资源在最短时间内被其他线程使用。

    Preventing at least in part control processors from being overloaded
    38.
    发明授权
    Preventing at least in part control processors from being overloaded 失效
    防止至少部分控制处理器过载

    公开(公告)号:US06973503B2

    公开(公告)日:2005-12-06

    申请号:US10155675

    申请日:2002-05-23

    IPC分类号: H04L12/24 G06F13/00

    CPC分类号: H04L41/0896

    摘要: A method, system and computer program product for preventing at least in part overloading of a control processor. A network device may comprise at least one network processor and at least one control processor. The control processor may be configured to process slow path packets that are redirected from a network processor to the control processor. The control processor may configure control blocks to determine if the bandwidth for the control processor will be exceeded by the network processor transferring another slow path packet to the control processor. If the control block determines that transmitting the slow path packet would exceed the processing capacity of the control processor, then the control block may generate a result indicating for the network processor to discard the received packet. By discarding packets that exceed the processing capacity of the control processor, overloading of the control processor may at least in part be prevented.

    摘要翻译: 一种用于至少部分地防止控制处理器过载的方法,系统和计算机程序产品。 网络设备可以包括至少一个网络处理器和至少一个控制处理器。 控制处理器可以被配置为处理从网络处理器重定向到控制处理器的慢路径分组。 控制处理器可以配置控制块,以确定网络处理器是否将控制处理器的带宽传输到控制处理器的另一慢路径分组。 如果控制块确定发送慢路径分组将超过控制处理器的处理能力,则控制块可以生成指示网络处理器丢弃所接收分组的结果。 通过丢弃超过控制处理器的处理能力的分组,可以至少部分地防止控制处理器的过载。

    Classification support system and method for fragmented IP packets
    39.
    发明授权
    Classification support system and method for fragmented IP packets 失效
    分片支持系统和分片IP分组的方法

    公开(公告)号:US07870278B2

    公开(公告)日:2011-01-11

    申请号:US12118090

    申请日:2008-05-09

    IPC分类号: G06F15/16 G06F7/00 H04L12/50

    摘要: A wire-speed forwarding platform and method for supporting multifield classification of a packet fragmented into a plurality of fragments in the wire-speed forwarding platform, comprising: receiving a fragment of the fragmented packet at the forwarding platform and deriving a key from one or more fields of the received fragment; and performing multifield classification of the received fragment by matching the key to a rule out of a plurality of rules, the rule comprising a plurality of fields including at least one field for specifying whether the received fragment's fragmentation characteristics are to be applied when performing the multifield classification.

    摘要翻译: 一种线速转发平台和方法,用于支持分片到线速转发平台中的多个片段的分组的多帧分类,包括:在转发平台处接收分片分组的片段,并从一个或多个 收到的片段的字段; 以及通过将所述密钥与多个规则中的规则进行匹配来对所接收的片段进行多字段分类,所述规则包括多个字段,所述多个字段包括至少一个字段,用于指定在执行所述多字段时是否应用所接收的片段的分片特征 分类。

    Network processor/software control architecture
    40.
    发明授权
    Network processor/software control architecture 失效
    网络处理器/软件控制架构

    公开(公告)号:US06898179B1

    公开(公告)日:2005-05-24

    申请号:US09544896

    申请日:2000-04-07

    CPC分类号: G06F15/17

    摘要: The transport protocol for communicating between general purpose processors acting as contact points and network processors in a packet processing environment such as Ethernet is provided. In such an environment, there is at least one single control point processor (CP) and a plurality of network processors (NP), sometimes referred to as blades. A typical system could contain two to sixteen network processors, and each network processor connects to a plurality of devices which communicate with each other over a network transport, such as Ethernet. The CP typically controls the functionality and the functioning of the network processors to function in a way that connects one end user with another, whether or not the end user is on the same network processor or a different network processor. There are three types of communication provided; first, there is communication generally referred to as control services and normally there will be only one pico processor which operates as a GCH (guided cell handler) and only one that operates as a guided tree handler (GTH). A path is provided for the controls to the GCH and the GTH commands, and a separate path is provided for the data frames between the GDH's (general data handler) and the CP.

    摘要翻译: 提供了用于在诸如以太网的分组处理环境中用作接触点的通用处理器和网络处理器之间进行通信的传输协议。 在这样的环境中,存在至少一个单个控制点处理器(CP)和多个网络处理器(NP),有时称为刀片。 典型的系统可以包含两到十六个网络处理器,并且每个网络处理器连接到通过诸如以太网的网络传输彼此通信的多个设备。 CP通常控制网络处理器的功能和功能,以使终端用户与另一终端用户相连的方式起作用,无论终端用户是否在同一个网络处理器或不同的网络处理器上。 提供三种通讯方式; 首先,通常被称为控制服务的通信,并且通常将只有一个微微处理器作为GCH(引导的单元处理器)操作,并且只有一个作为引导树处理器(GTH)操作。 为GCH和GTH命令的控制提供路径,并为GDH(通用数据处理程序)和CP之间的数据帧提供单独的路径。