DPDK 26.11.0-rc1
rte_thash_gfni.h
1/* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(c) 2021 Intel Corporation
3 */
4
5#ifndef _RTE_THASH_GFNI_H_
6#define _RTE_THASH_GFNI_H_
7
8#include <rte_compat.h>
9#include <rte_log.h>
10
11#ifdef RTE_ARCH_X86
12
13#include <rte_thash_x86_gfni.h>
14
15#endif
16
17#ifdef __cplusplus
18extern "C" {
19#endif
20
25uint32_t
26rte_thash_gfni_stub(const uint64_t *mtrx, const uint8_t *key, int len);
27
28void
29rte_thash_gfni_bulk_stub(const uint64_t *mtrx, int len, uint8_t *tuple[],
30 uint32_t val[], uint32_t num);
31
32#ifndef RTE_THASH_GFNI_DEFINED
46static inline uint32_t
47rte_thash_gfni(const uint64_t *mtrx, const uint8_t *key, int len)
48{
49 return rte_thash_gfni_stub(mtrx, key, len);
50}
51
68static inline void
69rte_thash_gfni_bulk(const uint64_t *mtrx, int len, uint8_t *tuple[],
70 uint32_t val[], uint32_t num)
71{
72 rte_thash_gfni_bulk_stub(mtrx, len, tuple, val, num);
73}
74
75#endif /* RTE_THASH_GFNI_DEFINED */
76
77#ifdef __cplusplus
78}
79#endif
80
81#endif /* _RTE_THASH_GFNI_H_ */