Maskable content addressable memory
First Claim
Patent Images
1. A method in a router comprising:
- generating a first address prefix and a second address prefix by masking the first address prefix with a first mask and the second address prefix with a second mask in response to receiving a first new address with a first port identifier and a second new address with a second port identifier,discarding the first address prefix and the second address prefix if the first address prefix and the second address prefix are absorbable by a third address prefix, wherein the third address prefix is stored in a content addressable memory prior to receiving the first new address and the second new address,storing the first port identifier and the second port identifier with the third address prefix in addition to a third port identifier stored with the third address prefix prior to receiving the first new address and the second new address,extracting a destination address from a received data unit,generating a first masked destination address by masking the destination address using a third mask,sending the data unit to a third port identified by the third port identifier if the first masked destination address matches with at least a first portion of the third address prefix, wherein the length of the first portion is at least greater than a length of a second mask and less than the length of the third mask.
1 Assignment
0 Petitions
Accused Products
Abstract
A maskable content addressable memory may store one or more address prefixes. A port on which the packet may be sent is determined by comparing the destination address of a received packet by masking the address prefixes and the destination address.
16 Citations
18 Claims
-
1. A method in a router comprising:
-
generating a first address prefix and a second address prefix by masking the first address prefix with a first mask and the second address prefix with a second mask in response to receiving a first new address with a first port identifier and a second new address with a second port identifier, discarding the first address prefix and the second address prefix if the first address prefix and the second address prefix are absorbable by a third address prefix, wherein the third address prefix is stored in a content addressable memory prior to receiving the first new address and the second new address, storing the first port identifier and the second port identifier with the third address prefix in addition to a third port identifier stored with the third address prefix prior to receiving the first new address and the second new address, extracting a destination address from a received data unit, generating a first masked destination address by masking the destination address using a third mask, sending the data unit to a third port identified by the third port identifier if the first masked destination address matches with at least a first portion of the third address prefix, wherein the length of the first portion is at least greater than a length of a second mask and less than the length of the third mask. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. An apparatus comprising:
-
a plurality of ports comprising a first, second, and a third port a controller coupled to the plurality of ports, wherein the controller is to extract a destination address from a data unit received over the first port, and a maskable content addressable memory coupled to the controller, wherein the maskable content addressable memory further comprises a maskable content addressable memory (MCAM) logic and a memory, wherein the MCAM logic is to, generate a first address prefix and a second address prefix by masking the first address prefix with a first mask and the second address prefix with a second mask in response to receiving a first new address with a first port identifier and a second new address with a second port identifier, discard the first address prefix and the second address prefix if the first address prefix and the second address prefix are absorbable by a third address prefix, wherein the third address prefix is stored in a content addressable memory prior to receiving the first new address and the second new address, store in the memory the first port identifier and the second port identifier with the third address prefix in addition to a third port identifier stored with the third address prefix prior to receiving the first new address and the second new address, extract a destination address from a received data unit, generate a first masked destination address by masking the destination address using a third mask, and send the data unit to a third port identified by the third port identifier if the first masked destination address matches with at least a first portion of the third address prefix, wherein the length of the first portion is at least greater than a length of a second mask and less than the length of the third mask. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
Specification