摘要:
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.
摘要:
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.
摘要:
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.
摘要:
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.
摘要:
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).
摘要:
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.
摘要:
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.
摘要:
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.
摘要:
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.
摘要:
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.