| 136 | struct rte_hash *ipv6_l3fwd_em_lookup_struct[NB_SOCKETS]; |
| 137 | |
| 138 | static inline uint32_t |
| 139 | ipv4_hash_crc(const void *data, __rte_unused uint32_t data_len, |
| 140 | uint32_t init_val) |
| 141 | { |
| 142 | const union ipv4_5tuple_host *k; |
| 143 | uint32_t t; |
| 144 | const uint32_t *p; |
| 145 | |
| 146 | k = data; |
| 147 | t = k->proto; |
| 148 | p = (const uint32_t *)&k->port_src; |
| 149 | |
| 150 | #ifdef EM_HASH_CRC |
| 151 | init_val = rte_hash_crc_4byte(t, init_val); |
| 152 | init_val = rte_hash_crc_4byte(k->ip_src, init_val); |
| 153 | init_val = rte_hash_crc_4byte(k->ip_dst, init_val); |
| 154 | init_val = rte_hash_crc_4byte(*p, init_val); |
| 155 | #else |
| 156 | init_val = rte_jhash_1word(t, init_val); |
| 157 | init_val = rte_jhash_1word(k->ip_src, init_val); |
| 158 | init_val = rte_jhash_1word(k->ip_dst, init_val); |
| 159 | init_val = rte_jhash_1word(*p, init_val); |
| 160 | #endif |
| 161 | |
| 162 | return init_val; |
| 163 | } |
| 164 | |
| 165 | static inline uint32_t |
| 166 | ipv6_hash_crc(const void *data, __rte_unused uint32_t data_len, |
nothing calls this directly
no test coverage detected