Fast filter processor metering and chaining
First Claim
1. A network device for routing packets, the network device comprising:
- a processor comprising a plurality of slices for classifying packets and for causing the network device to perform at least one action based on a classification of a packet,wherein each of the plurality of slices applies specific fields from the packet to an associated memory device that compares input to the memory device with entries in the memory device and outputs an address for a matched entry and wherein the memory device comprises a mask for each memory entry to enable selection of bits that are required to match exactly with bits from the input to the memory device,wherein each of the plurality of slices applies a match from the memory device to an associated entry in a table to apply actions associated with the packet, andwherein the memory device comprises a storing unit for storing groups of parsed fields in a predefined number of sections in each entry, wherein if a specific field in one of the predefined number of sections is selected, an extra mask is applied to the memory device.
6 Assignments
0 Petitions
Accused Products
Abstract
A network device for processing packets. The network device includes applying specific fields from a packet to an associated memory device and comparing means for comparing input to the memory device with entries in the memory device. The network device also includes enabling means for enabling selection of bits, by the memory device, that are required to match exactly with bits from the input to the memory device. The network device further includes outputting means for outputting an address for a matched entry by the memory device and applying means for applying a match from the memory device to an associated entry in a table for applying actions from the table that are associated with the match to the packet.
-
Citations
19 Claims
-
1. A network device for routing packets, the network device comprising:
-
a processor comprising a plurality of slices for classifying packets and for causing the network device to perform at least one action based on a classification of a packet, wherein each of the plurality of slices applies specific fields from the packet to an associated memory device that compares input to the memory device with entries in the memory device and outputs an address for a matched entry and wherein the memory device comprises a mask for each memory entry to enable selection of bits that are required to match exactly with bits from the input to the memory device, wherein each of the plurality of slices applies a match from the memory device to an associated entry in a table to apply actions associated with the packet, and wherein the memory device comprises a storing unit for storing groups of parsed fields in a predefined number of sections in each entry, wherein if a specific field in one of the predefined number of sections is selected, an extra mask is applied to the memory device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A network device for routing packets, the network device comprising:
-
a processor comprising a plurality of slices for classifying packets and for causing the network device to perform at least one action based on a classification of a packet, wherein each of the plurality of slices applies specific fields from the packet to an associated memory device that compares input to the memory device with entries in the memory device and outputs an address for a matched entry and wherein the memory device comprises a mask for each memory entry to enable selection of bits that are required to match exactly with bits from the input to the memory device, and wherein each of the plurality of slices applies a match from the memory device to an associated entry in a table to apply actions associated with the packet; and a chaining mechanism for doubling an amount of data that is used to determine a full match in the memory device, wherein the chaining mechanism is implemented when there is a match in two of the plurality of slices. - View Dependent Claims (15, 16)
-
-
17. A method for processing packets, the method comprising the steps of:
-
applying specific fields from a packet to an associated memory device; comparing input to the memory device with entries in the memory device; enabling selection of bits, by the memory device, that are required to match exactly with bits from the input to the memory device; outputting an address for a matched entry by the memory device; applying a match from the memory device to an associated entry in a table; causing performance of at least one action from the table that is associated with the match to the packet; and applying a chaining mechanism for doubling an amount of data that is used to determine a full match in the memory device, wherein the chaining mechanism is implemented when there are two matches. - View Dependent Claims (18)
-
-
19. An apparatus for processing packets, the apparatus comprising:
-
applying means for applying specific fields from a packet to an associated memory device; comparing means for comparing input to the memory device with entries in the memory device; enabling means for enabling selection of bits, by the memory device, that are required to match exactly with bits from the input to the memory device; outputting means for outputting an address for a matched entry by the memory device; applying means for applying a match from the memory device to an associated entry in a table; applying means for applying actions from the table that are associated with the match to the packet; and applying means for applying a chaining mechanism for doubling an amount of data that is used to determine a full match in the memory device, wherein the chaining mechanism is implemented when there are two matches.
-
Specification