DPDK
18.11.11
|
Go to the source code of this file.
Data Structures | |
struct | rte_comp_deflate_params |
struct | rte_comp_compress_xform |
struct | rte_comp_decompress_xform |
struct | rte_comp_xform |
struct | rte_comp_op |
Macros | |
#define | RTE_COMP_FF_STATEFUL_COMPRESSION (1ULL << 0) |
#define | RTE_COMP_FF_STATEFUL_DECOMPRESSION (1ULL << 1) |
#define | RTE_COMP_FF_OOP_SGL_IN_SGL_OUT (1ULL << 2) |
#define | RTE_COMP_FF_OOP_SGL_IN_LB_OUT (1ULL << 3) |
#define | RTE_COMP_FF_OOP_LB_IN_SGL_OUT (1ULL << 4) |
#define | RTE_COMP_FF_ADLER32_CHECKSUM (1ULL << 5) |
#define | RTE_COMP_FF_CRC32_CHECKSUM (1ULL << 6) |
#define | RTE_COMP_FF_CRC32_ADLER32_CHECKSUM (1ULL << 7) |
#define | RTE_COMP_FF_MULTI_PKT_CHECKSUM (1ULL << 8) |
#define | RTE_COMP_FF_SHA1_HASH (1ULL << 9) |
#define | RTE_COMP_FF_SHA2_SHA256_HASH (1ULL << 10) |
#define | RTE_COMP_FF_NONCOMPRESSED_BLOCKS (1ULL << 11) |
#define | RTE_COMP_FF_SHAREABLE_PRIV_XFORM (1ULL << 12) |
#define | RTE_COMP_FF_HUFFMAN_FIXED (1ULL << 13) |
#define | RTE_COMP_FF_HUFFMAN_DYNAMIC (1ULL << 14) |
#define | RTE_COMP_LEVEL_NONE (0) |
#define | RTE_COMP_LEVEL_MIN (1) |
#define | RTE_COMP_LEVEL_MAX (9) |
Functions | |
struct rte_mempool *__rte_experimental | rte_comp_op_pool_create (const char *name, unsigned int nb_elts, unsigned int cache_size, uint16_t user_size, int socket_id) |
struct rte_comp_op *__rte_experimental | rte_comp_op_alloc (struct rte_mempool *mempool) |
int __rte_experimental | rte_comp_op_bulk_alloc (struct rte_mempool *mempool, struct rte_comp_op **ops, uint16_t nb_ops) |
void __rte_experimental | rte_comp_op_free (struct rte_comp_op *op) |
const char *__rte_experimental | rte_comp_get_feature_name (uint64_t flag) |
RTE definitions for Data Compression Service
Definition in file rte_comp.h.
#define RTE_COMP_FF_STATEFUL_COMPRESSION (1ULL << 0) |
compression service feature flags
Keep these flags synchronised with rte_comp_get_feature_name()Stateful compression is supported
Definition at line 29 of file rte_comp.h.
#define RTE_COMP_FF_STATEFUL_DECOMPRESSION (1ULL << 1) |
Stateful decompression is supported
Definition at line 31 of file rte_comp.h.
#define RTE_COMP_FF_OOP_SGL_IN_SGL_OUT (1ULL << 2) |
Out-of-place Scatter-gather (SGL) buffers, with multiple segments, are supported in input and output
Definition at line 33 of file rte_comp.h.
#define RTE_COMP_FF_OOP_SGL_IN_LB_OUT (1ULL << 3) |
Out-of-place Scatter-gather (SGL) buffers are supported in input, combined with linear buffers (LB), with a single segment, in output
Definition at line 37 of file rte_comp.h.
#define RTE_COMP_FF_OOP_LB_IN_SGL_OUT (1ULL << 4) |
Out-of-place Scatter-gather (SGL) buffers are supported in output, combined with linear buffers (LB) in input
Definition at line 42 of file rte_comp.h.
#define RTE_COMP_FF_ADLER32_CHECKSUM (1ULL << 5) |
Adler-32 Checksum is supported
Definition at line 46 of file rte_comp.h.
#define RTE_COMP_FF_CRC32_CHECKSUM (1ULL << 6) |
CRC32 Checksum is supported
Definition at line 48 of file rte_comp.h.
#define RTE_COMP_FF_CRC32_ADLER32_CHECKSUM (1ULL << 7) |
Adler-32/CRC32 Checksum is supported
Definition at line 50 of file rte_comp.h.
#define RTE_COMP_FF_MULTI_PKT_CHECKSUM (1ULL << 8) |
Generation of checksum across multiple stateless packets is supported
Definition at line 52 of file rte_comp.h.
#define RTE_COMP_FF_SHA1_HASH (1ULL << 9) |
SHA1 Hash is supported
Definition at line 54 of file rte_comp.h.
#define RTE_COMP_FF_SHA2_SHA256_HASH (1ULL << 10) |
SHA256 Hash of SHA2 family is supported
Definition at line 56 of file rte_comp.h.
#define RTE_COMP_FF_NONCOMPRESSED_BLOCKS (1ULL << 11) |
Creation of non-compressed blocks using RTE_COMP_LEVEL_NONE is supported
Definition at line 58 of file rte_comp.h.
#define RTE_COMP_FF_SHAREABLE_PRIV_XFORM (1ULL << 12) |
Private xforms created by the PMD can be shared across multiple stateless operations. If not set, then app needs to create as many priv_xforms as it expects to have stateless operations in-flight.
Definition at line 60 of file rte_comp.h.
#define RTE_COMP_FF_HUFFMAN_FIXED (1ULL << 13) |
Fixed huffman encoding is supported
Definition at line 66 of file rte_comp.h.
#define RTE_COMP_FF_HUFFMAN_DYNAMIC (1ULL << 14) |
Dynamic huffman encoding is supported
Definition at line 68 of file rte_comp.h.
#define RTE_COMP_LEVEL_NONE (0) |
Use PMD Default
Definition at line 133 of file rte_comp.h.
#define RTE_COMP_LEVEL_MIN (1) |
Output uncompressed blocks if supported by the specified algorithm
Definition at line 135 of file rte_comp.h.
#define RTE_COMP_LEVEL_MAX (9) |
Use minimum compression level supported by the PMD
Definition at line 137 of file rte_comp.h.
enum rte_comp_op_status |
Status of comp operation
Definition at line 72 of file rte_comp.h.
enum rte_comp_algorithm |
Compression Algorithms
Enumerator | |
---|---|
RTE_COMP_ALGO_NULL |
No Compression algorithm No compression. Pass-through, data is copied unchanged from source buffer to destination buffer. |
RTE_COMP_ALGO_DEFLATE |
DEFLATE compression algorithm https://tools.ietf.org/html/rfc1951 |
RTE_COMP_ALGO_LZS |
LZS compression algorithm https://tools.ietf.org/html/rfc2395 |
Definition at line 96 of file rte_comp.h.
Compression Hash Algorithms
Enumerator | |
---|---|
RTE_COMP_HASH_ALGO_NONE |
No hash |
RTE_COMP_HASH_ALGO_SHA1 |
SHA1 hash algorithm |
RTE_COMP_HASH_ALGO_SHA2_256 |
SHA256 hash algorithm of SHA2 family |
Definition at line 116 of file rte_comp.h.
Use maximum compression level supported by the PMD Compression checksum types
Definition at line 141 of file rte_comp.h.
enum rte_comp_huffman |
Compression Huffman Type - used by DEFLATE algorithm
Enumerator | |
---|---|
RTE_COMP_HUFFMAN_DEFAULT |
PMD may choose which Huffman codes to use |
RTE_COMP_HUFFMAN_FIXED |
Use Fixed Huffman codes |
RTE_COMP_HUFFMAN_DYNAMIC |
Use Dynamic Huffman codes |
Definition at line 156 of file rte_comp.h.
enum rte_comp_flush_flag |
Compression flush flags
Definition at line 166 of file rte_comp.h.
enum rte_comp_xform_type |
Compression transform types
Enumerator | |
---|---|
RTE_COMP_COMPRESS |
Compression service - compress |
RTE_COMP_DECOMPRESS |
Compression service - decompress |
Definition at line 189 of file rte_comp.h.
enum rte_comp_op_type |
Compression operation type
Definition at line 197 of file rte_comp.h.
struct rte_mempool* __rte_experimental rte_comp_op_pool_create | ( | const char * | name, |
unsigned int | nb_elts, | ||
unsigned int | cache_size, | ||
uint16_t | user_size, | ||
int | socket_id | ||
) |
Creates an operation pool
name | Compress pool name |
nb_elts | Number of elements in pool |
cache_size | Number of elements to cache on lcore, see rte_mempool_create for further details about cache size |
user_size | Size of private data to allocate for user with each operation |
socket_id | Socket to identifier allocate memory on |
struct rte_comp_op* __rte_experimental rte_comp_op_alloc | ( | struct rte_mempool * | mempool | ) |
Allocate an operation from a mempool with default parameters set
mempool | Compress operation mempool |
int __rte_experimental rte_comp_op_bulk_alloc | ( | struct rte_mempool * | mempool, |
struct rte_comp_op ** | ops, | ||
uint16_t | nb_ops | ||
) |
Bulk allocate operations from a mempool with default parameters set
mempool | Compress operation mempool |
ops | Array to place allocated operations |
nb_ops | Number of operations to allocate |
void __rte_experimental rte_comp_op_free | ( | struct rte_comp_op * | op | ) |
Free operation structure If operation has been allocate from a rte_mempool, then the operation will be returned to the mempool.
op | Compress operation |
const char* __rte_experimental rte_comp_get_feature_name | ( | uint64_t | flag | ) |
Get the name of a compress service feature flag
flag | The mask describing the flag |