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.