Provided by: dpdk-doc_24.11.3-1_all bug

NAME

       rte_comp_op

SYNOPSIS

       #include <rte_comp.h>

   Data Fields
       struct rte_mempool * mempool
       rte_iova_t iova_addr
       struct rte_mbuf * m_src
       struct rte_mbuf * m_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 359 of file rte_comp.h.

Field Documentation

   void* private_xform
       Stateless private PMD data derived from an rte_comp_xform. A handle returned by
       rte_compressdev_private_xform_create() must be attached to operations of op_type RTE_COMP_STATELESS.

       Definition at line 362 of file rte_comp.h.

   void* stream
       Private PMD data derived initially from an rte_comp_xform, which holds state and history data and evolves
       as operations are processed. rte_compressdev_stream_create() must be called on a device for all STATEFUL
       data streams and the resulting stream attached to the one or more operations associated with the data
       stream. All operations in a stream must be sent to the same device.

       Definition at line 367 of file rte_comp.h.

   struct rte_mempool* mempool
       Pool from which operation is allocated

       Definition at line 378 of file rte_comp.h.

   rte_iova_t iova_addr
       IOVA address of this operation

       IO address of the buffer

       Definition at line 380 of file rte_comp.h.

   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 382 of file rte_comp.h.

   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 390 of file rte_comp.h.

   uint32_t offset
       Starting point for compression or decompression, specified as number of bytes from start of packet in
       source buffer. This offset starts from the first segment of the buffer, in case the m_src is a chain of
       mbufs. Starting point for checksum generation in compress direction.

       Starting point for writing output data, specified as number of bytes from start of packet in dest buffer.
       This offset starts from the first segment of the buffer, in case the m_dst is a chain of mbufs. Starting
       point for checksum generation in decompress direction.

       Definition at line 407 of file rte_comp.h.

   uint32_t length
       The length, in bytes, of the data in source buffer to be compressed or decompressed. Also the length of
       the data over which the checksum should be generated in compress direction

       Definition at line 415 of file rte_comp.h.

   uint8_t* digest
       Output buffer to store hash output, if enabled in xform. Buffer would contain valid value only after an
       op with flush flag = RTE_COMP_FLUSH_FULL/FLUSH_FINAL is processed successfully.

       Length of buffer should be contiguous and large enough to accommodate digest produced by specific hash
       algo.

       Definition at line 434 of file rte_comp.h.

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

       Definition at line 446 of file rte_comp.h.

   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 450 of file rte_comp.h.

   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 455 of file rte_comp.h.

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

       Definition at line 459 of file rte_comp.h.

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

       Definition at line 463 of file rte_comp.h.

   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 467 of file rte_comp.h.

   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 473 of file rte_comp.h.

Author

       Generated automatically by Doxygen for DPDK from the source code.

DPDK                                             Version 24.11.3                                  rte_comp_op(3)