| /dpdk/app/test/ |
| H A D | test_hash_functions.c | 150 uint32_t hash; in verify_precalculated_hash_func_tests() local 190 uint32_t hash, hash32; in verify_jhash_32bits() local 205 if (hash != hash32) { in verify_jhash_32bits() 208 hash, hash32); in verify_jhash_32bits() 227 uint32_t hash, hash_words; in verify_jhash_words() local 235 if (hash != hash_words) { in verify_jhash_words() 238 hash, hash_words); in verify_jhash_words() 244 if (hash != hash_words) { in verify_jhash_words() 247 hash, hash_words); in verify_jhash_words() 253 if (hash != hash_words) { in verify_jhash_words() [all …]
|
| H A D | test_thash.c | 243 uint32_t hash[HASH_IDXES] = { 0 }; in test_toeplitz_hash_rand_data() local 277 &hash[GFNI_BULK_DATA_BUF_1_HASH_IDX], 2); in test_toeplitz_hash_rand_data() 279 if ((hash[SCALAR_DATA_BUF_1_HASH_IDX] != in test_toeplitz_hash_rand_data() 280 hash[GFNI_DATA_BUF_1_HASH_IDX]) || in test_toeplitz_hash_rand_data() 281 (hash[SCALAR_DATA_BUF_1_HASH_IDX] != in test_toeplitz_hash_rand_data() 282 hash[GFNI_BULK_DATA_BUF_1_HASH_IDX]) || in test_toeplitz_hash_rand_data() 283 (hash[SCALAR_DATA_BUF_2_HASH_IDX] != in test_toeplitz_hash_rand_data() 284 hash[GFNI_DATA_BUF_2_HASH_IDX]) || in test_toeplitz_hash_rand_data() 285 (hash[SCALAR_DATA_BUF_2_HASH_IDX] != in test_toeplitz_hash_rand_data() 286 hash[GFNI_BULK_DATA_BUF_2_HASH_IDX])) in test_toeplitz_hash_rand_data() [all …]
|
| H A D | test_thash_perf.c | 46 volatile uint32_t hash = 0; in run_rss_calc() local 52 hash ^= rte_softrss(tuples[j], len / in run_rss_calc() 55 hash ^= rte_softrss_be(tuples[j], len / in run_rss_calc() 58 hash ^= rte_thash_gfni((const uint64_t *)key, in run_rss_calc() 65 RTE_SET_USED(hash); in run_rss_calc()
|
| H A D | test_distributor.c | 139 bufs[i]->hash.usr = 0; in sanity_test() 172 bufs[i]->hash.usr = (i & 1) << 8; in sanity_test() 201 bufs[i]->hash.usr = i+1; in sanity_test() 243 many_bufs[i]->hash.usr = i << 2; in sanity_test() 350 bufs[j]->hash.usr = (i+j) << 1; in sanity_test_with_mbuf_alloc() 466 bufs[i]->hash.usr = 1; in sanity_test_with_worker_shutdown() 485 bufs2[i]->hash.usr = 1; in sanity_test_with_worker_shutdown() 546 bufs[i]->hash.usr = 0; in test_flush_with_worker_shutdown() 650 bufs[0 * burst + i]->hash.usr = 1 << shift; in sanity_mark_test() 651 bufs[1 * burst + i]->hash.usr = ((i < burst / 2) ? 1 : 2) in sanity_mark_test() [all …]
|
| H A D | test_rcu_qsbr_perf.c | 286 struct rte_hash *hash = NULL; in test_rcu_qsbr_hash_reader() local 295 hash = h; in test_rcu_qsbr_hash_reader() 305 if (rte_hash_lookup_data(hash, keys + i, in test_rcu_qsbr_hash_reader() 331 struct rte_hash *hash = NULL; in init_hash() local 345 hash = rte_hash_create(&hash_params); in init_hash() 346 if (hash == NULL) { in init_hash() 369 if (rte_hash_add_key_data(hash, keys + i, in init_hash() 375 return hash; in init_hash()
|
| /dpdk/drivers/common/cnxk/ |
| H A D | roc_hash.c | 68 hash[0] = htobe32(A); in roc_hash_sha1_gen() 69 hash[1] = htobe32(B); in roc_hash_sha1_gen() 70 hash[2] = htobe32(C); in roc_hash_sha1_gen() 71 hash[3] = htobe32(D); in roc_hash_sha1_gen() 72 hash[4] = htobe32(E); in roc_hash_sha1_gen() 155 hash[0] = htobe32(A); in roc_hash_sha256_gen() 156 hash[1] = htobe32(B); in roc_hash_sha256_gen() 157 hash[2] = htobe32(C); in roc_hash_sha256_gen() 158 hash[3] = htobe32(D); in roc_hash_sha256_gen() 159 hash[4] = htobe32(E); in roc_hash_sha256_gen() [all …]
|
| H A D | roc_hash.h | 12 void __roc_api roc_hash_sha1_gen(uint8_t *msg, uint32_t *hash); 13 void __roc_api roc_hash_sha256_gen(uint8_t *msg, uint32_t *hash); 14 void __roc_api roc_hash_sha512_gen(uint8_t *msg, uint64_t *hash, int hash_size);
|
| /dpdk/lib/ipsec/ |
| H A D | ipsec_sad.c | 38 struct rte_hash *hash[RTE_IPSEC_SAD_KEY_TYPE_MASK]; member 96 sad->hash[RTE_IPSEC_SAD_SPI_ONLY], key, in EAL_REGISTER_TAILQ() 202 sad->hash[RTE_IPSEC_SAD_SPI_ONLY], key, in del_specific() 207 sad->hash[RTE_IPSEC_SAD_SPI_ONLY], key, in del_specific() 241 sad->hash[key_type], key, in rte_ipsec_sad_del() 312 if (sad->hash[RTE_IPSEC_SAD_SPI_ONLY] == NULL) { in rte_ipsec_sad_create() 329 if (sad->hash[RTE_IPSEC_SAD_SPI_DIP] == NULL) { in rte_ipsec_sad_create() 438 rte_hash_free(sad->hash[RTE_IPSEC_SAD_SPI_ONLY]); in rte_ipsec_sad_destroy() 439 rte_hash_free(sad->hash[RTE_IPSEC_SAD_SPI_DIP]); in rte_ipsec_sad_destroy() 515 sad->hash[RTE_IPSEC_SAD_SPI_DIP], in __ipsec_sad_lookup() [all …]
|
| /dpdk/drivers/net/bnxt/tf_ulp/ |
| H A D | ulp_matcher.c | 13 uint64_t hash; in ulp_matcher_class_hash_calculate() local 19 hash = hi_sig ^ lo_sig; in ulp_matcher_class_hash_calculate() 20 hash = (hash >> BNXT_ULP_CLASS_HID_SHFTR) & BNXT_ULP_CLASS_HID_MASK; in ulp_matcher_class_hash_calculate() 21 return (uint32_t)hash; in ulp_matcher_class_hash_calculate() 28 uint64_t hash; in ulp_matcher_action_hash_calculate() local 34 hash = hi_sig ^ app_id; in ulp_matcher_action_hash_calculate() 35 hash = (hash >> BNXT_ULP_ACT_HID_SHFTR) & BNXT_ULP_ACT_HID_MASK; in ulp_matcher_action_hash_calculate() 36 return (uint32_t)hash; in ulp_matcher_action_hash_calculate()
|
| /dpdk/doc/guides/prog_guide/ |
| H A D | toeplitz_hash_lib.rst | 8 to calculate the Toeplitz hash function and to use its properties. 9 The Toeplitz hash function is commonly used in a wide range of NICs 19 Toeplitz hash function API 67 * A pointer to the RSS hash key. 68 * Length of the RSS hash key in bytes. 79 LSB's as the hash from the original tuple. 114 hash value to produce a collision for. 129 to generate an RSS hash key with a uniform hash distribution, if the input 179 * A hash value of the tuple we want to alter. 193 mentioned requirements around the desired hash LSB's. [all …]
|
| H A D | hash_lib.rst | 17 The main configuration parameters for the hash table are: 19 * Total number of hash entries in the table 36 …then the entry is removed from the hash table and the position where the entry was found in the ha… 44 … Add / lookup / delete entry with key and precomputed hash: Both the key and its precomputed hash… 63 or stored in the hash table itself. 80 The hash library supports multithreading, and the user specifies the needed mode of operation at th… 122 The hash table has two main tables: 134 The Hash Library uses a hash function (configurable) to translate the input key into a 4-byte hash … 198 Entry distribution in hash table 204 Therefore, as user adds more entries to the hash table, distribution of the hash values [all …]
|
| H A D | efd_lib.rst | 42 computation based on the flow key as an input. For example, a hash 78 key, as this is dictated by the hash function. 126 hash functions is searched until the correct hash function that maps the 133 that key with the correct hash function. 198 perfect hash index, a key that has not been inserted before 313 but rather only the hash index for each group. 322 Given a flow key, a hash function (in our implementation CRC hash) is 348 hash index until a non conflicting lookup_table is found. 371 slow, because of perfect hash search as previously discussed). 380 the group id is computed (using CRC hash) and then the hash index for this [all …]
|
| /dpdk/doc/guides/sample_app_ug/ |
| H A D | test_pipeline.rst | 60 The hash tables are pre-populated with 16 million keys. 61 For hash tables, the following parameters can be selected: 63 …mplementation or fixed (specialized) key size implementation (e.g. hash-8-ext or hash-spec-8-ext).… 67 * **Key size (e.g. hash-spec-8-ext or hash-spec-16-ext).** 70 * **Table type (e.g. hash-spec-16-ext or hash-spec-16-lru).** 92 …| 3 | hash-[spec]-8-lru | LRU hash table with 8-byte key size and 16 million | 16 m… 111 …| 4 | hash-[spec]-8-ext | Extendable bucket hash table with 8-byte key size | Same… 115 …5 | hash-[spec]-16-lru | LRU hash table with 16-byte key size and 16 million | 16 mil… 134 …| 6 | hash-[spec]-16-ext | Extendable bucket hash table with 16-byte key size | Same… 138 …7 | hash-[spec]-32-lru | LRU hash table with 32-byte key size and 16 million | 16 mil… [all …]
|
| H A D | l3_forward.rst | 25 The lookup method is hash-based, LPM-based or FIB-based 27 When the selected lookup method is hash-based, 28 a hash object is used to emulate the flow classification stage. 73 [--hash-entry-num] 111 * ``--hash-entry-num:`` Optional, specifies the hash entry number in hexadecimal to be setup. 290 … which is used to specify the total hash entry number for all used ports in hash performance test, 303 /* populate the ipv4 hash */ 307 /* populate the ipv6 hash */ 322 :end-before: >8 End of initialization of hash parameters. 350 :start-after: Performing hash-based lookups. 8< [all …]
|
| /dpdk/drivers/net/tap/ |
| H A D | tap_bpf_program.c | 104 __u32 i, j, hash = 0; in rte_softrss_be() local 110 hash ^= ((const __u32 *)def_rss_key)[j] << i | in rte_softrss_be() 117 return hash; in rte_softrss_be() 127 __u32 hash; in rss_l3_l4() local 176 hash = rte_softrss_be((__u32 *)&v4_tuple, key, 3); in rss_l3_l4() 202 hash = rte_softrss_be((__u32 *)&v6_tuple, key, 9); in rss_l3_l4() 207 queue = rsskey->queues[(hash % rsskey->nb_queues) & in rss_l3_l4()
|
| /dpdk/drivers/net/softnic/ |
| H A D | rte_eth_softnic_pipeline.c | 813 struct rte_table_hash_params hash; in softnic_pipeline_table_create() member 901 if (params->match.hash.n_keys == 0) in softnic_pipeline_table_create() 933 pp.hash.name = name; in softnic_pipeline_table_create() 934 pp.hash.key_size = params->match.hash.key_size; in softnic_pipeline_table_create() 935 pp.hash.key_offset = params->match.hash.key_offset; in softnic_pipeline_table_create() 936 pp.hash.key_mask = params->match.hash.key_mask; in softnic_pipeline_table_create() 937 pp.hash.n_keys = params->match.hash.n_keys; in softnic_pipeline_table_create() 938 pp.hash.n_buckets = params->match.hash.n_buckets; in softnic_pipeline_table_create() 939 pp.hash.f_hash = f_hash; in softnic_pipeline_table_create() 940 pp.hash.seed = 0; in softnic_pipeline_table_create() [all …]
|
| /dpdk/examples/ip_pipeline/ |
| H A D | pipeline.c | 788 struct rte_table_hash_params hash; in pipeline_table_create() member 875 if (params->match.hash.n_keys == 0) in pipeline_table_create() 907 pp.hash.name = name; in pipeline_table_create() 908 pp.hash.key_size = params->match.hash.key_size; in pipeline_table_create() 909 pp.hash.key_offset = params->match.hash.key_offset; in pipeline_table_create() 910 pp.hash.key_mask = params->match.hash.key_mask; in pipeline_table_create() 911 pp.hash.n_keys = params->match.hash.n_keys; in pipeline_table_create() 912 pp.hash.n_buckets = params->match.hash.n_buckets; in pipeline_table_create() 913 pp.hash.f_hash = f_hash; in pipeline_table_create() 914 pp.hash.seed = 0; in pipeline_table_create() [all …]
|
| /dpdk/examples/ip_pipeline/examples/ |
| H A D | flow.cli | 47 pipeline PIPELINE0 table match hash ext key 16 mask 00FF0000FFFFFFFFFFFFFFFFFFFFFFFF offset 278 buc… 57 pipeline PIPELINE0 table 0 rule add match hash ipv4_5tuple 100.0.0.10 200.0.0.10 100 200 6 action f… 58 pipeline PIPELINE0 table 0 rule add match hash ipv4_5tuple 100.0.0.11 200.0.0.11 101 201 6 action f… 59 pipeline PIPELINE0 table 0 rule add match hash ipv4_5tuple 100.0.0.12 200.0.0.12 102 202 6 action f… 60 pipeline PIPELINE0 table 0 rule add match hash ipv4_5tuple 100.0.0.13 200.0.0.13 103 203 6 action f…
|
| H A D | flow_crypto.cli | 42 pipeline PIPELINE0 table match hash ext key 8 mask FFFFFFFF00000000 offset 282 buckets 1K size 4K a… 53 pipeline PIPELINE0 table 0 rule add match hash ipv4_addr 100.0.0.10 action fwd port 0 sym_crypto en… 55 #pipeline PIPELINE0 table 0 rule add match hash ipv4_addr 100.0.0.10 action fwd port 0 sym_crypto d…
|
| /dpdk/drivers/net/mlx5/ |
| H A D | mlx5_rxtx_vec_neon.h | 207 elts[pos]->hash.fdir.hi = flow_tag; in rxq_cq_decompress_v() 208 elts[pos + 1]->hash.fdir.hi = flow_tag; in rxq_cq_decompress_v() 209 elts[pos + 2]->hash.fdir.hi = flow_tag; in rxq_cq_decompress_v() 254 elts[pos]->hash.fdir.hi = in rxq_cq_decompress_v() 256 elts[pos + 1]->hash.fdir.hi = in rxq_cq_decompress_v() 258 elts[pos + 2]->hash.fdir.hi = in rxq_cq_decompress_v() 260 elts[pos + 3]->hash.fdir.hi = in rxq_cq_decompress_v() 331 elts[pos]->hash.rss = 0; in rxq_cq_decompress_v() 332 elts[pos + 1]->hash.rss = 0; in rxq_cq_decompress_v() 333 elts[pos + 2]->hash.rss = 0; in rxq_cq_decompress_v() [all …]
|
| H A D | mlx5_rxtx_vec_sse.h | 192 elts[pos]->hash.fdir.hi = flow_tag; in rxq_cq_decompress_v() 193 elts[pos + 1]->hash.fdir.hi = flow_tag; in rxq_cq_decompress_v() 194 elts[pos + 2]->hash.fdir.hi = flow_tag; in rxq_cq_decompress_v() 239 elts[pos]->hash.fdir.hi = in rxq_cq_decompress_v() 241 elts[pos + 1]->hash.fdir.hi = in rxq_cq_decompress_v() 243 elts[pos + 2]->hash.fdir.hi = in rxq_cq_decompress_v() 245 elts[pos + 3]->hash.fdir.hi = in rxq_cq_decompress_v() 321 elts[pos]->hash.rss = 0; in rxq_cq_decompress_v() 322 elts[pos + 1]->hash.rss = 0; in rxq_cq_decompress_v() 323 elts[pos + 2]->hash.rss = 0; in rxq_cq_decompress_v() [all …]
|
| /dpdk/drivers/net/i40e/ |
| H A D | i40e_rxtx_vec_avx2.c | 71 rx_pkts[idx_0]->hash.fdir.hi = _mm256_extract_epi32(desc_fdir_data, 0); in desc_fdir_processing_32b() 72 rx_pkts[idx_1]->hash.fdir.hi = _mm256_extract_epi32(desc_fdir_data, 4); in desc_fdir_processing_32b() 194 RTE_BUILD_BUG_ON(offsetof(struct rte_mbuf, hash) != in _recv_raw_pkts_vec_avx2() 465 rx_pkts[i + 0]->hash.fdir.hi = _mm256_extract_epi32(fdir_mb0_1, 3); in _recv_raw_pkts_vec_avx2() 466 rx_pkts[i + 1]->hash.fdir.hi = _mm256_extract_epi32(fdir_mb0_1, 7); in _recv_raw_pkts_vec_avx2() 476 rx_pkts[i + 2]->hash.fdir.hi = _mm256_extract_epi32(fdir_mb2_3, 3); in _recv_raw_pkts_vec_avx2() 477 rx_pkts[i + 3]->hash.fdir.hi = _mm256_extract_epi32(fdir_mb2_3, 7); in _recv_raw_pkts_vec_avx2() 484 rx_pkts[i + 4]->hash.fdir.hi = _mm256_extract_epi32(fdir_mb4_5, 3); in _recv_raw_pkts_vec_avx2() 485 rx_pkts[i + 5]->hash.fdir.hi = _mm256_extract_epi32(fdir_mb4_5, 7); in _recv_raw_pkts_vec_avx2() 492 rx_pkts[i + 6]->hash.fdir.hi = _mm256_extract_epi32(fdir_mb6_7, 3); in _recv_raw_pkts_vec_avx2() [all …]
|
| H A D | i40e_rxtx_vec_sse.c | 137 rx_pkt[0]->hash.fdir.hi = _mm_extract_epi32(v_fdir_ids, 0); in descs_to_fdir_32b() 138 rx_pkt[1]->hash.fdir.hi = _mm_extract_epi32(v_fdir_ids, 1); in descs_to_fdir_32b() 139 rx_pkt[2]->hash.fdir.hi = _mm_extract_epi32(v_fdir_ids, 2); in descs_to_fdir_32b() 140 rx_pkt[3]->hash.fdir.hi = _mm_extract_epi32(v_fdir_ids, 3); in descs_to_fdir_32b() 184 rx_pkt[0]->hash.fdir.hi = _mm_extract_epi32(v_fdir_ids, 0); in descs_to_fdir_16b() 185 rx_pkt[1]->hash.fdir.hi = _mm_extract_epi32(v_fdir_ids, 1); in descs_to_fdir_16b() 186 rx_pkt[2]->hash.fdir.hi = _mm_extract_epi32(v_fdir_ids, 2); in descs_to_fdir_16b() 187 rx_pkt[3]->hash.fdir.hi = _mm_extract_epi32(v_fdir_ids, 3); in descs_to_fdir_16b() 434 RTE_BUILD_BUG_ON(offsetof(struct rte_mbuf, hash) != in _recv_raw_pkts_vec()
|
| /dpdk/lib/mbuf/ |
| H A D | rte_mbuf.h | 1100 mdst->hash = msrc->hash; in __rte_pktmbuf_copy_hdr() 1873 return m->hash.sched.queue_id; in rte_mbuf_sched_queue_get() 1882 return m->hash.sched.traffic_class; in rte_mbuf_sched_traffic_class_get() 1891 return m->hash.sched.color; in rte_mbuf_sched_color_get() 1911 struct rte_mbuf_sched sched = m->hash.sched; in rte_mbuf_sched_get() 1924 m->hash.sched.queue_id = queue_id; in rte_mbuf_sched_queue_set() 1933 m->hash.sched.traffic_class = traffic_class; in rte_mbuf_sched_traffic_class_set() 1942 m->hash.sched.color = color; in rte_mbuf_sched_color_set() 1962 m->hash.sched = (struct rte_mbuf_sched){ in rte_mbuf_sched_set()
|
| /dpdk/app/test-pmd/ |
| H A D | util.c | 160 (unsigned int) mb->hash.rss); in dump_pkt_burst() 169 "ID=0x%x", mb->hash.fdir.hi); in dump_pkt_burst() 173 mb->hash.fdir.hi, mb->hash.fdir.lo); in dump_pkt_burst() 177 mb->hash.fdir.hash, mb->hash.fdir.id); in dump_pkt_burst()
|