DPDK  20.05.0-rc0
Data Structures | Functions
rte_ipsec_group.h File Reference

Go to the source code of this file.

Data Structures

struct  rte_ipsec_group
 

Functions

static __rte_experimental struct rte_ipsec_sessionrte_ipsec_ses_from_crypto (const struct rte_crypto_op *cop)
 
static __rte_experimental uint16_t rte_ipsec_pkt_crypto_group (const struct rte_crypto_op *cop[], struct rte_mbuf *mb[], struct rte_ipsec_group grp[], uint16_t num)
 

Detailed Description

EXPERIMENTAL: this API may change without prior notice

RTE IPsec support. It is not recommended to include this file directly, include <rte_ipsec.h> instead. Contains helper functions to process completed crypto-ops and group related packets by sessions they belong to.

Definition in file rte_ipsec_group.h.

Function Documentation

static __rte_experimental struct rte_ipsec_session* rte_ipsec_ses_from_crypto ( const struct rte_crypto_op cop)
static

Take crypto-op as an input and extract pointer to related ipsec session.

Parameters
copThe address of an input rte_crypto_op structure.
Returns
The pointer to the related rte_ipsec_session structure.

Definition at line 47 of file rte_ipsec_group.h.

static __rte_experimental uint16_t rte_ipsec_pkt_crypto_group ( const struct rte_crypto_op cop[],
struct rte_mbuf mb[],
struct rte_ipsec_group  grp[],
uint16_t  num 
)
inlinestatic

Take as input completed crypto ops, extract related mbufs and group them by rte_ipsec_session they belong to. For mbuf which crypto-op wasn't completed successfully PKT_RX_SEC_OFFLOAD_FAILED will be raised in ol_flags. Note that mbufs with undetermined SA (session-less) are not freed by the function, but are placed beyond mbufs for the last valid group. It is a user responsibility to handle them further.

Parameters
copThe address of an array of num pointers to the input rte_crypto_op structures.
mbThe address of an array of num pointers to output rte_mbuf structures.
grpThe address of an array of num to output rte_ipsec_group structures.
numThe maximum number of crypto-ops to process.
Returns
Number of filled elements in grp array.
Examples:
examples/ipsec-secgw/ipsec_process.c.

Definition at line 84 of file rte_ipsec_group.h.