#include <stdint.h>
#include <rte_branch_prediction.h>
#include <rte_common.h>
#include <rte_config.h>
#include <rte_cpuflags.h>
#include <rte_log.h>
#include "rte_crc_sw.h"
#include "rte_crc_generic.h"
Go to the source code of this file.
RTE CRC Hash
Definition in file rte_hash_crc.h.
◆ rte_hash_crc_set_alg()
static void rte_hash_crc_set_alg |
( |
uint8_t |
alg | ) |
|
|
inlinestatic |
Allow or disallow use of SSE4.2/ARMv8 intrinsics for CRC32 hash calculation.
- Parameters
-
alg | An OR of following flags:
- (CRC32_SW) Don't use SSE4.2/ARMv8 intrinsics (default non-[x86/ARMv8])
- (CRC32_SSE42) Use SSE4.2 intrinsics if available
- (CRC32_SSE42_x64) Use 64-bit SSE4.2 intrinsic if available (default x86)
- (CRC32_ARM64) Use ARMv8 CRC intrinsic if available (default ARMv8)
|
Definition at line 56 of file rte_hash_crc.h.
◆ rte_hash_crc_1byte()
static uint32_t rte_hash_crc_1byte |
( |
uint8_t |
data, |
|
|
uint32_t |
init_val |
|
) |
| |
|
inlinestatic |
Use single CRC32 instruction to perform a hash on a byte value.
- Parameters
-
data | Data to perform hash on. |
init_val | Value to initialise hash generator. |
- Returns
- 32bit calculated hash value.
◆ rte_hash_crc_2byte()
static uint32_t rte_hash_crc_2byte |
( |
uint16_t |
data, |
|
|
uint32_t |
init_val |
|
) |
| |
|
inlinestatic |
Use single CRC32 instruction to perform a hash on a 2 bytes value.
- Parameters
-
data | Data to perform hash on. |
init_val | Value to initialise hash generator. |
- Returns
- 32bit calculated hash value.
◆ rte_hash_crc_4byte()
static uint32_t rte_hash_crc_4byte |
( |
uint32_t |
data, |
|
|
uint32_t |
init_val |
|
) |
| |
|
inlinestatic |
Use single CRC32 instruction to perform a hash on a 4 bytes value.
- Parameters
-
data | Data to perform hash on. |
init_val | Value to initialise hash generator. |
- Returns
- 32bit calculated hash value.
- Examples:
- examples/l3fwd/l3fwd_em.c.
◆ rte_hash_crc_8byte()
static uint32_t rte_hash_crc_8byte |
( |
uint64_t |
data, |
|
|
uint32_t |
init_val |
|
) |
| |
|
inlinestatic |
Use single CRC32 instruction to perform a hash on a 8 bytes value.
- Parameters
-
data | Data to perform hash on. |
init_val | Value to initialise hash generator. |
- Returns
- 32bit calculated hash value.
◆ rte_hash_crc()
static uint32_t rte_hash_crc |
( |
const void * |
data, |
|
|
uint32_t |
data_len, |
|
|
uint32_t |
init_val |
|
) |
| |
|
inlinestatic |
Calculate CRC32 hash on user-supplied byte array.
- Parameters
-
data | Data to perform hash on. |
data_len | How many bytes to use to calculate hash value. |
init_val | Value to initialise hash generator. |
- Returns
- 32bit calculated hash value.
Definition at line 167 of file rte_hash_crc.h.