Sponsor:

Your company here, and a link to your site. Click to find out more.

rte_pmd_cnxk.h - Man Page

Synopsis

#include <rte_compat.h>
#include <rte_ethdev.h>
#include <rte_ether.h>
#include <rte_security.h>

Enumerations

enum rte_pmd_cnxk_sec_action_alg { RTE_PMD_CNXK_SEC_ACTION_ALG0, RTE_PMD_CNXK_SEC_ACTION_ALG1, RTE_PMD_CNXK_SEC_ACTION_ALG2, RTE_PMD_CNXK_SEC_ACTION_ALG3, RTE_PMD_CNXK_SEC_ACTION_ALG4 }

Functions

__rte_experimental int rte_pmd_cnxk_hw_sa_read (void *device, struct rte_security_session *sess, void *data, uint32_t len)
__rte_experimental int rte_pmd_cnxk_hw_sa_write (void *device, struct rte_security_session *sess, void *data, uint32_t len)
__rte_experimental void * rte_pmd_cnxk_inl_ipsec_res (struct rte_mbuf *mbuf)

Detailed Description

CNXK PMD specific functions.

Definition in file rte_pmd_cnxk.h.

Enumeration Type Documentation

enum rte_pmd_cnxk_sec_action_alg

Algorithm type to be used with security action to calculate SA_index

Enumerator

RTE_PMD_CNXK_SEC_ACTION_ALG0

No swizzling of SPI bits into SA index. SA_index is from SA_XOR if enabled.

RTE_PMD_CNXK_SEC_ACTION_ALG1

SPI<31:28> has 4 upper bits which segment the sequence number space. Initial SA_index is from SA_XOR if enabled. SA_alg = { 4'b0, SA_mcam[27:0] + SPI[31:28]}

RTE_PMD_CNXK_SEC_ACTION_ALG2

SPI<27:25> segment the sequence number space. Initial SA_index is from SA_XOR if enabled. SA_alg = { 7'b0, SA_mcam[24:0] + SPI[27:25]}

RTE_PMD_CNXK_SEC_ACTION_ALG3

SPI<28:25> segment the sequence number space. Initial SA_index is from SA_XOR if enabled. SA_alg = { 7'b0, SA_mcam[24:0] + SPI[28:25]}

RTE_PMD_CNXK_SEC_ACTION_ALG4

The inbound SPI maybe 'random', therefore we want the MCAM to be capable of remapping the SPI to an arbitrary SA_index. SPI to SA is done using a lookup in NIX/NPC cam entry with key as SPI, MATCH_ID, LFID.

Definition at line 22 of file rte_pmd_cnxk.h.

Function Documentation

__rte_experimental int rte_pmd_cnxk_hw_sa_read (void * device, struct rte_security_session * sess, void * data, uint32_t len)

Read HW SA context from session.

Parameters

device Port identifier of Ethernet device.
sess Handle of the security session.
data Destination pointer to copy SA context for application.
len Length of SA context to copy into data parameter.

Returns

0 on success, a negative errno value otherwise.

__rte_experimental int rte_pmd_cnxk_hw_sa_write (void * device, struct rte_security_session * sess, void * data, uint32_t len)

Write HW SA context to session.

Parameters

device Port identifier of Ethernet device.
sess Handle of the security session.
data Source data pointer from application to copy SA context into session.
len Length of SA context to copy from data parameter.

Returns

0 on success, a negative errno value otherwise.

__rte_experimental void * rte_pmd_cnxk_inl_ipsec_res (struct rte_mbuf * mbuf)

Get pointer to CPT result info for inline inbound processed pkt.

It is recommended to use this API only when mbuf indicates packet was processed with inline IPsec and there was a failure with the same i.e mbuf->ol_flags indicates (RTE_MBUF_F_RX_SEC_OFFLOAD | RTE_MBUF_F_RX_SEC_OFFLOAD_FAILED).

Parameters

mbuf Pointer to packet that was just received and was processed with Inline IPsec.

Returns
  • Pointer to mbuf location where CPT result info is stored on success.
  • NULL on failure.

Author

Generated automatically by Doxygen for DPDK from the source code.

Referenced By

The man pages rte_pmd_cnxk_hw_sa_read(3), rte_pmd_cnxk_hw_sa_write(3), rte_pmd_cnxk_inl_ipsec_res(3), rte_pmd_cnxk_sec_action_alg(3), RTE_PMD_CNXK_SEC_ACTION_ALG0(3), RTE_PMD_CNXK_SEC_ACTION_ALG1(3), RTE_PMD_CNXK_SEC_ACTION_ALG2(3), RTE_PMD_CNXK_SEC_ACTION_ALG3(3) and RTE_PMD_CNXK_SEC_ACTION_ALG4(3) are aliases of rte_pmd_cnxk.h(3).

Version 23.11.0 DPDK