| 448 | } |
| 449 | |
| 450 | static inline void |
| 451 | generate_complement_table(struct rte_thash_ctx *ctx, |
| 452 | struct rte_thash_subtuple_helper *h) |
| 453 | { |
| 454 | int i, j, k; |
| 455 | uint32_t val; |
| 456 | uint32_t start; |
| 457 | |
| 458 | start = h->offset + h->len - (2 * ctx->reta_sz_log - 1); |
| 459 | |
| 460 | for (i = 1; i < (1 << ctx->reta_sz_log); i++) { |
| 461 | val = 0; |
| 462 | for (j = i; j; j &= (j - 1)) { |
| 463 | k = rte_bsf32(j); |
| 464 | val ^= get_subvalue(ctx, start - k + |
| 465 | ctx->reta_sz_log - 1); |
| 466 | } |
| 467 | h->compl_table[val] = i; |
| 468 | } |
| 469 | } |
| 470 | |
| 471 | static inline int |
| 472 | insert_before(struct rte_thash_ctx *ctx, |
no test coverage detected