System and method for a multi-layer network element
First Claim
1. In a network element having at least one input port and at least one output port, a method of forwarding a packet entering on an input port comprising the steps of:
- (a) receiving the packet from a network on the input port;
(b) determining a first search key from a first portion of header information associated with a first protocol layer;
(c) determining a second search key from a second portion of header information associated with a second protocol layer;
(d) simultaneously searching entries in a memory for an entry matching the first search key;
(e) using at least one entry, if any, located in step (d) to determine a first port result;
(f) simultaneously searching entries in the memory for entries associated with the second search key;
(g) selecting one entry from the entries associated with the second search key;
(h) using the result of step (g) to determine forwarding information;
(i) determining appropriate output ports, if any, based on the results of step (e) and step (h); and
(j) forwarding the packet to the appropriate output ports.
2 Assignments
0 Petitions
Accused Products
Abstract
A multi-layer network element for forwarding received packets from an input port to one or more output ports. The packet is examined to look for different types of forwarding information. An associative memory is searched once for each type of information. The results from the two searches are combined to forward the packet to the appropriate one or more output ports. The packet may be examined for other information as well to make the forwarding decisions. In one embodiment, the invention examines the packet for layer 2 information as the first type and layer 3, and perhaps some layer 4, information as the second type. The results are merged to determine the most appropriate combination of layer 2 or layer 3 forwarding decisions for the packet.
-
Citations
29 Claims
-
1. In a network element having at least one input port and at least one output port, a method of forwarding a packet entering on an input port comprising the steps of:
-
(a) receiving the packet from a network on the input port; (b) determining a first search key from a first portion of header information associated with a first protocol layer; (c) determining a second search key from a second portion of header information associated with a second protocol layer; (d) simultaneously searching entries in a memory for an entry matching the first search key; (e) using at least one entry, if any, located in step (d) to determine a first port result; (f) simultaneously searching entries in the memory for entries associated with the second search key; (g) selecting one entry from the entries associated with the second search key; (h) using the result of step (g) to determine forwarding information; (i) determining appropriate output ports, if any, based on the results of step (e) and step (h); and (j) forwarding the packet to the appropriate output ports. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 25)
-
-
9. A network element for forwarding packet on a network, the network element comprising:
-
(a) at least one input port for receiving a packet; (b) processing logic for examining the packet and determining a first search key and a second search key associated with a first protocol layer and a second protocol layer, respectively; (c) a memory adapted to have at least a portion of its contents searched simultaneously and output a result based on a search; (d) first search circuitry configured to search the memory using the first search key and causing the memory to output a first search result; (e) second search circuitry configured to search the memory using the second search key and causing the memory to output a second search result; (f) at least one output port; (g) merge circuitry coupled to the memory, the merge circuitry configured to forward the packet to appropriate output ports, if any, of the at least one output port based on the first search result and the second search result. - View Dependent Claims (10, 11, 12)
-
-
13. A network element for forwarding packets on a network, the network element comprising:
-
(a) at least one input port configured to receive a packet; (b) header processing logic configured to examine packet header information for determining a first search key and a second search key associated with a first protocol layer and a second protocol layer, respectively; (c) a memory; (d) first search logic coupled to the memory, the first search logic configured to cause the memory to output a first search result based on the first search key; (e) second search logic coupled to the memory, the second search logic configured to cause the memory to output a second search result based on the second search key; (f) at least one output port; (g) merge logic, coupled to the memory, configured to forward the packet to appropriate output ports, if any, of the at least one output port based on the first search result and the second search result. - View Dependent Claims (14, 15, 16, 17, 18)
-
-
19. A network element for forwarding packets on a network, the network element comprising:
-
(a) at least one input port configured to receive a packet; (b) processing logic configured to determine first packet information and second packet information from packet header information associated with a first protocol layer and a second protocol layer, respectively; (c) a memory; (d) memory access logic coupled to the memory, the memory access logic configured to access the memory using a first address determined as a function of the first packet information to produce a first result and a second address determined as a function of the second packet information to produce a second result; (e) at least one output port; and (f) merge logic coupled to the memory, the merge logic configured to forward the packet to an appropriate output port of the at least one output port based on the first result and the second result. - View Dependent Claims (20, 21)
-
-
22. An apparatus for making a forwarding decision for a packet entering a network element having at least one input port and at least one output port, wherein the packet enters the network element on an input port and exits the network element on appropriate output ports, the apparatus comprising:
-
header logic configured to output, based on header information in the packet, a first search key associated with a first protocol layer, a second search key associated with a second protocol layer, and a default result; a memory configured to output a first forwarding result in response to receiving the first search key from the header logic, and to output a second forwarding result in response to receiving the second search key; merge logic configured to output information about appropriate output ports in response to the default result, the first forwarding result, and the second forwarding result; and forwarding logic configured to direct the packet from the input port to the appropriate output ports based on the information about the appropriate output ports. - View Dependent Claims (23, 24)
-
-
26. A method of forwarding packets comprising the steps of:
-
receiving a packet from a network at an input port; generating a first forwarding decision based upon information in a data link layer of the packet; generating a second forwarding decision based upon information in a network layer of the packet; determining a resulting forwarding decision based upon the first forwarding decision and the second forwarding decision; and forwarding the packet to one or more output ports identified by the resulting forwarding decision. - View Dependent Claims (27, 28, 29)
-
Specification