Scroll to navigation

rte_hash_crc.h(3) DPDK rte_hash_crc.h(3)

NAME

rte_hash_crc.h

SYNOPSIS

#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'

Functions


static void rte_hash_crc_set_alg (uint8_t alg)
static uint32_t rte_hash_crc_1byte (uint8_t data, uint32_t init_val)
static uint32_t rte_hash_crc_2byte (uint16_t data, uint32_t init_val)
static uint32_t rte_hash_crc_4byte (uint32_t data, uint32_t init_val)
static uint32_t rte_hash_crc_8byte (uint64_t data, uint32_t init_val)
static uint32_t rte_hash_crc (const void *data, uint32_t data_len, uint32_t init_val)

Detailed Description

RTE CRC Hash

Definition in file rte_hash_crc.h.

Function Documentation

static void rte_hash_crc_set_alg (uint8_t alg) [inline], [static]

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.

static uint32_t rte_hash_crc_1byte (uint8_t data, uint32_t init_val) [inline], [static]

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.

static uint32_t rte_hash_crc_2byte (uint16_t data, uint32_t init_val) [inline], [static]

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.

static uint32_t rte_hash_crc_4byte (uint32_t data, uint32_t init_val) [inline], [static]

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.

static uint32_t rte_hash_crc_8byte (uint64_t data, uint32_t init_val) [inline], [static]

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.

static uint32_t rte_hash_crc (const void * data, uint32_t data_len, uint32_t init_val) [inline], [static]

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.

Author

Generated automatically by Doxygen for DPDK from the source code.

Fri Dec 15 2023 Version 23.11.0