DPDK  20.11.2
rte_net_crc.h
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(c) 2017-2020 Intel Corporation
3  */
4 
5 #ifndef _RTE_NET_CRC_H_
6 #define _RTE_NET_CRC_H_
7 
8 #include <stdint.h>
9 
10 #ifdef __cplusplus
11 extern "C" {
12 #endif
13 
15 enum rte_net_crc_type {
16  RTE_NET_CRC16_CCITT = 0,
17  RTE_NET_CRC32_ETH,
18  RTE_NET_CRC_REQS
19 };
20 
22 enum rte_net_crc_alg {
23  RTE_NET_CRC_SCALAR = 0,
24  RTE_NET_CRC_SSE42,
25  RTE_NET_CRC_NEON,
26  RTE_NET_CRC_AVX512,
27  RTE_NET_CRC_LSX,
28 };
29 
42 void
43 rte_net_crc_set_alg(enum rte_net_crc_alg alg);
44 
58 uint32_t
59 rte_net_crc_calc(const void *data,
60  uint32_t data_len,
61  enum rte_net_crc_type type);
62 
63 #ifdef __cplusplus
64 }
65 #endif
66 
67 
68 #endif /* _RTE_NET_CRC_H_ */