Patent ID: 8015315
Filing Date: 2011-09-06
Classification: H04L

Abstract:
1. An apparatus comprising: a first hashing unit adapted to hash a first received Internet Protocol version 6 (IPv6) address of a new flow, with the first received address included in a first received uncompressed flow key of the new flow, where the full first received IPv6 address is hashed to a first compression hash key having fewer bits than the full IPv6 address, with uncompressed flow keys holding full 128-bit IPv6 addresses; a compression table, having an address input coupled to receive compression hash keys and having buckets addressed by received compression hash keys, with a selected bucket in the compression table addressed by the first compression hash key and with the selected bucket having a plurality of locations adapted to hold full input IPv6 addresses that are hashed to the first compression hash key by the first hashing unit; compression address generation logic adapted to combine the first compression hash key with an offset address to form a first compression address, with the offset address indicating which location in the selected bucket of the compression table that holds the full first received IPv6 address and with the compression address having fewer bits than the full IPv6 address and with the compression address generation logic comprising a plurality of comparators, each comparator having a first input coupled to receive the first received IPv6 address, a second input coupled to receive an IPv6 address stored in a location in the selected bucket accessed by the first compression hash key, and having an output for indicating whether IPv6 addresses received at its inputs are the same and an encoder, having inputs coupled to the outputs of the comparators, adapted to output an offset address indicating a location holding an IPv6 address that matches the received IPv6 address; a modified flow key composition unit, coupled to the compression address generation logic and coupled to receive other fields from the first uncompressed flow key, adapted to compose a first modified flow key by substituting the first compression address for the first full IPv6 included in the first uncompressed flow key; a second hashing unit adapted to receive the first uncompressed flow key including the first full IPv6 address and to hash the first received uncompressed flow key to a first uncompressed hash key; a flow table, having an address input coupled to receive the uncompressed hash keys and having buckets addressed by the uncompressed hash keys, with each bucket having a plurality of locations, with the flow table configured to store a modified flow key holding a first compression address instead of a full IPv6 address in a location of a selected bucket indicated by a first uncompressed hash key so that memory requirements of the flow table are reduced because only the first compression address instead of the full IPv6 address are stored in the flow table.