DPDK  22.03.0
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 struct rte_ipsec_sessionrte_ipsec_ses_from_crypto (const struct rte_crypto_op *cop)
 
static 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

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

◆ rte_ipsec_ses_from_crypto()

static 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 45 of file rte_ipsec_group.h.

◆ rte_ipsec_pkt_crypto_group()

static 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 RTE_MBUF_F_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 81 of file rte_ipsec_group.h.