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)

  Typedefs

typedef int(* security_session_create_t) (void *device, struct rte_security_session_conf *conf, struct rte_security_session *sess)
typedef int(* security_session_destroy_t) (void *device, struct rte_security_session *sess)
typedef int(* security_session_update_t) (void *device, struct rte_security_session *sess, struct rte_security_session_conf *conf)
typedef int(* security_macsec_sc_create_t) (void *device, struct rte_security_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_security_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_security_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_macsec_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_macsec_sa_stats *stats)
typedef int(* security_set_pkt_metadata_t) (void *device, struct rte_security_session *sess, struct rte_mbuf *mb, void *params)
typedef const struct rte_security_capability *(* security_capabilities_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)
Value:
    ((void *)(((struct rte_security_session *)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_security_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 successfully.

    •   Returns -EINVAL if input parameters are invalid.

    •   Returns -ENOTSUP if crypto device does not support the crypto transform.

Definition at line 83 of file rte_security_driver.h.

  typedef int(* security_session_destroy_t) (void *device, struct rte_security_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_security_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 successfully.

    •   Returns -EINVAL if input parameters are invalid.

    •   Returns -ENOTSUP if crypto device does not support the crypto transform.

Definition at line 108 of file rte_security_driver.h.

  typedef int(* security_macsec_sc_create_t) (void *device, struct rte_security_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_security_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_security_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 successfully.

    •   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_security_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_session 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.