Scroll to navigation

rte_crypto_op(3) DPDK 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]
};
uint8_t type
uint8_t status
uint8_t sess_type
uint8_t aux_flags
uint8_t content_type
struct {
uint8_t content_type
} tls_record
union {
struct {
uint8_t content_type
} tls_record
} param1
uint8_t reserved [1]
uint16_t private_data_offset

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 128 of file rte_crypto.h.

struct rte_crypto_asym_op asym[0]

Asymmetric operation parameters

Definition at line 128 of file rte_crypto.h.

__extension__ { ... }

operation specific parameters

Author

Generated automatically by Doxygen for DPDK from the source code.

Fri Dec 15 2023 Version 23.11.0