System and method for ECMP load sharing
First Claim
1. A method comprising:
- retrieving, by a network device from a first memory, an index for a second memory, the retrieving from the first memory using information from a first portion of a data packet;
retrieving, by the network device from the second memory, a base index for a third memory and a value encoding a number of equal cost paths available for forwarding the data packet, the retrieving from the second memory using the index for the second memory; and
determining, by the network device, an adjusted index for the third memory based on the base index, the value encoding the number of equal cost paths, and a second portion of the data packet.
11 Assignments
0 Petitions
Accused Products
Abstract
A packet classifier and a method for routing a data packet are provided. The packet classifier includes a content addressable memory, a translation table and a parameter memory. The method includes looking up a content addressable memory for a base address into a parameter memory using a header of the data packet. The base address is related to the routes under ECMP for forwarding the data packet. From among these addresses, using multiple headers of the data packet, an adjustment to the base address is computed. The adjustment specifies an actual address to the parameter memory corresponding to a selected route for forwarding the data packet. The parameter memory is then accessed using the actual address to obtain parameter values relevant to the selected route. The data packet is then forwarded according to the parameter values thus obtained.
388 Citations
16 Claims
-
1. A method comprising:
-
retrieving, by a network device from a first memory, an index for a second memory, the retrieving from the first memory using information from a first portion of a data packet; retrieving, by the network device from the second memory, a base index for a third memory and a value encoding a number of equal cost paths available for forwarding the data packet, the retrieving from the second memory using the index for the second memory; and determining, by the network device, an adjusted index for the third memory based on the base index, the value encoding the number of equal cost paths, and a second portion of the data packet. - View Dependent Claims (2, 3, 4, 5, 11, 12, 15)
-
-
6. A network device comprising:
-
at least one port capable of receiving data packets; and a first memory, a second memory, and a third memory, wherein the network device is configured to; retrieve from the first memory an index for the second memory, the retrieving from the first memory using information from a first portion of a data packet; retrieve from the second memory a base index for the third memory and a value encoding a number of equal cost paths available for forwarding the data packet, the retrieving from the second memory using the index for the second memory; and determine an adjusted index for the third memory based on the base index, the value encoding the number of equal cost paths, and a second portion of the data packet. - View Dependent Claims (7, 8, 9, 10, 13, 14, 16)
-
Specification