table: hash
authorCristian Dumitrescu <cristian.dumitrescu@intel.com>
Wed, 4 Jun 2014 18:08:31 +0000 (19:08 +0100)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Tue, 17 Jun 2014 01:34:10 +0000 (03:34 +0200)
commit8aa327214ceb4bcea5bbdf70f9e52bb1d4c7f3ae
tree162ea4884f8059641e7df98ef775e187db335b36
parent166923eb2f7840ff7d4c8c0165bf3568caf23f35
table: hash

Various types of hash tables presented under the Packet Framework toolbox.

Hash table types:
1. Extendible bucket (ext): when bucket is full, bucket is extended with
   more keys
2. Least Recently Used (LRU): when bucket is full, the LRU entry is discarded
3. Pre-computed key signature: RX core extracts the key n-tuple from the
   packet, computes the key signature and saves the key and key signature
   within the packet meta-data; flow classification core performs the actual
   lookup (the bucket search stage) after reading the key and key signature
   from packet meta-data
4. Signature computed on-the-fly (do-sig version): the same CPU core extracts
   the key n-tuple from pkt, computes key signature and performs the table
   lookup
5. Configurable key size or optimized for single key size (8-byte, 16-byte
   and 32-byte key sizes)

Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Acked-by: Pablo de Lara Guarch <pablo.de.lara.guarch@intel.com>
Acked by: Ivan Boule <ivan.boule@6wind.com>
doc/doxy-api-index.md
lib/librte_table/Makefile
lib/librte_table/rte_lru.h [new file with mode: 0644]
lib/librte_table/rte_table_hash.h [new file with mode: 0644]
lib/librte_table/rte_table_hash_ext.c [new file with mode: 0644]
lib/librte_table/rte_table_hash_key16.c [new file with mode: 0644]
lib/librte_table/rte_table_hash_key32.c [new file with mode: 0644]
lib/librte_table/rte_table_hash_key8.c [new file with mode: 0644]
lib/librte_table/rte_table_hash_lru.c [new file with mode: 0644]