Back to results
US 7,738,454 B1Granted
Methods and apparatus related to packet classification based on range values
AssigneeJuniper Networks, Inc.
InventorsRamesh Panwar, Deepak Goel, Srinivasan Jagannadhan
Life of this patent
Estimating the term…
Abstract
In one embodiment, a method includes receiving a portion of a hash key vector. The hash key vector can be defined based on a range value and based on at least a portion of an address value from a data packet queued within a multi-stage switch. The method also includes defining, based on the hash key vector, a hash value associated with a location in a hash table when the portion of the hash key vector matches a bit vector stored in a tag table.
Claims23
A method, comprising:
- receiving a data packet at a multi-stage switch;
- defining a set of hash key vectors based on a set of range values associated with at least a portion of an address value from the data packet;
- discarding a first hash key vector from the set of hash key vectors in response to a result produced based on the first hash key vector from the set of hash key vectors;
- defining, after the discarding, a hash value based on a second hash key vector from the set of hash key vectors;
- selecting a compressed policy vector based on the hash value;
- and
- decompressing the compressed policy vector to produce a policy vector associated with the data packet.
4 more elements
A method, comprising:
- receiving a portion of a hash key vector, the hash key vector being defined based on a range value and based on at least a portion of an address value from a data packet queued within a multi-stage switch;
- defining, based on the hash key vector, a hash value associated with a location in a hash table when the portion of the hash key vector matches a bit vector stored in a tag table;
- and
- receiving a policy vector from the hash table based on the hash value, the policy vector configured to trigger execution of an instruction associated with the data packet.
1 more element
An apparatus, comprising:
- a range selection module configured to receive a data packet and configured to define a set of hash key vectors based on a set of range values associated with a portion of an address value from the data packet;
- a filter module configured to receive the set of hash key vectors and configured to determine that at least a portion of a hash key vector from the set of hash key vectors has a probability of being included in a hash table, the filter module including a first stage of bloom filters and a second stage of bloom filters;
- and
- a hashing module configured to receive the hash key vector and configured to produce a hash value based on the hash key vector, the hashing module configured to select a policy vector from the hash table based on the hash value and based on the portion of the hash key vector, the portion of the hash key vector is processed at the first stage of bloom filters and at the second stage of bloom filters.
1 more element
An apparatus, comprising:
- a range selection module configured to define a set of hash key vectors based on a set of range values associated with at least a portion of an address value from a data packet received at a multi-stage switch;
- a filter module configured to discard a first hash key vector from the set of hash key vectors in response to a result produced based on the first hash key vector from the set of hash key vectors;
- and
- a hashing module configured to define, after the discarding, a hash value based on a second hash key vector from the set of hash key vectors such that a compressed policy vector is selected based on the hash value and decompressed to produce a second policy vector associated with the data packet.
1 more element
Dependencies are inferred from the claim text.