Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
rte_crypto.h(3)			     DPDK		       rte_crypto.h(3)

NAME
       rte_crypto.h

SYNOPSIS
       #include	<rte_mbuf.h>
       #include	<rte_memory.h>
       #include	<rte_mempool.h>
       #include	<rte_common.h>
       #include	'rte_crypto_sym.h'
       #include	'rte_crypto_asym.h'

   Data	Structures
       struct rte_crypto_op
       struct rte_crypto_op_pool_private

   Macros
       #define RTE_CRYPTO_OP_AUX_FLAGS_SESS_SOFT_EXPIRY	  (1 <<	0)
       #define RTE_CRYPTO_OP_AUX_FLAGS_IPSEC_SOFT_EXPIRY
	   RTE_CRYPTO_OP_AUX_FLAGS_SESS_SOFT_EXPIRY

   Enumerations
       enum rte_crypto_op_type { RTE_CRYPTO_OP_TYPE_UNDEFINED,
	   RTE_CRYPTO_OP_TYPE_SYMMETRIC, RTE_CRYPTO_OP_TYPE_ASYMMETRIC }
       enum rte_crypto_op_status { RTE_CRYPTO_OP_STATUS_SUCCESS,
	   RTE_CRYPTO_OP_STATUS_NOT_PROCESSED,
	   RTE_CRYPTO_OP_STATUS_AUTH_FAILED,
	   RTE_CRYPTO_OP_STATUS_INVALID_SESSION,
	   RTE_CRYPTO_OP_STATUS_INVALID_ARGS, RTE_CRYPTO_OP_STATUS_ERROR }
       enum rte_crypto_op_sess_type { RTE_CRYPTO_OP_WITH_SESSION,
	   RTE_CRYPTO_OP_SESSIONLESS, RTE_CRYPTO_OP_SECURITY_SESSION }

   Functions
       static void __rte_crypto_op_reset (struct rte_crypto_op *op, enum
	   rte_crypto_op_type type)
       static uint16_t __rte_crypto_op_get_priv_data_size (struct rte_mempool
	   *mempool)
       struct rte_mempool * rte_crypto_op_pool_create (const char *name, enum
	   rte_crypto_op_type type, unsigned nb_elts, unsigned cache_size,
	   uint16_t priv_size, int socket_id)
       static int __rte_crypto_op_raw_bulk_alloc (struct rte_mempool *mempool,
	   enum	rte_crypto_op_type type, struct	rte_crypto_op **ops, uint16_t
	   nb_ops)
       static struct rte_crypto_op * rte_crypto_op_alloc (struct rte_mempool
	   *mempool, enum rte_crypto_op_type type)
       static unsigned rte_crypto_op_bulk_alloc	(struct	rte_mempool *mempool,
	   enum	rte_crypto_op_type type, struct	rte_crypto_op **ops, uint16_t
	   nb_ops)
       static void * __rte_crypto_op_get_priv_data (struct rte_crypto_op *op,
	   uint32_t size)
       static void rte_crypto_op_free (struct rte_crypto_op *op)
       static struct rte_crypto_op *
	   rte_crypto_sym_op_alloc_from_mbuf_priv_data (struct rte_mbuf	*m)
       static struct rte_crypto_sym_xform * rte_crypto_op_sym_xforms_alloc
	   (struct rte_crypto_op *op, uint8_t nb_xforms)
       static int rte_crypto_op_attach_sym_session (struct rte_crypto_op *op,
	   void	*sess)
       static int rte_crypto_op_attach_asym_session (struct rte_crypto_op *op,
	   struct rte_cryptodev_asym_session *sess)

Detailed Description
       RTE Cryptography	Common Definitions

       Definition in file rte_crypto.h.

Macro Definition Documentation
   #define RTE_CRYPTO_OP_AUX_FLAGS_SESS_SOFT_EXPIRY   (1 << 0)
       Session soft expiry limit has been reached. Applicable for any session
       that has	a soft lifetime	feature	supported.

       See also
	   rte_security_ipsec_lifetime

	   rte_security_tls_record_lifetime

       Definition at line 74 of	file rte_crypto.h.

   #define RTE_CRYPTO_OP_AUX_FLAGS_IPSEC_SOFT_EXPIRY
       RTE_CRYPTO_OP_AUX_FLAGS_SESS_SOFT_EXPIRY
       SA soft expiry limit has	been reached

       Definition at line 79 of	file rte_crypto.h.

