14#include <rte_compat.h>
74struct rte_pmd_cnxk_sec_action {
80 uint16_t sa_hi, sa_lo;
87#define RTE_PMD_CNXK_CTX_MAX_CKEY_LEN 32
88#define RTE_PMD_CNXK_CTX_MAX_OPAD_IPAD_LEN 128
91#define RTE_PMD_CNXK_AR_WIN_SIZE_MIN 64
92#define RTE_PMD_CNXK_AR_WIN_SIZE_MAX 4096
93#define RTE_PMD_CNXK_LOG_MIN_AR_WIN_SIZE_M1 5
96#define RTE_PMD_CNXK_AR_WINBITS_SZ (RTE_ALIGN_CEIL(RTE_PMD_CNXK_AR_WIN_SIZE_MAX, 64) / 64)
108 uint8_t src_addr[16];
110 uint8_t dst_addr[16];
153 uint64_t reserved_0_2 : 3;
154 uint64_t address : 57;
177 uint64_t hard_life_dec : 1;
179 uint64_t soft_life_dec : 1;
182 uint64_t count_glb_octets : 1;
184 uint64_t count_glb_pkts : 1;
186 uint64_t count_mib_bytes : 1;
189 uint64_t count_mib_pkts : 1;
191 uint64_t hw_ctx_off : 7;
194 uint64_t ctx_id : 16;
197 uint64_t orig_pkt_fabs : 1;
199 uint64_t orig_pkt_free : 1;
205 uint64_t et_ovrwr : 1;
207 uint64_t pkt_output : 2;
209 uint64_t pkt_format : 1;
211 uint64_t defrag_opt : 2;
213 uint64_t x2p_dst : 1;
216 uint64_t ctx_push_size : 7;
220 uint64_t ctx_hdr_size : 2;
222 uint64_t aop_valid : 1;
225 uint64_t ctx_size : 4;
234 uint64_t orig_pkt_aura : 20;
237 uint64_t orig_pkt_foff : 8;
239 uint64_t cookie : 32;
254 uint64_t ipsec_mode : 1;
256 uint64_t ipsec_protocol : 1;
258 uint64_t aes_key_len : 2;
261 uint64_t enc_type : 3;
263 uint64_t life_unit : 1;
265 uint64_t auth_type : 4;
268 uint64_t encap_type : 2;
270 uint64_t et_ovrwr_ddr_en : 1;
274 uint64_t tport_l4_incr_csum : 1;
276 uint64_t ip_hdr_verify : 2;
278 uint64_t udp_ports_verify : 1;
281 uint64_t l3hdr_on_err : 1;
311 uint64_t rsvd10 : 32;
313 uint64_t udp_src_port : 16;
315 uint64_t udp_dst_port : 16;
343 uint64_t hard_life_dec : 1;
345 uint64_t soft_life_dec : 1;
348 uint64_t count_glb_octets : 1;
350 uint64_t count_glb_pkts : 1;
352 uint64_t count_mib_bytes : 1;
355 uint64_t count_mib_pkts : 1;
357 uint64_t hw_ctx_off : 7;
360 uint64_t ctx_id : 16;
364 uint64_t ctx_push_size : 7;
368 uint64_t ctx_hdr_size : 2;
370 uint64_t aop_valid : 1;
373 uint64_t ctx_size : 4;
383 uint64_t cookie : 32;
398 uint64_t ipsec_mode : 1;
400 uint64_t ipsec_protocol : 1;
403 uint64_t aes_key_len : 2;
406 uint64_t enc_type : 3;
408 uint64_t life_unit : 1;
410 uint64_t auth_type : 4;
413 uint64_t encap_type : 2;
415 uint64_t ipv4_df_src_or_ipv6_flw_lbl_src : 1;
417 uint64_t dscp_src : 1;
421 uint64_t ipid_gen : 1;
447 uint64_t ipv4_df_or_ipv6_flw_lbl : 20;
454 uint64_t udp_dst_port : 16;
457 uint64_t udp_src_port : 16;
507 uint64_t reserved_17_63 : 47;
509 uint64_t reserved_64_127;
533struct rte_pmd_cnxk_inl_dev_q;
554 uint32_t len,
bool inb);
574 uint32_t len,
bool inb);
__rte_experimental union rte_pmd_cnxk_cpt_res_s * rte_pmd_cnxk_inl_ipsec_res(struct rte_mbuf *mbuf)
__rte_experimental const char * rte_pmd_cnxk_model_str_get(void)
rte_pmd_cnxk_sec_action_alg
@ RTE_PMD_CNXK_SEC_ACTION_ALG4
@ RTE_PMD_CNXK_SEC_ACTION_ALG2
@ RTE_PMD_CNXK_SEC_ACTION_ALG1
@ RTE_PMD_CNXK_SEC_ACTION_ALG0
@ RTE_PMD_CNXK_SEC_ACTION_ALG3
rte_pmd_cnxk_cpt_q_stats_type
@ RTE_PMD_CNXK_CPT_Q_STATS_ETHDEV
@ RTE_PMD_CNXK_CPT_Q_STATS_INL_DEV
@ RTE_PMD_CNXK_CPT_Q_STATS_KERNEL
#define RTE_PMD_CNXK_AR_WINBITS_SZ
__rte_experimental int rte_pmd_cnxk_cpt_q_stats_get(uint16_t portid, enum rte_pmd_cnxk_cpt_q_stats_type type, struct rte_pmd_cnxk_cpt_q_stats *stats, uint16_t idx)
__rte_experimental struct rte_pmd_cnxk_inl_dev_q * rte_pmd_cnxk_inl_dev_qptr_get(void)
__rte_experimental int rte_pmd_cnxk_sa_flush(uint16_t portid, union rte_pmd_cnxk_ipsec_hw_sa *sess, bool inb)
__rte_experimental void rte_pmd_cnxk_hw_inline_inb_cfg_set(uint16_t portid, struct rte_pmd_cnxk_ipsec_inb_cfg *cfg)
__rte_experimental union rte_pmd_cnxk_ipsec_hw_sa * rte_pmd_cnxk_hw_session_base_get(uint16_t portid, bool inb)
__rte_experimental int rte_pmd_cnxk_hw_sa_read(uint16_t portid, void *sess, union rte_pmd_cnxk_ipsec_hw_sa *data, uint32_t len, bool inb)
__rte_experimental uint16_t rte_pmd_cnxk_inl_dev_submit(struct rte_pmd_cnxk_inl_dev_q *qptr, void *inst, uint16_t nb_inst)
__rte_experimental int rte_pmd_cnxk_hw_sa_write(uint16_t portid, void *sess, union rte_pmd_cnxk_ipsec_hw_sa *data, uint32_t len, bool inb)
uint64_t ar_winbits[RTE_PMD_CNXK_AR_WINBITS_SZ]
uint8_t hmac_opad_ipad[RTE_PMD_CNXK_CTX_MAX_OPAD_IPAD_LEN]
struct rte_pmd_cnxk_ipsec_inb_ctx_update_reg ctx
uint8_t cipher_key[RTE_PMD_CNXK_CTX_MAX_CKEY_LEN]
union rte_pmd_cnxk_ipsec_outer_ip_hdr outer_hdr
struct rte_pmd_cnxk_ipsec_outb_ctx_update_reg ctx
uint8_t hmac_opad_ipad[RTE_PMD_CNXK_CTX_MAX_OPAD_IPAD_LEN]
union rte_pmd_cnxk_ipsec_outb_iv iv
uint8_t cipher_key[RTE_PMD_CNXK_CTX_MAX_CKEY_LEN]
union rte_pmd_cnxk_ipsec_outer_ip_hdr outer_hdr
struct rte_pmd_cnxk_ipsec_outb_sa outb
struct rte_pmd_cnxk_ipsec_inb_sa inb