logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

rte_crypto_op

Author

       Generated automatically by Doxygen for DPDK from the source code.

DPDK                                             Version 24.11.2                                rte_crypto_op(3)

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_ttype
       operation type

       Definition at line 97 of file rte_crypto.h.

   uint8_tstatus
       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_tsess_type
       operation session type

       Definition at line 107 of file rte_crypto.h.

   uint8_taux_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.

       Seealso
           struct rte_security_tls_record_sess_options

       Definition at line 109 of file rte_crypto.h.

   uint8_tcontent_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_treserved[1]
       Reserved bytes to fill 64 bits for future additions

       Definition at line 149 of file rte_crypto.h.

   uint16_tprivate_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.

   structrte_mempool*mempool
       crypto operation mempool which operation is allocated from

       Definition at line 163 of file rte_crypto.h.

   rte_iova_tphys_addr
       physical address of crypto operation

       Definition at line 166 of file rte_crypto.h.

   structrte_crypto_sym_opsym[0]
       Symmetric operation parameters

       Definition at line 178 of file rte_crypto.h.

   structrte_crypto_asym_opasym[0]
       Asymmetric operation parameters

       Definition at line 181 of file rte_crypto.h.

   __extension__union{...}
       operation specific parameters

Name

       rte_crypto_op

Synopsis

       #include <rte_crypto.h>

   DataFields
       struct rte_mempool * mempoolrte_iova_tphys_addr
       union {
          struct rte_crypto_sym_opsym [0]
          struct rte_crypto_asym_opasym [0]
       };

See Also