Enumeration Type Documentation
   enum	rte_crypto_op_type
       Crypto operation	types

       Enumerator

       RTE_CRYPTO_OP_TYPE_UNDEFINED
	      Undefined	operation type

       RTE_CRYPTO_OP_TYPE_SYMMETRIC
	      Symmetric	operation

       RTE_CRYPTO_OP_TYPE_ASYMMETRIC
	      Asymmetric operation

       Definition at line 28 of	file rte_crypto.h.

   enum	rte_crypto_op_status
       Status of crypto	operation

       Enumerator

       RTE_CRYPTO_OP_STATUS_SUCCESS
	      Operation	completed successfully

       RTE_CRYPTO_OP_STATUS_NOT_PROCESSED
	      Operation	has not	yet been processed by a	crypto device

       RTE_CRYPTO_OP_STATUS_AUTH_FAILED
	      Authentication verification failed

       RTE_CRYPTO_OP_STATUS_INVALID_SESSION
	      Symmetric	 operation failed due to invalid session arguments, or
	      if in session-less mode, failed to  allocate  private  operation
	      material.

       RTE_CRYPTO_OP_STATUS_INVALID_ARGS
	      Operation	failed due to invalid arguments	in request

       RTE_CRYPTO_OP_STATUS_ERROR
	      Error handling operation

       Definition at line 38 of	file rte_crypto.h.

   enum	rte_crypto_op_sess_type
       Crypto operation	session	type. This is used to specify whether a	crypto
       operation has session structure attached	for immutable parameters or if
       all operation information is included in	the operation data structure.

       Enumerator

       RTE_CRYPTO_OP_WITH_SESSION
	      Session based crypto operation

       RTE_CRYPTO_OP_SESSIONLESS
	      Session-less crypto operation

       RTE_CRYPTO_OP_SECURITY_SESSION
	      Security session crypto operation

       Definition at line 61 of	file rte_crypto.h.

Function Documentation
   static   void   __rte_crypto_op_reset  (struct  rte_crypto_op  *  op,  enum
       rte_crypto_op_type type)	[inline],  [static]
       Reset the fields	of a crypto operation to their default values.

       Parameters
	   op The crypto operation to be reset.
	   type	The crypto operation type.

       Definition at line 196 of file rte_crypto.h.

   static uint16_t __rte_crypto_op_get_priv_data_size  (struct	rte_mempool  *
       mempool)	[inline],  [static]
       Returns	the  size  of  private	data allocated with each rte_crypto_op
       object by the mempool

       Parameters
	   mempool rte_crypto_op mempool

       Returns
	   private data	size

       Definition at line 235 of file rte_crypto.h.

   struct rte_mempool *	rte_crypto_op_pool_create (const  char	*  name,  enum
       rte_crypto_op_type   type,   unsigned   nb_elts,	 unsigned  cache_size,
       uint16_t	priv_size, int socket_id)
       Creates a crypto	operation pool

       Parameters
	   name	pool name
	   type	crypto operation type, use RTE_CRYPTO_OP_TYPE_UNDEFINED	for  a
	   pool	which supports all operation types
	   nb_elts number of elements in pool
	   cache_size	Number	 of   elements	 to   cache   on   lcore,  see
	   rte_mempool_create for further details about	cache size
	   priv_size Size of private data to allocate with each	operation
	   socket_id Socket to allocate	memory on

       Returns

	    On	success	pointer	to mempool

	    On	failure	NULL

   static int __rte_crypto_op_raw_bulk_alloc (struct  rte_mempool  *  mempool,
       enum  rte_crypto_op_type	 type,	struct	rte_crypto_op ** ops, uint16_t
       nb_ops) [inline],  [static]
       Bulk allocate raw element from mempool and return as crypto operations

       Parameters
	   mempool crypto operation mempool.
	   type	crypto operation type.
	   ops Array to	place allocated	crypto operations
	   nb_ops Number of crypto operations to allocate

       Returns

	    On	success	returns	number of ops allocated

       Definition at line 280 of file rte_crypto.h.

   static struct rte_crypto_op *  rte_crypto_op_alloc  (struct	rte_mempool  *
       mempool,	enum rte_crypto_op_type	type) [inline],	 [static]
       Allocate	a crypto operation from	a mempool with default parameters set

       Parameters
	   mempool crypto operation mempool
	   type	operation type to allocate

       Returns

	    On	success	returns	a valid	rte_crypto_op structure

	    On	failure	returns	NULL

       Definition at line 308 of file rte_crypto.h.

   static  unsigned  rte_crypto_op_bulk_alloc  (struct	rte_mempool * mempool,
       enum rte_crypto_op_type type, struct  rte_crypto_op  **	ops,  uint16_t
       nb_ops) [inline],  [static]
       Bulk  allocate crypto operations	from a mempool with default parameters
       set

       Parameters
	   mempool crypto operation mempool
	   type	operation type to allocate
	   ops Array to	place allocated	crypto operations
	   nb_ops Number of crypto operations to allocate

       Returns

	    nb_ops if the number of operations	requested were allocated.

	    0 if the requested	number of ops  are  not	 available.  None  are
	     allocated in this case.

       Definition at line 338 of file rte_crypto.h.

   static  void	 *  __rte_crypto_op_get_priv_data  (struct rte_crypto_op * op,
       uint32_t	size) [inline],	 [static]
       Returns a pointer to the	private	data of	a  crypto  operation  if  that
       operation has enough capacity for requested size.

       Parameters
	   op crypto operation.
	   size	size of	space requested	in private data.

       Returns

	    if	sufficient space available returns pointer to start of private
	     data

	    if	insufficient space returns NULL

       Definition at line 368 of file rte_crypto.h.

   static  void	 rte_crypto_op_free  (struct  rte_crypto_op  *	op)  [inline],
       [static]
       free crypto operation structure If operation has	been allocate  from  a
       rte_mempool, then the operation will be returned	to the mempool.

       Parameters
	   op	Pointer	  to   symmetric   crypto   operation  allocated  with
	   rte_crypto_op_alloc() If op is NULL,	no operation is	performed.

       Definition at line 398 of file rte_crypto.h.

   static struct rte_crypto_op	*  rte_crypto_sym_op_alloc_from_mbuf_priv_data
       (struct rte_mbuf	* m) [inline],	[static]
       Allocate	a symmetric crypto operation in	the private data of an mbuf.

       Parameters
	   m mbuf which	is associated with the crypto operation, the operation
	   will	be allocated in	the private data of that mbuf.

       Returns

	    On	success	returns	a pointer to the crypto	operation.

	    On	failure	returns	NULL.

       Definition at line 416 of file rte_crypto.h.

   static struct rte_crypto_sym_xform *	rte_crypto_op_sym_xforms_alloc (struct
       rte_crypto_op * op, uint8_t nb_xforms) [inline],	 [static]
       Allocate	space for symmetric crypto xforms in the private data space of
       the  crypto  operation.	This  also  defaults the crypto	xform type and
       configures the chaining of the xforms in	the crypto operation

       Returns

	    On	success	returns	 pointer  to  first  crypto  xform  in	crypto
	     operations	chain

	    On	failure	returns	NULL

       Definition at line 450 of file rte_crypto.h.

   static  int	rte_crypto_op_attach_sym_session  (struct  rte_crypto_op * op,
       void * sess) [inline],  [static]
       Attach a	session	to a crypto operation

       Parameters
	   op crypto operation,	must be	of type	symmetric
	   sess	cryptodev session

       Definition at line 476 of file rte_crypto.h.

   static int rte_crypto_op_attach_asym_session	(struct	 rte_crypto_op	*  op,
       struct rte_cryptodev_asym_session * sess) [inline],  [static]
       Attach a	asymmetric session to a	crypto operation

       Parameters
	   op crypto operation,	must be	of type	asymmetric
	   sess	cryptodev session

       Definition at line 493 of file rte_crypto.h.

Author
       Generated automatically by Doxygen for DPDK from	the source code.

Version	25.11.0			Thu Jun	11 2026		       rte_crypto.h(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=RTE_CRYPTO_OP_STATUS_INVALID_SESSION&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help