[PATCH] member: fix choice of bucket for displacement
Stephen Hemminger
stephen at networkplumber.org
Sat Nov 16 02:12:29 CET 2024
Because of misuse of & vs && operator, the member code would
always use the primary bucket.
Fixes: 904ec78a239c ("member: implement HT mode")
Cc: yipeng1.wang at intel.com
Cc: stable at dpdk.org
Signed-off-by: Stephen Hemminger <stephen at networkplumber.org>
---
lib/member/rte_member_ht.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
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;
--
2.45.2
More information about the dev
mailing list