hash: move struct field to keep ABI stable
authorPablo de Lara <pablo.de.lara.guarch@intel.com>
Tue, 21 Jul 2015 14:10:19 +0000 (15:10 +0100)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Wed, 22 Jul 2015 09:24:40 +0000 (11:24 +0200)
In order to keep the ABI consistent with the old hash library,
hash_func_init_val field has been moved, so it remains
at the same offset as previously, since hash_func and
hash_func_init_val are fields accessed by the public function
rte_hash_hash and must keep the same offset as older versions.

Fixes: 48a399119619 ("hash: replace with cuckoo hash implementation")

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
lib/librte_hash/rte_cuckoo_hash.c

index dec18ce..5cf4af6 100644 (file)
@@ -105,8 +105,8 @@ struct rte_hash {
        uint32_t num_buckets;           /**< Number of buckets in table. */
        uint32_t key_len;               /**< Length of hash key. */
        rte_hash_function hash_func;    /**< Function used to calculate hash. */
-       rte_hash_cmp_eq_t rte_hash_cmp_eq; /**< Function used to compare keys. */
        uint32_t hash_func_init_val;    /**< Init value used by hash_func. */
+       rte_hash_cmp_eq_t rte_hash_cmp_eq; /**< Function used to compare keys. */
        uint32_t bucket_bitmask;        /**< Bitmask for getting bucket index
                                                from hash signature. */
        uint32_t key_entry_size;         /**< Size of each key entry. */