IPSEC_MODE(3)

๐Ÿ“ฆ version 26.03, in nixos 26.05, nixpkgs unstable

๐Ÿ’– rte_pmd_cnxk_ipsec_inb_sa โ€” inbound IPsec SA, bestie edition ๐Ÿ’–

okay so this is a page from the DPDK Library Functions Manual, and it's literally the struct that describes an Inbound IPsec SA ๐Ÿ›ก๏ธ โ€” like, it's giving "here's everything the hardware needs to know about one inbound security association". Stay with me, it's a big one but we're gonna slay it together ๐Ÿ’…


โœจ NAME โœจ

rte_pmd_cnxk_ipsec_inb_sa โ€” the struct for an inbound IPsec SA

๐ŸŒธ SYNOPSIS ๐ŸŒธ

#include <rte_pmd_cnxk.h>

๐ŸŽ€ Data Fields ๐ŸŽ€

union {
} w0
union {
} w1
union {
} w2
uint64_t rsvd7
uint8_t cipher_key [RTE_PMD_CNXK_CTX_MAX_CKEY_LEN]
union {
} w8
union {
} w10
union rte_pmd_cnxk_ipsec_outer_ip_hdr outer_hdr
uint8_t hmac_opad_ipad [RTE_PMD_CNXK_CTX_MAX_OPAD_IPAD_LEN]
struct rte_pmd_cnxk_ipsec_inb_ctx_update_reg ctx

๐Ÿฆ‹ Detailed Description ๐Ÿฆ‹

Inbound IPsec SA ๐ŸŒˆ

Defined at line 171 of file rte_pmd_cnxk.h โ€” that's the receipts, bestie, you can go look ๐Ÿ‘‘

๐Ÿ”ฅ Field Documentation ๐Ÿ”ฅ

bestie there are SO many fields, but each one gets its moment. no skipping, no cap ๐Ÿซถ

  • uint64_t ar_win โ€” AR window size ๐Ÿ’ซ
line 176 of rte_pmd_cnxk.h
  • uint64_t hard_life_dec โ€” Hard life enable โณ
line 178 of rte_pmd_cnxk.h
  • uint64_t soft_life_dec โ€” Soft life enable ๐Ÿ•ฐ๏ธ
line 180 of rte_pmd_cnxk.h
  • uint64_t count_glb_octets โ€” Count global octets ๐Ÿ”ข
line 183 of rte_pmd_cnxk.h
  • uint64_t count_glb_pkts โ€” Count global pkts ๐Ÿ“ฆ
line 185 of rte_pmd_cnxk.h
  • uint64_t count_mib_bytes โ€” Count bytes ๐Ÿงฎ
line 187 of rte_pmd_cnxk.h
  • uint64_t count_mib_pkts โ€” Count pkts ๐Ÿ“จ
line 190 of rte_pmd_cnxk.h
  • uint64_t hw_ctx_off โ€” HW context offset ๐Ÿงญ
line 192 of rte_pmd_cnxk.h
  • uint64_t ctx_id โ€” Context ID ๐Ÿ†”
line 195 of rte_pmd_cnxk.h
  • uint64_t orig_pkt_fabs โ€” Original packet free absolute ๐Ÿ—‘๏ธ
line 198 of rte_pmd_cnxk.h
  • uint64_t orig_pkt_free โ€” Original packet free ๐Ÿงน
line 200 of rte_pmd_cnxk.h
  • uint64_t pkind โ€” PKIND for second pass ๐Ÿ”
line 202 of rte_pmd_cnxk.h
  • uint64_t et_ovrwr โ€” Ether type overwrite โœ๏ธ
line 206 of rte_pmd_cnxk.h
  • uint64_t pkt_output โ€” Packet output type ๐Ÿ“ค
line 208 of rte_pmd_cnxk.h
  • uint64_t pkt_format โ€” Packet format type ๐Ÿงพ
line 210 of rte_pmd_cnxk.h
  • uint64_t defrag_opt โ€” Defrag option ๐Ÿงฉ
line 212 of rte_pmd_cnxk.h
  • uint64_t x2p_dst โ€” Reserved for X2P dest ๐Ÿ…ฟ๏ธ
line 214 of rte_pmd_cnxk.h
  • uint64_t ctx_push_size โ€” Context push size ๐Ÿ“
line 217 of rte_pmd_cnxk.h
  • uint64_t ctx_hdr_size โ€” Context header size ๐Ÿ“
line 221 of rte_pmd_cnxk.h
  • uint64_t aop_valid โ€” AOP enable โœ…
line 223 of rte_pmd_cnxk.h
  • uint64_t ctx_size โ€” Context size ๐Ÿ—‚๏ธ
line 226 of rte_pmd_cnxk.h

๐Ÿ’œ union { ... } w0 โ€” Word0

  • uint64_t orig_pkt_aura โ€” Original packet aura โœจ
line 235 of rte_pmd_cnxk.h
  • uint64_t orig_pkt_foff โ€” Original packet free offset ๐Ÿ“
