diff options
| author | Stephen Hemminger <[email protected]> | 2024-11-15 17:12:29 -0800 |
|---|---|---|
| committer | Thomas Monjalon <[email protected]> | 2024-11-19 22:02:31 +0100 |
| commit | 33f5b0dcb11580be8091f3b589845e512008e2f0 (patch) | |
| tree | 83891696493317402177396b4a7d2474edcab036 /lib | |
| parent | 8a171e52ed8b26f768ced79a22286914ebd30180 (diff) | |
member: fix choice of bucket for displacement
Because of misuse of & vs && operator, the member code would
always use the primary bucket.
Fixes: 904ec78a239c ("member: implement HT mode")
Cc: [email protected]
Signed-off-by: Stephen Hemminger <[email protected]>
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/member/rte_member_ht.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/member/rte_member_ht.c b/lib/member/rte_member_ht.c index 357097ff4b..738471b378 100644 --- a/lib/member/rte_member_ht.c +++ b/lib/member/rte_member_ht.c @@ -494,7 +494,7 @@ rte_member_add_ht(const struct rte_member_setsum *ss, return ret; /* Random pick prim or sec for recursive displacement */ - uint32_t select_bucket = (tmp_sig && 1U) ? prim_bucket : sec_bucket; + uint32_t select_bucket = (tmp_sig & 1U) ? prim_bucket : sec_bucket; if (ss->cache) { ret = evict_from_bucket(); buckets[select_bucket].sigs[ret] = tmp_sig; |
