X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=lib%2Flibrte_table%2Frte_table_hash.h;h=9d17516a53150c576350dd624ae77c43aeb2eda8;hb=99c12dcca65d;hp=9181942a7b75560ec881d2ca95bde36f9fcfa4c3;hpb=8aa327214ceb4bcea5bbdf70f9e52bb1d4c7f3ae;p=dpdk.git diff --git a/lib/librte_table/rte_table_hash.h b/lib/librte_table/rte_table_hash.h index 9181942a7b..9d17516a53 100644 --- a/lib/librte_table/rte_table_hash.h +++ b/lib/librte_table/rte_table_hash.h @@ -196,6 +196,9 @@ struct rte_table_hash_key8_lru_params { /** Byte offset within packet meta-data where the key is located */ uint32_t key_offset; + + /** Bit-mask to be AND-ed to the key on lookup */ + uint8_t *key_mask; }; /** LRU hash table operations for pre-computed key signature */ @@ -226,6 +229,9 @@ struct rte_table_hash_key8_ext_params { /** Byte offset within packet meta-data where the key is located */ uint32_t key_offset; + + /** Bit-mask to be AND-ed to the key on lookup */ + uint8_t *key_mask; }; /** Extendible bucket hash table operations for pre-computed key signature */ @@ -257,11 +263,18 @@ struct rte_table_hash_key16_lru_params { /** Byte offset within packet meta-data where the key is located */ uint32_t key_offset; + + /** Bit-mask to be AND-ed to the key on lookup */ + uint8_t *key_mask; }; /** LRU hash table operations for pre-computed key signature */ extern struct rte_table_ops rte_table_hash_key16_lru_ops; +/** LRU hash table operations for key signature computed on lookup + ("do-sig") */ +extern struct rte_table_ops rte_table_hash_key16_lru_dosig_ops; + /** Extendible bucket hash table parameters */ struct rte_table_hash_key16_ext_params { /** Maximum number of entries (and keys) in the table */ @@ -284,11 +297,18 @@ struct rte_table_hash_key16_ext_params { /** Byte offset within packet meta-data where the key is located */ uint32_t key_offset; + + /** Bit-mask to be AND-ed to the key on lookup */ + uint8_t *key_mask; }; /** Extendible bucket operations for pre-computed key signature */ extern struct rte_table_ops rte_table_hash_key16_ext_ops; +/** Extendible bucket hash table operations for key signature computed on + lookup ("do-sig") */ +extern struct rte_table_ops rte_table_hash_key16_ext_dosig_ops; + /** * 32-byte key hash tables *