line 238 of rte_pmd_cnxk.h
  • uint64_t cookie โ€” SA cookie ๐Ÿช
line 240 of rte_pmd_cnxk.h

๐Ÿ’œ union { ... } w1 โ€” Word1

okay this union is the main character, look at all these ๐Ÿ‘‘

  • uint64_t valid โ€” SA valid โœ…
line 249 of rte_pmd_cnxk.h
  • uint64_t dir โ€” SA direction ๐Ÿงญ
line 251 of rte_pmd_cnxk.h
  • uint64_t ipsec_mode โ€” IPsec mode ๐Ÿ”ง
line 255 of rte_pmd_cnxk.h
  • uint64_t ipsec_protocol โ€” IPsec protocol ๐Ÿ“œ
line 257 of rte_pmd_cnxk.h
  • uint64_t aes_key_len โ€” AES key length ๐Ÿ”‘
line 259 of rte_pmd_cnxk.h
  • uint64_t enc_type โ€” Encryption algo ๐Ÿ”
line 262 of rte_pmd_cnxk.h
  • uint64_t life_unit โ€” Soft life and hard life unit โฑ๏ธ
line 264 of rte_pmd_cnxk.h
  • uint64_t auth_type โ€” Authentication algo ๐Ÿชช
line 266 of rte_pmd_cnxk.h
  • uint64_t encap_type โ€” Encapsulation type ๐Ÿ“ฆ
line 269 of rte_pmd_cnxk.h
  • uint64_t et_ovrwr_ddr_en โ€” Ether type override enable โœ๏ธ
line 271 of rte_pmd_cnxk.h
  • uint64_t esn_en โ€” ESN enable ๐Ÿ”ข
line 273 of rte_pmd_cnxk.h
  • uint64_t tport_l4_incr_csum โ€” Transport mode L4 checksum incrementally update ๐Ÿงฎ
line 275 of rte_pmd_cnxk.h
  • uint64_t ip_hdr_verify โ€” Outer IP header verification ๐Ÿ”
line 277 of rte_pmd_cnxk.h
  • uint64_t udp_ports_verify โ€” UDP encapsulation ports verification ๐Ÿšช
line 279 of rte_pmd_cnxk.h
  • uint64_t l3hdr_on_err โ€” Return 64B of L2/L3 header on error ๐Ÿ˜ญ
line 282 of rte_pmd_cnxk.h
  • uint64_t spi โ€” SPI ๐Ÿท๏ธ
line 287 of rte_pmd_cnxk.h

๐Ÿ’œ union { ... } w2 โ€” Word 2

(no extra field docs under this one, it just vibes ๐ŸŒธ)

โญ The rest of the words โญ

  • uint64_t rsvd7 โ€” Word3 ๐Ÿงฑ
line 293 of rte_pmd_cnxk.h
  • uint8_t cipher_key[RTE_PMD_CNXK_CTX_MAX_CKEY_LEN] โ€” Word4 - Word7 ๐Ÿ”‘
line 296 of rte_pmd_cnxk.h
  • uint8_t salt[4] โ€” IV salt ๐Ÿง‚
line 303 of rte_pmd_cnxk.h
  • union { ... } w8 โ€” Word8 - Word9 ๐Ÿงฉ
line 306-ish energy, this one holds the ports:
  • uint64_t udp_src_port โ€” UDP encapsulation source port ๐Ÿšช
line 314 of rte_pmd_cnxk.h
  • uint64_t udp_dst_port โ€” UDP encapsulation destination port ๐Ÿšช
line 316 of rte_pmd_cnxk.h
  • union { ... } w10 โ€” Word10 ๐Ÿงฑ
  • union rte_pmd_cnxk_ipsec_outer_ip_hdr outer_hdr โ€” Word11 - Word14 ๐ŸŒ
line 322 of rte_pmd_cnxk.h
  • uint8_t hmac_opad_ipad[RTE_PMD_CNXK_CTX_MAX_OPAD_IPAD_LEN] โ€” Word15 - Word30 ๐Ÿชช
line 325 of rte_pmd_cnxk.h
  • struct rte_pmd_cnxk_ipsec_inb_ctx_update_reg ctx โ€” Word31 - Word100 ๐Ÿ—‚๏ธ
line 328 of rte_pmd_cnxk.h

๐Ÿ‘‘ Author ๐Ÿ‘‘

Generated automatically by Doxygen for DPDK from the source code ๐Ÿค– (yes bestie, a robot wrote this one, and honestly? it ate)


and that's the whole page, periodt ๐Ÿ’… thanks for reading all 100 words with me, iykyk ๐Ÿซถ

โญ DPDK, Version 26.03.0 โ€” rte_pmd_cn...psec_inb_sa(3) โ€” mwah, see u in the next manpage bestie ๐Ÿ’–๐ŸŽ€๐Ÿฆ‹

๐Ÿ“ฆ where this page comes from