rte_security_macsec_sa(3)

πŸ’… rte_security_macsec_sa(3)

okay bestie, gather round, because this is a page from the Library Functions Manual and it's literally about one struct. no cap. one struct, ten-ish fields, and a whole lot of MACsec energy. let's get into it. πŸŽ€


✨ NAME ✨

rte_security_macsec_sa β€” the MACsec secure association (SA) configuration struct, and yes she is the whole personality of this page πŸ¦‹


🌸 SYNOPSIS 🌸

#include <rte_security.h>

🧚 Data Fields

enum rte_security_macsec_direction dir
struct {
   const uint8_t * data
   uint16_t length
} key
uint8_t salt [RTE_SECURITY_MACSEC_SALT_LEN]
uint8_t an: 2
uint32_t ssci
uint32_t xpn
uint32_t next_pn

like, that's the roster. all of them. periodt. πŸ‘‘


πŸ’– DETAILED DESCRIPTION πŸ’–

MACsec secure association (SA) configuration structure.

that's the vibe β€” it's the thing that holds all the config for a single MACsec SA. and bestie, it lives at Definition at line 352 of file rte_security.h. so if you're lost in the header forest, that's your map pin. πŸ“


πŸ”₯ FIELD DOCUMENTATION πŸ”₯

enum rte_security_macsec_direction dir

Direction of SA 🌈 β€” aka which way this association is pointing.

Definition at line 354 of file rte_security.h.

const uint8_t* data

pointer to key data πŸ”‘ β€” literally just a pointer, she doesn't own the memory, she just knows where it's at.

Definition at line 357 of file rte_security.h.

uint16_t length

key length in bytes πŸ“ β€” the size of the key data above, in bytes, obviously.

Definition at line 358 of file rte_security.h.

struct { ... } key

MACsec SA key for AES-GCM 128/256 ✨ β€” this is the anonymous struct wrapping data and length together, and it's specifically for the AES-GCM 128/256 flavors. slay.

uint8_t salt[RTE_SECURITY_MACSEC_SALT_LEN]

96-bit value distributed by key agreement protocol πŸ§‚ β€” yeah, a literal salt, 96 bits of it, and it comes to you courtesy of the key agreement protocol. not you making it up. it's giving "trust the process".

Definition at line 361 of file rte_security.h.

uint8_t an

Association number to be used πŸ”’ β€” reminder that in the struct itself this is a bitfield: uint8_t an: 2, so she's only got 2 bits to work with. cozy.

Definition at line 363 of file rte_security.h.

uint32_t ssci

Short Secure Channel Identifier, to be used for XPN cases πŸ†” β€” short, secure, and specifically for the XPN situations.

Definition at line 365 of file rte_security.h.

uint32_t xpn

Extended packet number πŸ”’βœ¨ β€” the extended one, obvi.

Definition at line 367 of file rte_security.h.

uint32_t next_pn

Packet number expected/ to be used for next packet of this SA πŸ“¦ β€” the PN that's expected, or that's gonna be used, for the next packet cruising through this SA.

Definition at line 369 of file rte_security.h.


πŸ‘‘ AUTHOR πŸ‘‘

Generated automatically by Doxygen for DPDK from the source code. so like, not a human author, a robot author. we love an automated queen. πŸ€–πŸ’…


bestie reminder: every field here is doing real work for MACsec, so don't be out here guessing at values β€” salt comes from the key agreement protocol, and ssci is specifically for the XPN cases. iykyk. πŸ’œ

and that's a wrap on the DPDK manual, Version 25.11.3 β€” mwah, bye, go configure your secure associations responsibly 🫢🌸

πŸ“¦ where this page comes from