[dpdk-dev] [Bug 78] Mismatch between return value and documentation for `rte_hash_lookup_data` (cuckoo hashing implementation)

bugzilla at dpdk.org bugzilla at dpdk.org
Mon Aug 6 18:49:21 CEST 2018


https://bugs.dpdk.org/show_bug.cgi?id=78

            Bug ID: 78
           Summary: Mismatch between return value and documentation for
                    `rte_hash_lookup_data` (cuckoo hashing implementation)
           Product: DPDK
           Version: 18.05
          Hardware: All
                OS: All
            Status: CONFIRMED
          Severity: minor
          Priority: Normal
         Component: doc
          Assignee: dev at dpdk.org
          Reporter: t-pehous at microsoft.com
  Target Milestone: ---

Documentation for `rte_hash_lookup_data` specifies that this method returns 0
on successful data lookup or positive error code on not-found / wrong
parameters.  In reality it returns positive index of found data on success and
negative error on error, in essence it behaves the same as  (i.e. the same as 
rte_hash_lookup while also (correctly) populating the data pointer).

rte_cuckoo_hash.c: 733
```c
int
rte_hash_lookup_data(const struct rte_hash *h, const void *key, void **data) {
                RETURN_IF_TRUE(((h == NULL) || (key == NULL)), -EINVAL);
                return __rte_hash_lookup_with_hash(h, key, rte_hash_hash(h,
key), data); } ```

Rte_cuckoo_hash.c: 693
```c
static inline int32_t
__rte_hash_lookup_with_hash(const struct rte_hash *h, const void *key,
                                                                               
hash_sig_t sig, void **data) {
                ...
                                                                /*
                                                                * Return index
where key is stored,
                                                                * subtracting
the first dummy index
                                                                */
                                                                return
bkt->key_idx[i] - 1; ```

DPDK version 18.05 release.

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the dev mailing list