| 146 | } |
| 147 | |
| 148 | static int |
| 149 | init_params(int rwc_lf, int use_jhash, int htm, int ext_bkt) |
| 150 | { |
| 151 | struct rte_hash *handle; |
| 152 | |
| 153 | struct rte_hash_parameters hash_params = { |
| 154 | .entries = TOTAL_ENTRY, |
| 155 | .key_len = sizeof(uint32_t), |
| 156 | .hash_func_init_val = 0, |
| 157 | .socket_id = rte_socket_id(), |
| 158 | }; |
| 159 | |
| 160 | if (use_jhash) |
| 161 | hash_params.hash_func = rte_jhash; |
| 162 | else |
| 163 | hash_params.hash_func = rte_hash_crc; |
| 164 | |
| 165 | if (rwc_lf) |
| 166 | hash_params.extra_flag = |
| 167 | RTE_HASH_EXTRA_FLAGS_RW_CONCURRENCY_LF | |
| 168 | RTE_HASH_EXTRA_FLAGS_MULTI_WRITER_ADD; |
| 169 | else if (htm) |
| 170 | hash_params.extra_flag = |
| 171 | RTE_HASH_EXTRA_FLAGS_TRANS_MEM_SUPPORT | |
| 172 | RTE_HASH_EXTRA_FLAGS_RW_CONCURRENCY | |
| 173 | RTE_HASH_EXTRA_FLAGS_MULTI_WRITER_ADD; |
| 174 | else |
| 175 | hash_params.extra_flag = |
| 176 | RTE_HASH_EXTRA_FLAGS_RW_CONCURRENCY | |
| 177 | RTE_HASH_EXTRA_FLAGS_MULTI_WRITER_ADD; |
| 178 | |
| 179 | if (ext_bkt) |
| 180 | hash_params.extra_flag |= RTE_HASH_EXTRA_FLAGS_EXT_TABLE; |
| 181 | |
| 182 | hash_params.name = "tests"; |
| 183 | |
| 184 | handle = rte_hash_create(&hash_params); |
| 185 | if (handle == NULL) { |
| 186 | printf("hash creation failed"); |
| 187 | return -1; |
| 188 | } |
| 189 | |
| 190 | tbl_rwc_test_param.h = handle; |
| 191 | return 0; |
| 192 | } |
| 193 | |
| 194 | static inline int |
| 195 | check_bucket(uint32_t bkt_idx, uint32_t key) |
no test coverage detected