DPDK  22.11.7
rte_crypto_sym.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(c) 2016-2020 Intel Corporation
3  */
4 
5 #ifndef _RTE_CRYPTO_SYM_H_
6 #define _RTE_CRYPTO_SYM_H_
7 
17 #ifdef __cplusplus
18 extern "C" {
19 #endif
20 
21 #include <string.h>
22 
23 #include <rte_compat.h>
24 #include <rte_mbuf.h>
25 #include <rte_memory.h>
26 #include <rte_mempool.h>
27 #include <rte_common.h>
28 
36  void *base;
40  uint32_t len;
42  uint32_t tot_len;
43 };
44 
53  uint32_t num;
54 };
55 
62  void *va;
63  rte_iova_t iova;
64 };
65 
73  uint32_t num;
82 
83  __extension__
84  union {
89  };
90 
96  int32_t *status;
97 };
98 
104  uint64_t raw;
105  struct {
106  struct {
107  uint16_t head;
108  uint16_t tail;
109  } auth, cipher;
110  } ofs;
111 };
112 
177 };
178 
180 extern const char *
182 
189 };
190 
192 extern const char *
194 
210  struct {
211  const uint8_t *data;
212  uint16_t length;
213  } key;
245  struct {
246  uint16_t offset;
272  uint16_t length;
287  } iv;
289  uint32_t dataunit_len;
300 };
301 
378 };
379 
381 extern const char *
383 
388 };
389 
391 extern const char *
393 
407  struct {
408  const uint8_t *data;
409  uint16_t length;
410  } key;
418  struct {
419  uint16_t offset;
435  uint16_t length;
453  } iv;
455  uint16_t digest_length;
465 };
466 
467 
482 };
483 
485 extern const char *
487 
494 };
495 
497 extern const char *
499 
500 struct rte_crypto_aead_xform {
503  enum rte_crypto_aead_algorithm algo;
506  struct {
507  const uint8_t *data;
508  uint16_t length;
509  } key;
510 
511  struct {
512  uint16_t offset;
532  uint16_t length;
548  } iv;
550  uint16_t digest_length;
551 
552  uint16_t aad_length;
558 };
559 
566 };
567 
577 /* Structure rte_crypto_sym_xform 8< */
582  ;
584  union {
589  struct rte_crypto_aead_xform aead;
591  };
592 };
593 /* >8 End of structure rte_crypto_sym_xform. */
594 
625 /* Structure rte_crypto_sym_op 8< */
627  struct rte_mbuf *m_src;
628  struct rte_mbuf *m_dst;
631  union {
632  void *session;
636  };
637 
639  union {
640  struct {
641  struct {
642  uint32_t offset;
647  uint32_t length;
652  } data;
653  struct {
654  uint8_t *data;
676  } digest;
677  struct {
678  uint8_t *data;
710  } aad;
712  } aead;
713 
714  struct {
715  struct {
716  struct {
717  uint32_t offset;
733  uint32_t length;
750  } data;
751  } cipher;
752 
753  struct {
754  struct {
755  uint32_t offset;
781  uint32_t length;
805  } data;
808  struct {
809  uint8_t *data;
882  } digest;
883  } auth;
884  };
885  };
886 };
887 /* >8 End of structure rte_crypto_sym_op. */
888 
889 
895 static inline void
897 {
898  memset(op, 0, sizeof(*op));
899 }
900 
901 
912 static inline struct rte_crypto_sym_xform *
914  void *priv_data, uint8_t nb_xforms)
915 {
916  struct rte_crypto_sym_xform *xform;
917 
918  sym_op->xform = xform = (struct rte_crypto_sym_xform *)priv_data;
919 
920  do {
922  xform = xform->next = --nb_xforms > 0 ? xform + 1 : NULL;
923  } while (xform);
924 
925  return sym_op->xform;
926 }
927 
928 
935 static inline int
937 {
938  sym_op->session = sess;
939 
940  return 0;
941 }
942 
961 __rte_experimental
962 static inline int
963 rte_crypto_mbuf_to_vec(const struct rte_mbuf *mb, uint32_t ofs, uint32_t len,
964  struct rte_crypto_vec vec[], uint32_t num)
965 {
966  uint32_t i;
967  struct rte_mbuf *nseg;
968  uint32_t left;
969  uint32_t seglen;
970 
971  /* assuming that requested data starts in the first segment */
972  RTE_ASSERT(mb->data_len > ofs);
973 
974  if (mb->nb_segs > num)
975  return -mb->nb_segs;
976 
977  vec[0].base = rte_pktmbuf_mtod_offset(mb, void *, ofs);
978  vec[0].iova = rte_pktmbuf_iova_offset(mb, ofs);
979  vec[0].tot_len = mb->buf_len - rte_pktmbuf_headroom(mb) - ofs;
980 
981  /* whole data lies in the first segment */
982  seglen = mb->data_len - ofs;
983  if (len <= seglen) {
984  vec[0].len = len;
985  return 1;
986  }
987 
988  /* data spread across segments */
989  vec[0].len = seglen;
990  left = len - seglen;
991  for (i = 1, nseg = mb->next; nseg != NULL; nseg = nseg->next, i++) {
992 
993  vec[i].base = rte_pktmbuf_mtod(nseg, void *);
994  vec[i].iova = rte_pktmbuf_iova(nseg);
995  vec[i].tot_len = mb->buf_len - rte_pktmbuf_headroom(mb) - ofs;
996 
997  seglen = nseg->data_len;
998  if (left <= seglen) {
999  /* whole requested data is completed */
1000  vec[i].len = left;
1001  left = 0;
1002  i++;
1003  break;
1004  }
1005 
1006  /* use whole segment */
1007  vec[i].len = seglen;
1008  left -= seglen;
1009  }
1010 
1011  RTE_ASSERT(left == 0);
1012  return i;
1013 }
1014 
1015 
1016 #ifdef __cplusplus
1017 }
1018 #endif
1019 
1020 #endif /* _RTE_CRYPTO_SYM_H_ */
__rte_crypto_sym_op_reset
static void __rte_crypto_sym_op_reset(struct rte_crypto_sym_op *op)
Definition: rte_crypto_sym.h:896
rte_crypto_sym_op::digest
struct rte_crypto_sym_op::@84::@86::@90 digest
rte_crypto_auth_xform::key
struct rte_crypto_auth_xform::@76 key
rte_crypto_vec::iova
rte_iova_t iova
Definition: rte_crypto_sym.h:38
rte_mbuf::next
struct rte_mbuf * next
Definition: rte_mbuf_core.h:485
rte_crypto_sym_xform::auth
struct rte_crypto_auth_xform auth
Definition: rte_crypto_sym.h:585
rte_crypto_auth_algorithm_strings
const char * rte_crypto_auth_algorithm_strings[]
RTE_CRYPTO_CIPHER_KASUMI_F8
@ RTE_CRYPTO_CIPHER_KASUMI_F8
Definition: rte_crypto_sym.h:145
rte_crypto_cipher_xform::op
enum rte_crypto_cipher_operation op
Definition: rte_crypto_sym.h:202
rte_crypto_cipher_algorithm
rte_crypto_cipher_algorithm
Definition: rte_crypto_sym.h:120
rte_memory.h
rte_crypto_sym_ofs
Definition: rte_crypto_sym.h:103
RTE_CRYPTO_CIPHER_ARC4
@ RTE_CRYPTO_CIPHER_ARC4
Definition: rte_crypto_sym.h:142
RTE_CRYPTO_AEAD_CHACHA20_POLY1305
@ RTE_CRYPTO_AEAD_CHACHA20_POLY1305
Definition: rte_crypto_sym.h:480
RTE_CRYPTO_AUTH_AES_GMAC
@ RTE_CRYPTO_AUTH_AES_GMAC
Definition: rte_crypto_sym.h:317
RTE_CRYPTO_CIPHER_3DES_ECB
@ RTE_CRYPTO_CIPHER_3DES_ECB
Definition: rte_crypto_sym.h:128
rte_iova_t
uint64_t rte_iova_t
Definition: rte_common.h:458
RTE_CRYPTO_AEAD_AES_CCM
@ RTE_CRYPTO_AEAD_AES_CCM
Definition: rte_crypto_sym.h:476
RTE_CRYPTO_CIPHER_NULL
@ RTE_CRYPTO_CIPHER_NULL
Definition: rte_crypto_sym.h:121
rte_pktmbuf_iova
#define rte_pktmbuf_iova(m)
Definition: rte_mbuf_core.h:767
RTE_CRYPTO_CIPHER_SM4_ECB
@ RTE_CRYPTO_CIPHER_SM4_ECB
Definition: rte_crypto_sym.h:171
RTE_CRYPTO_CIPHER_AES_XTS
@ RTE_CRYPTO_CIPHER_AES_XTS
Definition: rte_crypto_sym.h:139
RTE_CRYPTO_AUTH_SHA512
@ RTE_CRYPTO_AUTH_SHA512
Definition: rte_crypto_sym.h:349
rte_crypto_auth_operation_strings
const char * rte_crypto_auth_operation_strings[]
rte_crypto_auth_xform::length
uint16_t length
Definition: rte_crypto_sym.h:409
rte_crypto_cipher_xform::algo
enum rte_crypto_cipher_algorithm algo
Definition: rte_crypto_sym.h:207
rte_crypto_cipher_xform::key
struct rte_crypto_cipher_xform::@74 key
RTE_CRYPTO_CIPHER_SM4_CBC
@ RTE_CRYPTO_CIPHER_SM4_CBC
Definition: rte_crypto_sym.h:173
RTE_CRYPTO_AUTH_KASUMI_F9
@ RTE_CRYPTO_AUTH_KASUMI_F9
Definition: rte_crypto_sym.h:322
rte_crypto_vec::base
void * base
Definition: rte_crypto_sym.h:36
rte_crypto_auth_operation
rte_crypto_auth_operation
Definition: rte_crypto_sym.h:385
RTE_CRYPTO_AUTH_AES_CMAC
@ RTE_CRYPTO_AUTH_AES_CMAC
Definition: rte_crypto_sym.h:315
rte_crypto_sym_vec::aad
struct rte_crypto_va_iova_ptr * aad
Definition: rte_crypto_sym.h:88
rte_crypto_cipher_xform::data
const uint8_t * data
Definition: rte_crypto_sym.h:211
RTE_CRYPTO_SYM_XFORM_NOT_SPECIFIED
@ RTE_CRYPTO_SYM_XFORM_NOT_SPECIFIED
Definition: rte_crypto_sym.h:562
rte_crypto_sym_vec::num
uint32_t num
Definition: rte_crypto_sym.h:73
RTE_CRYPTO_AUTH_SHA512_HMAC
@ RTE_CRYPTO_AUTH_SHA512_HMAC
Definition: rte_crypto_sym.h:351
rte_crypto_sym_op::session
void * session
Definition: rte_crypto_sym.h:632
rte_crypto_sym_op::phys_addr
rte_iova_t phys_addr
Definition: rte_crypto_sym.h:674
rte_mbuf::data_len
uint16_t data_len
Definition: rte_mbuf_core.h:554
RTE_CRYPTO_AUTH_SHA3_224
@ RTE_CRYPTO_AUTH_SHA3_224
Definition: rte_crypto_sym.h:360
RTE_CRYPTO_AUTH_SHA3_384
@ RTE_CRYPTO_AUTH_SHA3_384
Definition: rte_crypto_sym.h:368
RTE_CRYPTO_AUTH_AES_CBC_MAC
@ RTE_CRYPTO_AUTH_AES_CBC_MAC
Definition: rte_crypto_sym.h:313
RTE_CRYPTO_CIPHER_3DES_CTR
@ RTE_CRYPTO_CIPHER_3DES_CTR
Definition: rte_crypto_sym.h:126
rte_crypto_sgl
Definition: rte_crypto_sym.h:49
RTE_CRYPTO_AUTH_SHA1_HMAC
@ RTE_CRYPTO_AUTH_SHA1_HMAC
Definition: rte_crypto_sym.h:332
RTE_CRYPTO_CIPHER_DES_CBC
@ RTE_CRYPTO_CIPHER_DES_CBC
Definition: rte_crypto_sym.h:154
rte_crypto_sym_op::xform
struct rte_crypto_sym_xform * xform
Definition: rte_crypto_sym.h:634
RTE_CRYPTO_AEAD_OP_ENCRYPT
@ RTE_CRYPTO_AEAD_OP_ENCRYPT
Definition: rte_crypto_sym.h:490
RTE_CRYPTO_CIPHER_ZUC_EEA3
@ RTE_CRYPTO_CIPHER_ZUC_EEA3
Definition: rte_crypto_sym.h:151
RTE_CRYPTO_AUTH_SM3
@ RTE_CRYPTO_AUTH_SM3
Definition: rte_crypto_sym.h:376
rte_mbuf
Definition: rte_mbuf_core.h:465
rte_pktmbuf_headroom
static uint16_t rte_pktmbuf_headroom(const struct rte_mbuf *m)
Definition: rte_mbuf.h:1514
__rte_crypto_sym_op_attach_sym_session
static int __rte_crypto_sym_op_attach_sym_session(struct rte_crypto_sym_op *sym_op, void *sess)
Definition: rte_crypto_sym.h:936
rte_mbuf::buf_len
uint16_t buf_len
Definition: rte_mbuf_core.h:595
RTE_CRYPTO_AUTH_ZUC_EIA3
@ RTE_CRYPTO_AUTH_ZUC_EIA3
Definition: rte_crypto_sym.h:357
rte_crypto_sym_op::m_src
struct rte_mbuf * m_src
Definition: rte_crypto_sym.h:627
RTE_CRYPTO_AUTH_OP_VERIFY
@ RTE_CRYPTO_AUTH_OP_VERIFY
Definition: rte_crypto_sym.h:386
rte_crypto_vec::tot_len
uint32_t tot_len
Definition: rte_crypto_sym.h:42
rte_crypto_sym_op::data
struct rte_crypto_sym_op::@84::@86::@89 data
rte_crypto_auth_xform::op
enum rte_crypto_auth_operation op
Definition: rte_crypto_sym.h:402
RTE_CRYPTO_CIPHER_AES_CTR
@ RTE_CRYPTO_CIPHER_AES_CTR
Definition: rte_crypto_sym.h:133
RTE_CRYPTO_CIPHER_DES_DOCSISBPI
@ RTE_CRYPTO_CIPHER_DES_DOCSISBPI
Definition: rte_crypto_sym.h:164
__rte_crypto_sym_op_sym_xforms_alloc
static struct rte_crypto_sym_xform * __rte_crypto_sym_op_sym_xforms_alloc(struct rte_crypto_sym_op *sym_op, void *priv_data, uint8_t nb_xforms)
Definition: rte_crypto_sym.h:913
rte_crypto_vec::len
uint32_t len
Definition: rte_crypto_sym.h:40
rte_pktmbuf_mtod_offset
#define rte_pktmbuf_mtod_offset(m, t, o)
Definition: rte_mbuf_core.h:731
rte_crypto_sym_op::length
uint32_t length
Definition: rte_crypto_sym.h:647
RTE_CRYPTO_CIPHER_AES_CBC
@ RTE_CRYPTO_CIPHER_AES_CBC
Definition: rte_crypto_sym.h:131
rte_crypto_sym_vec
Definition: rte_crypto_sym.h:71
RTE_CRYPTO_AUTH_SNOW3G_UIA2
@ RTE_CRYPTO_AUTH_SNOW3G_UIA2
Definition: rte_crypto_sym.h:354
RTE_CRYPTO_CIPHER_AES_ECB
@ RTE_CRYPTO_CIPHER_AES_ECB
Definition: rte_crypto_sym.h:135
rte_mbuf::nb_segs
uint16_t nb_segs
Definition: rte_mbuf_core.h:506
RTE_CRYPTO_AUTH_SHA384
@ RTE_CRYPTO_AUTH_SHA384
Definition: rte_crypto_sym.h:345
rte_crypto_sym_vec::src_sgl
struct rte_crypto_sgl * src_sgl
Definition: rte_crypto_sym.h:75
rte_crypto_sym_vec::auth_iv
struct rte_crypto_va_iova_ptr * auth_iv
Definition: rte_crypto_sym.h:86
rte_crypto_sym_op::data
uint8_t * data
Definition: rte_crypto_sym.h:654
rte_crypto_cipher_xform::offset
uint16_t offset
Definition: rte_crypto_sym.h:246
rte_crypto_cipher_operation
rte_crypto_cipher_operation
Definition: rte_crypto_sym.h:184
rte_pktmbuf_mtod
#define rte_pktmbuf_mtod(m, t)
Definition: rte_mbuf_core.h:746
rte_crypto_cipher_xform::length
uint16_t length
Definition: rte_crypto_sym.h:212
RTE_CRYPTO_AUTH_AES_XCBC_MAC
@ RTE_CRYPTO_AUTH_AES_XCBC_MAC
Definition: rte_crypto_sym.h:319
rte_crypto_cipher_xform
Definition: rte_crypto_sym.h:201
rte_crypto_sym_vec::iv
struct rte_crypto_va_iova_ptr * iv
Definition: rte_crypto_sym.h:79
rte_crypto_aead_algorithm
rte_crypto_aead_algorithm
Definition: rte_crypto_sym.h:475
rte_common.h
rte_crypto_sym_vec::digest
struct rte_crypto_va_iova_ptr * digest
Definition: rte_crypto_sym.h:81
RTE_CRYPTO_AUTH_SHA224
@ RTE_CRYPTO_AUTH_SHA224
Definition: rte_crypto_sym.h:337
RTE_CRYPTO_CIPHER_AES_F8
@ RTE_CRYPTO_CIPHER_AES_F8
Definition: rte_crypto_sym.h:137
RTE_CRYPTO_AUTH_MD5
@ RTE_CRYPTO_AUTH_MD5
Definition: rte_crypto_sym.h:325
rte_crypto_sgl::num
uint32_t num
Definition: rte_crypto_sym.h:53
rte_crypto_sym_xform::aead
struct rte_crypto_aead_xform aead
Definition: rte_crypto_sym.h:589
RTE_CRYPTO_AUTH_SHA256
@ RTE_CRYPTO_AUTH_SHA256
Definition: rte_crypto_sym.h:341
rte_crypto_sym_xform
Definition: rte_crypto_sym.h:578
RTE_CRYPTO_AUTH_SHA1
@ RTE_CRYPTO_AUTH_SHA1
Definition: rte_crypto_sym.h:330
rte_crypto_auth_xform::digest_length
uint16_t digest_length
Definition: rte_crypto_sym.h:455
rte_crypto_auth_xform
Definition: rte_crypto_sym.h:401
RTE_CRYPTO_CIPHER_SM4_CTR
@ RTE_CRYPTO_CIPHER_SM4_CTR
Definition: rte_crypto_sym.h:175
rte_crypto_auth_xform::iv
struct rte_crypto_auth_xform::@77 iv
RTE_CRYPTO_AUTH_SHA224_HMAC
@ RTE_CRYPTO_AUTH_SHA224_HMAC
Definition: rte_crypto_sym.h:339
rte_crypto_cipher_xform::iv
struct rte_crypto_cipher_xform::@75 iv
RTE_CRYPTO_AUTH_NULL
@ RTE_CRYPTO_AUTH_NULL
Definition: rte_crypto_sym.h:310
RTE_STD_C11
#define RTE_STD_C11
Definition: rte_common.h:39
rte_crypto_cipher_xform::dataunit_len
uint32_t dataunit_len
Definition: rte_crypto_sym.h:289
rte_crypto_sym_xform::type
enum rte_crypto_sym_xform_type type
Definition: rte_crypto_sym.h:581
RTE_CRYPTO_AUTH_MD5_HMAC
@ RTE_CRYPTO_AUTH_MD5_HMAC
Definition: rte_crypto_sym.h:327
RTE_CRYPTO_AEAD_AES_GCM
@ RTE_CRYPTO_AEAD_AES_GCM
Definition: rte_crypto_sym.h:478
RTE_CRYPTO_SYM_XFORM_AUTH
@ RTE_CRYPTO_SYM_XFORM_AUTH
Definition: rte_crypto_sym.h:563
rte_crypto_sym_xform_type
rte_crypto_sym_xform_type
Definition: rte_crypto_sym.h:561
rte_mempool.h
RTE_CRYPTO_SYM_XFORM_CIPHER
@ RTE_CRYPTO_SYM_XFORM_CIPHER
Definition: rte_crypto_sym.h:564
rte_crypto_sgl::vec
struct rte_crypto_vec * vec
Definition: rte_crypto_sym.h:51
rte_crypto_sym_op::offset
uint32_t offset
Definition: rte_crypto_sym.h:642
rte_crypto_vec
Definition: rte_crypto_sym.h:34
rte_crypto_mbuf_to_vec
static __rte_experimental int rte_crypto_mbuf_to_vec(const struct rte_mbuf *mb, uint32_t ofs, uint32_t len, struct rte_crypto_vec vec[], uint32_t num)
Definition: rte_crypto_sym.h:963
rte_crypto_aead_operation
rte_crypto_aead_operation
Definition: rte_crypto_sym.h:489
rte_mbuf.h
RTE_CRYPTO_AUTH_SHA3_512_HMAC
@ RTE_CRYPTO_AUTH_SHA3_512_HMAC
Definition: rte_crypto_sym.h:374
RTE_CRYPTO_AEAD_OP_DECRYPT
@ RTE_CRYPTO_AEAD_OP_DECRYPT
Definition: rte_crypto_sym.h:492
RTE_CRYPTO_CIPHER_OP_ENCRYPT
@ RTE_CRYPTO_CIPHER_OP_ENCRYPT
Definition: rte_crypto_sym.h:185
rte_crypto_auth_algorithm
rte_crypto_auth_algorithm
Definition: rte_crypto_sym.h:309
RTE_CRYPTO_CIPHER_OP_DECRYPT
@ RTE_CRYPTO_CIPHER_OP_DECRYPT
Definition: rte_crypto_sym.h:187
RTE_CRYPTO_CIPHER_3DES_CBC
@ RTE_CRYPTO_CIPHER_3DES_CBC
Definition: rte_crypto_sym.h:124
RTE_CRYPTO_SYM_XFORM_AEAD
@ RTE_CRYPTO_SYM_XFORM_AEAD
Definition: rte_crypto_sym.h:565
RTE_CRYPTO_CIPHER_AES_DOCSISBPI
@ RTE_CRYPTO_CIPHER_AES_DOCSISBPI
Definition: rte_crypto_sym.h:157
rte_crypto_sym_xform::next
struct rte_crypto_sym_xform * next
Definition: rte_crypto_sym.h:579
rte_crypto_cipher_algorithm_strings
const char * rte_crypto_cipher_algorithm_strings[]
rte_crypto_sym_vec::status
int32_t * status
Definition: rte_crypto_sym.h:96
rte_pktmbuf_iova_offset
#define rte_pktmbuf_iova_offset(m, o)
Definition: rte_mbuf_core.h:757
rte_crypto_auth_xform::algo
enum rte_crypto_auth_algorithm algo
Definition: rte_crypto_sym.h:404
rte_crypto_aead_algorithm_strings
const char * rte_crypto_aead_algorithm_strings[]
rte_crypto_sym_xform::cipher
struct rte_crypto_cipher_xform cipher
Definition: rte_crypto_sym.h:587
RTE_CRYPTO_AUTH_SHA3_384_HMAC
@ RTE_CRYPTO_AUTH_SHA3_384_HMAC
Definition: rte_crypto_sym.h:370
RTE_CRYPTO_CIPHER_SNOW3G_UEA2
@ RTE_CRYPTO_CIPHER_SNOW3G_UEA2
Definition: rte_crypto_sym.h:148
rte_crypto_sym_vec::dest_sgl
struct rte_crypto_sgl * dest_sgl
Definition: rte_crypto_sym.h:77
RTE_CRYPTO_AUTH_SHA3_256
@ RTE_CRYPTO_AUTH_SHA3_256
Definition: rte_crypto_sym.h:364
rte_crypto_auth_xform::data
const uint8_t * data
Definition: rte_crypto_sym.h:408
RTE_CRYPTO_AUTH_SHA3_256_HMAC
@ RTE_CRYPTO_AUTH_SHA3_256_HMAC
Definition: rte_crypto_sym.h:366
RTE_CRYPTO_AUTH_SHA384_HMAC
@ RTE_CRYPTO_AUTH_SHA384_HMAC
Definition: rte_crypto_sym.h:347
RTE_CRYPTO_AUTH_OP_GENERATE
@ RTE_CRYPTO_AUTH_OP_GENERATE
Definition: rte_crypto_sym.h:387
rte_crypto_aead_operation_strings
const char * rte_crypto_aead_operation_strings[]
RTE_CRYPTO_AUTH_SHA256_HMAC
@ RTE_CRYPTO_AUTH_SHA256_HMAC
Definition: rte_crypto_sym.h:343
rte_crypto_sym_op::aad
struct rte_crypto_sym_op::@84::@86::@91 aad
rte_crypto_sym_op
Definition: rte_crypto_sym.h:626
rte_crypto_sym_op::m_dst
struct rte_mbuf * m_dst
Definition: rte_crypto_sym.h:628
RTE_CRYPTO_AUTH_SHA3_512
@ RTE_CRYPTO_AUTH_SHA3_512
Definition: rte_crypto_sym.h:372
rte_crypto_cipher_operation_strings
const char * rte_crypto_cipher_operation_strings[]
RTE_CRYPTO_AUTH_SHA3_224_HMAC
@ RTE_CRYPTO_AUTH_SHA3_224_HMAC
Definition: rte_crypto_sym.h:362
rte_crypto_auth_xform::offset
uint16_t offset
Definition: rte_crypto_sym.h:419
rte_crypto_va_iova_ptr
Definition: rte_crypto_sym.h:61