DPDK 25.11.3
Loading...
Searching...
No Matches
rte_comp_op Struct Reference

#include <rte_comp.h>

Data Fields

struct rte_mempoolmempool
rte_iova_t iova_addr
struct rte_mbufm_src
struct rte_mbufm_dst
enum rte_comp_flush_flag flush_flag
uint64_t input_chksum
uint64_t output_chksum
uint32_t consumed
uint32_t produced
uint64_t debug_status
uint8_t status

Detailed Description

Compression Operation.

This structure contains data relating to performing a compression operation on the referenced mbuf data buffers.

Comp operations are enqueued and dequeued in comp PMDs using the rte_compressdev_enqueue_burst() / rte_compressdev_dequeue_burst() APIs

Definition at line 382 of file rte_comp.h.

Field Documentation

◆ mempool

struct rte_mempool* mempool

Pool from which operation is allocated

Definition at line 401 of file rte_comp.h.

◆ iova_addr

rte_iova_t iova_addr

IOVA address of this operation

Definition at line 403 of file rte_comp.h.

◆ m_src

struct rte_mbuf* m_src

source mbuf The total size of the input buffer(s) can be retrieved using rte_pktmbuf_pkt_len(m_src). The max data size which can fit in a single mbuf is limited by the uint16_t rte_mbuf.data_len to 64k-1. If the input data is bigger than this it can be passed to the PMD in a chain of mbufs if the PMD's capabilities indicate it supports this.

Definition at line 405 of file rte_comp.h.

◆ m_dst

struct rte_mbuf* m_dst

destination mbuf The total size of the output buffer(s) can be retrieved using rte_pktmbuf_pkt_len(m_dst). The max data size which can fit in a single mbuf is limited by the uint16_t rte_mbuf.data_len to 64k-1. If the output data is expected to be bigger than this a chain of mbufs can be passed to the PMD if the PMD's capabilities indicate it supports this.

Note
, if incompressible data is passed to an engine for compression using RTE_COMP_ALGO_DEFLATE, it's possible for the output data to be larger than the uncompressed data, due to the inclusion of the DEFLATE header blocks. The size of m_dst should accommodate this, else OUT_OF_SPACE errors can be expected in this case.

Definition at line 413 of file rte_comp.h.

◆ flush_flag

enum rte_comp_flush_flag flush_flag

Defines flush characteristics for the output data. Only applicable in compress direction

Definition at line 469 of file rte_comp.h.

◆ input_chksum

uint64_t input_chksum

An input checksum can be provided to generate a cumulative checksum across sequential blocks in a STATELESS stream. Checksum type is as specified in xform chksum_type

Definition at line 473 of file rte_comp.h.

◆ output_chksum

uint64_t output_chksum

If a checksum is generated it will be written in here. Checksum type is as specified in xform chksum_type.

Definition at line 478 of file rte_comp.h.

◆ consumed

uint32_t consumed

The number of bytes from the source buffer which were compressed/decompressed.

Definition at line 482 of file rte_comp.h.

◆ produced

uint32_t produced

The number of bytes written to the destination buffer which were compressed/decompressed.

Definition at line 486 of file rte_comp.h.

◆ debug_status

uint64_t debug_status

Status of the operation is returned in the status param. This field allows the PMD to pass back extra pmd-specific debug information. Value is not defined on the API.

Definition at line 490 of file rte_comp.h.

◆ status

uint8_t status

Operation status - use values from enum rte_comp_status. This is reset to RTE_COMP_OP_STATUS_NOT_PROCESSED on allocation from mempool and will be set to RTE_COMP_OP_STATUS_SUCCESS after operation is successfully processed by a PMD

Definition at line 496 of file rte_comp.h.


The documentation for this struct was generated from the following file: