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

  
 
  

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

NAME
     rte_security_driver.h

SYNOPSIS
     #include <rte_compat.h>
     #include 'rte_security.h'

   Data Structures
     struct rte_security_ctx
     struct rte_security_ops

   Macros
     #define   SECURITY_GET_SESS_PRIV(s)	 ((void   *)(((struct  rte_secu-
	 rity_session *)s)->driver_priv_data))

   Typedefs
     typedef int(* security_session_create_t) (void  *device,  struct  rte_secu-
	 rity_session_conf *conf, struct rte_security_session *sess)
     typedef  int(*  security_session_destroy_t) (void *device, struct rte_secu-
	 rity_session *sess)
     typedef int(* security_session_update_t) (void  *device,  struct  rte_secu-
	 rity_session *sess, struct rte_security_session_conf *conf)
     typedef  int(* security_macsec_sc_create_t) (void *device, struct rte_secu-
	 rity_macsec_sc *conf)
     typedef int(* security_macsec_sc_destroy_t) (void *device, uint16_t  sc_id,
	 enum rte_security_macsec_direction dir)
     typedef  int(* security_macsec_sa_create_t) (void *device, struct rte_secu-
	 rity_macsec_sa *conf)
     typedef int(* security_macsec_sa_destroy_t) (void *device, uint16_t  sa_id,
	 enum rte_security_macsec_direction dir)
     typedef unsigned int(* security_session_get_size) (void *device)
     typedef int(* security_session_stats_get_t) (void *device, struct rte_secu-
	 rity_session *sess, struct rte_security_stats *stats)
     typedef   int(*  security_macsec_sc_stats_get_t)  (void  *device,	uint16_t
	 sc_id, enum rte_security_macsec_direction dir, struct rte_security_mac-
	 sec_sc_stats *stats)
     typedef  int(*  security_macsec_sa_stats_get_t)  (void  *device,	uint16_t
	 sa_id, enum rte_security_macsec_direction dir, struct rte_security_mac-
	 sec_sa_stats *stats)
     typedef  int(* security_set_pkt_metadata_t) (void *device, struct rte_secu-
	 rity_session *sess, struct rte_mbuf *mb, void *params)
     typedef  const  struct   rte_security_capability	*(*   security_capabili-
	 ties_get_t) (void *device)
     typedef   int(*   security_rx_inject_configure)   (void  *device,	uint16_t
	 port_id, bool enable)
     typedef  uint16_t(*  security_inb_pkt_rx_inject)  (void   *device,   struct
	 rte_mbuf **pkts, struct rte_security_session **sess, uint16_t nb_pkts)

Detailed Description
     RTE Security Common Definitions

     Definition in file rte_security_driver.h.

Macro Definition Documentation
   #define  SECURITY_GET_SESS_PRIV(s)	    ((void *)(((struct rte_security_ses-
     sion *)s)->driver_priv_data))
     Helper macro to get driver private data

     Definition at line 66 of file rte_security_driver.h.

Typedef Documentation
   typedef int(*  security_session_create_t)  (void  *device,  struct  rte_secu-
     rity_session_conf *conf, struct rte_security_session *sess)
     Configure a security session on a device.

     Parameters
	 device Crypto/eth device pointer
	 conf Security session configuration
	 sess Pointer to Security private session structure

     Returns

	 * Returns  0  if  private  session structure have been created success-
	   fully.

	 * Returns -EINVAL if input parameters are invalid.

	 * Returns -ENOTSUP if crypto device does not support the crypto  trans-
	   form.

     Definition at line 83 of file rte_security_driver.h.

   typedef  int(*  security_session_destroy_t)	(void  *device, struct rte_secu-
     rity_session *sess)
     Free driver private session data.

     Parameters
	 device Crypto/eth device pointer
	 sess Security session structure

     Definition at line 93 of file rte_security_driver.h.

   typedef int(*  security_session_update_t)  (void  *device,  struct  rte_secu-
     rity_session *sess, struct rte_security_session_conf *conf)
     Update driver private session data.

     Parameters
	 device Crypto/eth device pointer
	 sess Pointer to Security private session structure
	 conf Security session configuration

     Returns

	 * Returns  0  if  private  session structure have been updated success-
	   fully.

	 * Returns -EINVAL if input parameters are invalid.

	 * Returns -ENOTSUP if crypto device does not support the crypto  trans-
	   form.

     Definition at line 108 of file rte_security_driver.h.

   typedef  int(*  security_macsec_sc_create_t)  (void *device, struct rte_secu-
     rity_macsec_sc *conf)
     Configure a MACsec secure channel (SC) on a device.

     Parameters
	 device Crypto/eth device pointer
	 conf MACsec SC configuration params

     Returns

	 * positive sc_id if SC is created successfully.

	 * -EINVAL if input parameters are invalid.

	 * -ENOTSUP if device does not support MACsec.

	 * -ENOMEM if the SC cannot be created.

     Definition at line 124 of file rte_security_driver.h.

   typedef int(* security_macsec_sc_destroy_t) (void  *device,	uint16_t  sc_id,
     enum rte_security_macsec_direction dir)
     Free MACsec secure channel (SC).

     Parameters
	 device Crypto/eth device pointer
	 sc_id MACsec SC ID
	 dir Direction of SC

     Definition at line 133 of file rte_security_driver.h.

   typedef  int(*  security_macsec_sa_create_t)  (void *device, struct rte_secu-
     rity_macsec_sa *conf)
     Configure a MACsec security Association (SA) on a device.

     Parameters
	 device Crypto/eth device pointer
	 conf MACsec SA configuration params

     Returns

	 * positive sa_id if SA is created successfully.

	 * -EINVAL if input parameters are invalid.

	 * -ENOTSUP if device does not support MACsec.

	 * -ENOMEM if the SA cannot be created.

     Definition at line 148 of file rte_security_driver.h.

   typedef int(* security_macsec_sa_destroy_t) (void  *device,	uint16_t  sa_id,
     enum rte_security_macsec_direction dir)
     Free MACsec security association (SA).

     Parameters
	 device Crypto/eth device pointer
	 sa_id MACsec SA ID
	 dir Direction of SA

     Definition at line 157 of file rte_security_driver.h.

   typedef unsigned int(* security_session_get_size) (void *device)
     Get the size of a security session

     Parameters
	 device Crypto/eth device pointer

     Returns

	 * On success returns the size of the session structure for device

	 * On failure returns 0

     Definition at line 169 of file rte_security_driver.h.

   typedef  int(*  security_session_stats_get_t) (void *device, struct rte_secu-
     rity_session *sess, struct rte_security_stats *stats)
     Get stats from the PMD.

     Parameters
	 device Crypto/eth device pointer
	 sess Pointer to Security private session structure
	 stats Security stats of the driver

     Returns

	 * Returns 0 if private session structure  have  been  updated	success-
	   fully.

	 * Returns -EINVAL if session parameters are invalid.

     Definition at line 182 of file rte_security_driver.h.

   typedef  int(* security_macsec_sc_stats_get_t) (void *device, uint16_t sc_id,
     enum rte_security_macsec_direction dir, struct rte_security_macsec_sc_stats
     *stats)
     Get MACsec secure channel stats from the PMD.

     Parameters
	 device Crypto/eth device pointer
	 sc_id secure channel ID created by rte_security_macsec_sc_create()
	 dir direction of SC
	 stats SC stats of the driver

     Returns

	 * 0 if success.

	 * -EINVAL if sc_id or device is invalid.

     Definition at line 198 of file rte_security_driver.h.

   typedef int(* security_macsec_sa_stats_get_t) (void *device, uint16_t  sa_id,
     enum rte_security_macsec_direction dir, struct rte_security_macsec_sa_stats
     *stats)
     Get MACsec SA stats from the PMD.

     Parameters
	 device Crypto/eth device pointer
	 sa_id secure channel ID created by rte_security_macsec_sc_create()
	 dir direction of SA
	 stats SC stats of the driver

     Returns

	 * 0 if success.

	 * -EINVAL if sa_id or device is invalid.

     Definition at line 214 of file rte_security_driver.h.

   typedef  int(*  security_set_pkt_metadata_t)  (void *device, struct rte_secu-
     rity_session *sess, struct rte_mbuf *mb, void *params)
     Update the mbuf with provided metadata.

     Parameters
	 device Crypto/eth device pointer
	 sess Security session structure
	 mb Packet buffer
	 params Metadata

     Returns

	 * Returns 0 if metadata updated successfully.

	 * Returns -ve value for errors.

     Definition at line 243 of file rte_security_driver.h.

   typedef const struct rte_security_capability *(* security_capabilities_get_t)
     (void *device)
     Get security capabilities of the device.

     Parameters
	 device crypto/eth device pointer

     Returns

	 * Returns rte_security_capability pointer on success.

	 * Returns NULL on error.

     Definition at line 243 of file rte_security_driver.h.

   typedef int(* security_rx_inject_configure) (void *device, uint16_t	port_id,
     bool enable)
     Configure security device to inject packets to an ethdev port.

     Parameters
	 device Crypto/eth device pointer
	 port_id Port identifier of the ethernet device to which packets need to
	 be injected.
	 enable  Flag to enable and disable connection between a security device
	 and an ethdev port.

     Returns

	 * 0 if successful.

	 * -EINVAL if context NULL or port_id is invalid.

	 * -EBUSY if devices are not in stopped state.

	 * -ENOTSUP if security device does not support injecting to the  ethdev
	   port.

     Definition at line 273 of file rte_security_driver.h.

   typedef uint16_t(* security_inb_pkt_rx_inject) (void *device, struct rte_mbuf
     **pkts, struct rte_security_session **sess, uint16_t nb_pkts)
     Perform  security	processing of packets and inject the processed packet to
     ethdev Rx.

     Rx inject would behave similarly to ethdev loopback but with the additional
     security processing.

     Parameters
	 device Crypto/eth device pointer
	 pkts The address of an array of nb_pkts pointers to rte_mbuf structures
	 which contain the packets.
	 sess The address of an array of nb_pkts pointers  to  rte_security_ses-
	 sion structures corresponding to each packet.
	 nb_pkts The maximum number of packets to process.

     Returns
	 The  number  of  packets successfully injected to ethdev Rx. The return
	 value can be less than the value of the nb_pkts parameter when the  PMD
	 internal queues have been filled up.

     Definition at line 295 of file rte_security_driver.h.

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

Version 25.11.0 		 Thu Aug 27 2026	rte_security_driver.h(3)

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

home | help