rte_security_pdcp_xform(3)

✨ NAME ✨

rte_security_pdcp_xform β€” bestie, this is the struct you fill out when you wanna spin up a PDCP security session, okay? it's giving "security association config data" and it lives in the rte_security.h header (the manual page for it is rte_security_pdcp_xform(3), iykyk). πŸ’…


πŸŽ€ SYNOPSIS πŸŽ€

#include <rte_security.h>

πŸ¦‹ Data Fields πŸ¦‹

  • int8_t bearer
  • uint8_t en_ordering
  • uint8_t remove_duplicates
  • enum rte_security_pdcp_domain domain
  • enum rte_security_pdcp_direction pkt_dir
  • enum rte_security_pdcp_sn_size sn_size
  • uint32_t hfn
  • uint32_t hfn_threshold
  • uint8_t hfn_ovrd
  • uint8_t sdap_enabled
  • uint16_t reserved

πŸ’– Detailed Description πŸ’–

okay so listen. this is the PDCP security association configuration data β€” no cap. 🌸

it's literally just a struct holding all the data you need to create a PDCP security session. that's the whole vibe. πŸ‘‘

Definition at line 536 of file rte_security.h.


🌈 Field Documentation 🌈

🌸 int8_t bearer

the PDCP bearer ID, periodt.

Definition at line 537 of file rte_security.h.

🌸 uint8_t en_ordering

turn on in-order delivery bestie ✨ β€” but like, only set this field if the driver/HW is actually capable of it, fr fr. go check RTE_SECURITY_PDCP_ORDERING_CAP first.

Definition at line 541 of file rte_security.h.

🌸 uint8_t remove_duplicates

this one tells the driver/HW to detect and remove duplicate packets πŸ—‘οΈ β€” and again, you should only set it when the driver/HW is capable, no cap. see RTE_SECURITY_PDCP_DUP_DETECT_CAP.

Definition at line 546 of file rte_security.h.

🌸 enum rte_security_pdcp_domain domain

the PDCP mode of operation: Control or data. two options, pick your fighter πŸ’…

Definition at line 548 of file rte_security.h.

🌸 enum rte_security_pdcp_direction pkt_dir

the PDCP Frame Direction β€” 0 means UL, 1 means DL. it's giving compass but make it packets 🧭

Definition at line 550 of file rte_security.h.

🌸 enum rte_security_pdcp_sn_size sn_size

the sequence number size, and your choices are 5/7/12/15/18. iconic lineup honestly.

Definition at line 552 of file rte_security.h.

🌸 uint32_t hfn

the starting Hyper Frame Number, which gets used together with the SN from the PDCP frames 🫢

Definition at line 556 of file rte_security.h.

🌸 uint32_t hfn_threshold

the HFN Threshold for key renegotiation πŸ”‘βœ¨

Definition at line 558 of file rte_security.h.

🌸 uint8_t hfn_ovrd

okay this one is a lil long but stay with me bestie 😭 so: the HFN can also be given as a per-packet value. since we don't have an IV in the case of PDCP, and the HFN is what's used to generate the IV, the IV field can be used to get the per-packet HFN while enq/deq. so if the hfn_ovrd field is set, the user is expected to set the per-packet HFN in place of the IV, and the PMDs will extract the HFN and perform operations accordingly. that's the whole tea. 🍡

Definition at line 567 of file rte_security.h.

🌸 uint8_t sdap_enabled

so in the case of 5G NR, a whole new protocol (SDAP) header may be set inside the PDCP payload, and the thing about it is it should be authenticated but not encrypted πŸ’€. hence, the driver should be notified whether SDAP is enabled or not, so that the SDAP header does not get encrypted. very "know before you go" of it all.

Definition at line 573 of file rte_security.h.

🌸 uint16_t reserved

reserved for future πŸ‘€ (the classic "we'll deal with it later" field, we love her)

Definition at line 575 of file rte_security.h.


πŸ‘‘ Author πŸ‘‘

Generated automatically by Doxygen for DPDK from the source code. (not a human author, just the robot doing its lil thing πŸ€–πŸ’–)


and that's a wrap babes πŸŽ€ this page came to you courtesy of DPDK, Version 25.11.3 β€” rte_security_pdcp_xform(3), slay, bye πŸ’…βœ¨

πŸ“¦ where this page comes from