Multi-protocol label switching in a network device
First Claim
1. A network device, comprising:
- input logic configured to;
receive a data packet, the data packet comprising multi-protocol label switching (MPLS) information comprising at least one MPLS tag,store the data packet, andforward a portion of the data packet, the portion including the MPLS information;
a first register initialized to store a first value;
route lookup logic configured to;
receive the portion of the data packet,generate forwarding information identifying a next hop for the data packet based on the MPLS information,determine whether at least one MPLS tag is to be removed from the data packet before the data packet is to be output by the network device,modify the first value stored in the first register for each MPLS tag that is to be removed, andforward the first value; and
output processing logic configured to;
receive the first value, andbypass part of the data packet for output processing based on the first value.
1 Assignment
0 Petitions
Accused Products
Abstract
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.
55 Citations
42 Claims
-
1. A network device, comprising:
-
input logic configured to; receive a data packet, the data packet comprising multi-protocol label switching (MPLS) information comprising at least one MPLS tag, store the data packet, and forward a portion of the data packet, the portion including the MPLS information; a first register initialized to store a first value; route lookup logic configured to; receive the portion of the data packet, generate forwarding information identifying a next hop for the data packet based on the MPLS information, determine whether at least one MPLS tag is to be removed from the data packet before the data packet is to be output by the network device, modify the first value stored in the first register for each MPLS tag that is to be removed, and forward the first value; and output processing logic configured to; receive the first value, and bypass part of the data packet for output processing based on the first value. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method for processing data packets in a network device, the method comprising:
-
receiving a data packet, the data packet including multi-protocol label switching (MPLS) information comprising at least one MPLS tag; storing the data packet in a memory; determining a next hop for the data packet based on the MPLS information; removing at least one MPLS tag from the data packet; modifying a first value representing a start offset (SOF) for each MPLS tag that is to be removed; modifying a second value representing a time-to-live (TTL) offset based on a number of MPLS tags that are to be removed; and processing the data packet for Output from a location in the data packet identified by the first value. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
-
18. A network device, comprising:
-
input logic configured to; receive a data packet, the data packet including multi-protocol label switching (MPLS) information comprising at least one MPLS tag, each MPLS tag including a time-to-live (TTL) field, store the data packet, and forward a portion of the data packet, the portion including the MPLS information; a first register configured to store a start offset (SOF); route lookup logic configured to; receive the portion of the data packet, generate forwarding information identifying a next hop for the data packet based on the MPLS information, determine whether at least one MPLS tag is to be removed from the data packet before the data packet is to be output by the network device, modify the SOF for each MPLS tag that is to be removed, determine whether at least one MPLS tag is to be added to the data packet before the data packet is to be output by the network device, store information associated with the added at least one MPLS tag, forward the SOF and the information associated with the added at least one MPLS tag; and output processing logic configured to; receive the SOF and the information associated with the added at least one MPLS tag, insert the added at least one MPLS tag to the data packet, copy a value from a TTL field in the data packet to the TTL field of the added MPLS tag. - View Dependent Claims (19)
-
-
20. A system for processing data packets comprising:
-
means for receiving a data packet including multi-protocol label switching (MPLS) information comprising at least one MPLS tag; means for storing the data packet; means for storing a start offset (SOF); means for forwarding a portion of the data packet including the at least one MPLS tag; means for identifying next hop information for the data packet based on the at least one MPLS tag; means for determining whether at least one MPLS tag is to be removed from the data packet before the data packet is to be output by the network device; means for incrementing the SOF for each MPLS tag that is to be removed; and means for bypassing a portion of the data packet when processing the data packet for output based on the SOF. - View Dependent Claims (21, 22)
-
-
23. A network device, comprising:
-
input logic configured to; receive a data packet including at least one MPLS tag, store the data packet, and forward a portion of the data packet including the at least one MPLS tag; a first register configured to store a start offset (SOF); route lookup logic configured to; receive the portion of the data packet, generate forwarding information identifying a next hop for the data packet based on the at least one MPLS tag, determine whether at least one MPLS tag is to be removed from the data packet before the data packet is to be output by the network device, modify the SOF for each MPLS tag that is to be removed, and forward the SOF; and output processing logic configured to; receive the SOF, and begin processing the data packet for output from a location identified by the SOF. - View Dependent Claims (24, 25, 26, 27, 28)
-
-
29. A network device, comprising:
-
a memory; input logic configured to; receive a data packet, the data packet comprising multi-protocol label switching (MPLS) information comprising at least one MPLS tag, store the data packet in the memory, and forward a portion of the data packet, the portion including the MPLS information; and route lookup logic configured to; receive the portion of the data packet, and generate forwarding information identifying a next hop for the data packet based on the MPLS information, wherein each MPLS tag includes a time-to-live (TTL) field, and the route lookup logic is further configured to; modify, without accessing the data packet stored in the memory, a TTL offset value based on a number of MPLS tags that are to be removed from the data packet, and forward the TTL offset value. - View Dependent Claims (30, 31, 32, 33)
-
-
34. A network device, comprising:
-
a memory configured to store a data packet; and route lookup logic configured to; receive multi-protocol label switching (MPLS) information included with the data packet, the MPLS information comprising at least one MPLS tag, and generate, without accessing the memory, forwarding information identifying a next hop for the data packet based on the MPLS information, wherein each MPLS tag includes a time-to-live (TTL) field, and the route lookup logic is further configured to; modify a TTL offset value based on a number of MPLS tags that are to be removed from the data packet, and forward the TTL offset value. - View Dependent Claims (35, 36, 37, 38)
-
-
39. A network device, comprising:
-
a memory configured to store a data packet, next hop information associated with the data packet, a first value and a second value; route lookup logic configured to; determine whether at least one multi-protocol label switching (MPLS) tag is to be removed from the data packet before the data packet is to be output by the network device, and increment the first value stored in the memory for each MPLS tag that is to be removed; and output processing logic configured to; receive the data packet, the next hop information and the first and second values, drop a portion of the data packet based on the first value, and identify a time-to-live (TTL) value based on the second value. - View Dependent Claims (40, 41, 42)
-
Specification