---
name: "rte_crypto_op"
section: "3"
platform: "linux"
package: "dpdk-doc"
version: "24.11.4-0+deb13u1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/rte_crypto_op"
---

# rte\_crypto\_op(3)

## NAME

rte\_crypto\_op

## SYNOPSIS

`#include <rte_crypto.h>`

### Data Fields

struct **rte\_mempool** \* **mempool**\
 **rte\_iova\_t** **phys\_addr**\
 union {\
    struct **rte\_crypto\_sym\_op** **sym** \[0\]\
    struct **rte\_crypto\_asym\_op** **asym** \[0\]\
 }; \

## Detailed Description

Cryptographic Operation.

This structure contains data relating to performing cryptographic operations. This operation structure is used to contain any operation which is supported by the cryptodev API, PMDs should check the type parameter to verify that the operation is a support function of the device. Crypto operations are enqueued and dequeued in crypto PMDs using the **rte\_cryptodev\_enqueue\_burst()** / **rte\_cryptodev\_dequeue\_burst()** .

Definition at line **91** of file **rte\_crypto.h**.

## Field Documentation

### uint8\_t type

operation type

Definition at line **97** of file **rte\_crypto.h**.

### uint8\_t status

operation status - this is reset to RTE\_CRYPTO\_OP\_STATUS\_NOT\_PROCESSED on allocation from mempool and will be set to RTE\_CRYPTO\_OP\_STATUS\_SUCCESS after crypto operation is successfully processed by a crypto PMD

Definition at line **99** of file **rte\_crypto.h**.

### uint8\_t sess\_type

operation session type

Definition at line **107** of file **rte\_crypto.h**.

### uint8\_t aux\_flags

Operation specific auxiliary/additional flags. These flags carry additional information from/to the operation. Processing of the same is optional.

The flags are defined as RTE\_CRYPTO\_OP\_AUX\_FLAGS\_\* and would be set by PMD for application consumption when the status is RTE\_CRYPTO\_OP\_STATUS\_SUCCESS. In case of errors, the value of this field is undefined.

With TLS record offload (RTE\_SECURITY\_PROTOCOL\_TLS\_RECORD), application may provide the extra padding required for the plaintext provided. This field can be used for passing the same in units of 8B. The value would be set by application for PMD consumption.

**See also**

struct **rte\_security\_tls\_record\_sess\_options**

Definition at line **109** of file **rte\_crypto.h**.

### uint8\_t content\_type

Content type. The field can act both as input and output.

As input, for passing message type in case of record write (encrypt) operation. Applicable for,

- 1\.

  TLS 1.2

- 2\.

  TLS 1.3

- 3\.

  DTLS 1.2

As output, for returning message type in case of record read (decrypt) operation. Applicable for,

- 1\.

  TLS 1.3

Message types are listed as RTE\_TLS\_TYPE\_\* and RTE\_DTLS\_TYPE\_\*.

Definition at line **128** of file **rte\_crypto.h**.

### struct { ... } tls\_record

TLS record

### union { ... } param1

Additional per operation parameter 1.

### uint8\_t reserved\[1\]

Reserved bytes to fill 64 bits for future additions

Definition at line **149** of file **rte\_crypto.h**.

### uint16\_t private\_data\_offset

Offset to indicate start of private data (if any). The offset is counted from the start of the **rte\_crypto\_op** including IV. The private data may be used by the application to store information which should remain untouched in the library/driver

Definition at line **153** of file **rte\_crypto.h**.

### struct rte\_mempool\* mempool

crypto operation mempool which operation is allocated from

Definition at line **163** of file **rte\_crypto.h**.

### rte\_iova\_t phys\_addr

physical address of crypto operation

Definition at line **166** of file **rte\_crypto.h**.

### struct rte\_crypto\_sym\_op sym\[0\]

Symmetric operation parameters

Definition at line **178** of file **rte\_crypto.h**.

### struct rte\_crypto\_asym\_op asym\[0\]

Asymmetric operation parameters

Definition at line **181** of file **rte\_crypto.h**.

### \_\_extension\_\_ union { ... }

operation specific parameters

## Author

Generated automatically by Doxygen for DPDK from the source code.
