Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
rte_comp_op(3)			     DPDK			rte_comp_op(3)

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
       void * private_xform
       void * stream
       uint32_t	offset
       uint32_t	length
       uint8_t * digest

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

   struct rte_mempool* mempool
       Pool from which operation is allocated

       Definition at line 401 of file rte_comp.h.

   rte_iova_t iova_addr
       IOVA address of this operation

       IO address of the buffer

       Definition at line 403 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 405 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 413 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 430 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 438 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 457 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 469 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 473 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 478 of file rte_comp.h.

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

       Definition at line 482 of file rte_comp.h.

   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.

   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.

   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.

Author
       Generated automatically by Doxygen for DPDK from	the source code.

Version	25.11.0			Thu Jun	11 2026			rte_comp_op(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=rte_comp_op&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help