DPDK 25.03.0-rc0
rte_table_hash.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(c) 2010-2017 Intel Corporation
3 */
4
5#ifndef __INCLUDE_RTE_TABLE_HASH_H__
6#define __INCLUDE_RTE_TABLE_HASH_H__
7
47#include <stdint.h>
48
49#include "rte_table.h"
50
51#ifdef __cplusplus
52extern "C" {
53#endif
54
56typedef uint64_t (*rte_table_hash_op_hash)(
57 void *key,
58 void *key_mask,
59 uint32_t key_size,
60 uint64_t seed);
61
65 const char *name;
66
68 uint32_t key_size;
69
71 uint32_t key_offset;
72
74 uint8_t *key_mask;
75
77 uint32_t n_keys;
78
80 uint32_t n_buckets;
81
84
86 uint64_t seed;
87};
88
91extern struct rte_table_ops rte_table_hash_key8_ext_ops;
92extern struct rte_table_ops rte_table_hash_key16_ext_ops;
93extern struct rte_table_ops rte_table_hash_key32_ext_ops;
94
97
98extern struct rte_table_ops rte_table_hash_key8_lru_ops;
99extern struct rte_table_ops rte_table_hash_key16_lru_ops;
100extern struct rte_table_ops rte_table_hash_key32_lru_ops;
101
102#ifdef __cplusplus
103}
104#endif
105
106#endif
struct rte_table_ops rte_table_hash_lru_ops
uint64_t(* rte_table_hash_op_hash)(void *key, void *key_mask, uint32_t key_size, uint64_t seed)
struct rte_table_ops rte_table_hash_ext_ops
rte_table_hash_op_hash f_hash