System for deriving hash values for packets in a packet processing system
First Claim
Patent Images
1. A system for deriving hash values for packets in a packet processing system comprising:
- key derivation logic, coupled to receive a sequence of commands related to content addressable memory selection from a sequence control table and coupled to receive packet processing data, comprising either or both a packet undergoing processing by packet processing logic or state data generated by the packet processing logic during processing of the packet, the key derivation logic generating a key, from a portion of the packet processing data as selected by a command from the sequence control table, for driving each of a plurality of processing cycles by the packet processing logic in processing the packet;
hash derivation logic, coupled to receive the keys from the key derivation logic and coupled to receive mask data from the sequence control table, the hash derivation logic providing hash information for each of the plurality of processing cycles that is useful for supporting a link aggregation function for the packet, the hash information for a processing cycle derived by masking the key for that processing cycle using mask data from the sequence control table;
resolution logic, coupled to receive the hash information from the hash derivation logic for each of the plurality of processing cycles and coupled to receive one or more commands related to the link aggregation function from the sequence control table, the resolution logic resolving the hash information received from the hash derivation logic over the plurality of processing cycles using the one or more commands from the sequence control table to derive a hash value for the packet; and
link aggregation logic coupled to the resolution logic for receiving the hash value and supporting the link aggregation function for the packet by allocating to the packet a physical link from a plurality of physical links, comprising a logical link, based on the hash value of the packet.
8 Assignments
0 Petitions
Accused Products
Abstract
A system for deriving hash values for packets in a packet processing system is described. In this system, hash derivation logic is configured to derive a hash value for the packet responsive to a key that drives processing of the packet. The hash value is useful for supporting additional processing of the packet, such as link aggregation and equal cost multi-path.
-
Citations
13 Claims
-
1. A system for deriving hash values for packets in a packet processing system comprising:
-
key derivation logic, coupled to receive a sequence of commands related to content addressable memory selection from a sequence control table and coupled to receive packet processing data, comprising either or both a packet undergoing processing by packet processing logic or state data generated by the packet processing logic during processing of the packet, the key derivation logic generating a key, from a portion of the packet processing data as selected by a command from the sequence control table, for driving each of a plurality of processing cycles by the packet processing logic in processing the packet; hash derivation logic, coupled to receive the keys from the key derivation logic and coupled to receive mask data from the sequence control table, the hash derivation logic providing hash information for each of the plurality of processing cycles that is useful for supporting a link aggregation function for the packet, the hash information for a processing cycle derived by masking the key for that processing cycle using mask data from the sequence control table; resolution logic, coupled to receive the hash information from the hash derivation logic for each of the plurality of processing cycles and coupled to receive one or more commands related to the link aggregation function from the sequence control table, the resolution logic resolving the hash information received from the hash derivation logic over the plurality of processing cycles using the one or more commands from the sequence control table to derive a hash value for the packet; and link aggregation logic coupled to the resolution logic for receiving the hash value and supporting the link aggregation function for the packet by allocating to the packet a physical link from a plurality of physical links, comprising a logical link, based on the hash value of the packet. - View Dependent Claims (2, 3, 4, 5, 12)
-
-
6. A method of deriving hash values for packets in a packet processing system comprising the steps of:
-
generating a key for each of a plurality of processing cycles undertaken by packet processing logic in processing a packet, by utilizing key derivation logic, wherein said key derivation logic is coupled to receive a sequence of commands related to content addressable memory selection from a sequence control table and coupled to receive packet processing data comprising either or both the packet undergoing processing by the packet processing logic or state data generated by the packet processing logic in processing the packet, the key for a processing cycle generated by selecting a portion of the packet processing data in effect during that processing cycle using a command from the sequence control table; deriving hash information for each of the plurality of processing cycles useful for supporting a link aggregation function for the packet by utilizing hash derivation logic, wherein the hash derivation logic is coupled to receive the keys from the key derivation logic and coupled to receive a sequence of commands related to mask data from the sequence control table, and derive the hash information for a processing cycle by masking the key for that processing cycle using mask data from the sequence control table; providing a hash value for the packet by utilizing resolution logic, wherein the resolution logic is configured to resolve the hash information received from the hash derivation logic for each of the plurality of processing cycles using one or more commands related to the link aggregation function received from the sequence control table; and supporting the link aggregation function by allocating, utilizing link aggregation logic, to the packet one of a plurality of physical links, comprising a logical link, based on the hash value. - View Dependent Claims (7, 8, 9, 10, 13)
-
-
11. A system for deriving hash values for packets in a packet processing system comprising:
-
key derivation logic, coupled to receive a sequence of commands related to content addressable memory selection from a sequence control table and coupled to receive packet processing data comprising either or both a packet undergoing processing by packet processing logic or state data generated by the packet processing logic in processing the packet, the key derivation logic generating a key, by selecting a portion of the packet processing data using a command from the sequence control table, for driving each of a plurality of processing cycles undertaken by the packet processing logic in processing the packet; hash derivation logic, coupled to receive the keys from the key derivation logic and coupled to receive a sequence of commands related to mask data from a sequence control table, the hash derivation logic providing hash information for each of the plurality of processing cycles that is useful for supporting a link aggregation function for the packet, the hash information for a processing cycle derived by masking the key for that processing cycle using mask data from the sequence control table; resolution logic, coupled to receive the hash information provided from the hash derivation logic for each of the plurality of processing cycles and coupled to receive one or more commands related to the link aggregation function from the sequence control table, the resolution logic configured to resolve the hash information provided by the hash derivation logic for each of the plurality of processing cycles using the one or more commands related to the link aggregation function obtained from the sequence control table to derive a hash value for the packet; and link aggregation logic for supporting a link aggregation function for the packet by allocating to the packet a physical link from a plurality of physical links comprising a logical link; wherein the state data comprises any one or more of control, address, filter, header and statistical information for the packet.
-
Specification