| Patent application number | Description | Published |
| 20100150159 | MULTI-PROTOCOL LABEL SWITCHING IN A NETWORK DEVICE - A network device for processing data packets includes input logic, a register, route lookup logic and output processing logic. The input logic receives a data packet having at least one multi-protocol label switching (MPLS) tag, stores the packet and forwards a portion of the packet including the MPLS tag. The route lookup logic receives the portion of the packet, generates next hop information based on the MPLS tag and determines whether at least one MPLS tag is to be removed from the packet before the packet is to be output by the network device. The route lookup logic also modifies a start offset value in the register for each MPLS tag that is to be removed and forwards the start offset. The output processing logic receives the start offset and begins processing the data packet for output at a location identified by the start offset. | 06-17-2010 |
| 20100177638 | HIGH PERFORMANCE PROBABILISTIC RATE POLICER - A data flow rate policer enforces data flow policies for a number of data flows using a probabilistic policy enforcement mechanism. The policer includes a memory that stores the state of each data flow in a compact data structure. Additionally, the policer includes one or more policing engines that implement the actual data flow policies based on information derived from the data structures. The policing engines may be implemented in hardware to increase performance. | 07-15-2010 |
| 20100246584 | MAINTAINING PACKET ORDER USING HASH-BASED LINKED-LIST QUEUES - Ordering logic ensures that data items being processed by a number of parallel processing units are unloaded from the processing units in the original per-flow order that the data items were loaded into the parallel processing units. The ordering logic includes a pointer memory, a tail vector, and a head vector. Through these three elements, the ordering logic keeps track of a number of “virtual queues” corresponding to the data flows. A round robin arbiter unloads data items from the processing units only when a data item is at the head of its virtual queue. | 09-30-2010 |
| 20100284271 | PACKET SPRAYING FOR LOAD BALANCING ACROSS MULTIPLE PACKET PROCESSORS - A network device includes multiple packet processing engines implemented in parallel with one another. A spraying component distributes incoming packets to the packet processing engines using a spraying technique that load balances the packet processing engines. In particular, the spraying component distributes the incoming packets based on queue lengths associated with the packet processing engines and based on a random component. In one implementation, the random component is a random selection from all the candidate processing engines. In another implementation, the random component is a weighted random selection in which the weights are inversely proportional to the queue lengths. | 11-11-2010 |
| 20100290342 | HIERARCHICAL POLICERS FOR ENFORCING DIFFERENTIATED TRAFFIC BEHAVIOR - A hierarchical traffic policer may include a first policer configured to pass first packets when a first condition is met. The first policer also may alter selection information within the passed first packets. A second policer may be configured to pass second packets when a second condition is met. The second policer may be further configured to pass all of the passed first packets from the first policer based on the altered selection information within the passed first packets. | 11-18-2010 |
| 20110235643 | REDIRECT CHECKING IN A NETWORK DEVICE - A network device for performing redirect checking includes an input device and processing logic. The input device receives a data packet on a first one of a number of interfaces. The data packet includes source and destination addresses. The processing logic assigns an incoming interface to the data packet and generates forwarding information identifying a next hop for the data packet. The processing logic also identifies an outgoing interface based on the next hop and determines whether the incoming interface index is equal to the outgoing interface index. The processing logic also determines whether the data packet originated from a station that is part of the same subnet as the next hop. When both of these conditions are met, the processing logic generates a redirect message. | 09-29-2011 |
| 20110264822 | FILTERING AND ROUTE LOOKUP IN A SWITCHING DEVICE - Methods and devices for processing packets are provided. The processing device may Include an input interface for receiving data units containing header information of respective packets; a first module configurable to perform packet filtering based on the received data units; a second module configurable to perform traffic analysis based on the received data units; a third module configurable to perform load balancing based on the received data units; and a fourth module configurable to perform route lookups based on the received data | 10-27-2011 |
| 20120027019 | MAINTAINING PACKET ORDER USING HASH-BASED LINKED-LIST QUEUES - Ordering logic ensures that data items being processed by a number of parallel processing units are unloaded from the processing units in the original per-flow order that the data items were loaded into the parallel processing units. The ordering logic includes a pointer memory, a tail vector, and a head vector. Through these three elements, the ordering logic keeps track of a number of “virtual queues” corresponding to the data flows. A round robin arbiter unloads data items from the processing units only when a data item is at the head of its virtual queue. | 02-02-2012 |