rte_security_pdcp_xform(3)

πŸ“¦ version 26.03, in nixos 26.05, nixpkgs unstable

πŸ’– NAME

rte_security_pdcp_xform β€” okay bestie, this is the struct for PDCP security association config data ✨ it's giving "everything you need to spin up a PDCP security session" and honestly? iconic.

This page is rte_security_pdcp_xform(3) from the Library Functions Manual, and we're about to go through it field by field, no skips, no cap 🫢


🌸 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

That's the whole roster, eleven fields, all accounted for πŸ’…


πŸ’œ Detailed Description

It's PDCP security association configuration data, periodt. This struct holds all the data you need to create a PDCP security session 🌈

Defined at line 536 of the file rte_security.h β€” write that down bestie, you'll want it later πŸ¦‹


✨ Field Documentation

πŸ“ int8_t bearer

The PDCP bearer ID. That's it, that's the field πŸ’«

Defined at line 537 of rte_security.h.

🧚 uint8_t en_ordering

Enables in-order delivery. Careful though β€” you should only set this if the driver/HW is actually capable of it, so check RTE_SECURITY_PDCP_ORDERING_CAP first, iykyk πŸ™ˆ

Defined at line 541 of rte_security.h.

🌸 uint8_t remove_duplicates

Politely tells the driver/HW to detect and remove duplicate packets πŸ‘‘ Same deal as above: only set this when the driver/HW is capable, and the thing to check is RTE_SECURITY_PDCP_DUP_DETECT_CAP ✨

Defined at line 546 of rte_security.h.

πŸ¦‹ enum rte_security_pdcp_domain domain

The PDCP mode of operation β€” Control or data. Two moods, pick one πŸ’…

Defined at line 548 of rte_security.h.

🌈 enum rte_security_pdcp_direction pkt_dir

PDCP frame direction: 0 means UL, 1 means DL. Up or down, that's the whole vibe πŸŽ€

Defined at line 550 of rte_security.h.

πŸ’« enum rte_security_pdcp_sn_size sn_size

The sequence number size β€” 5/7/12/15/18. Pick your fighter ⭐

Defined at line 552 of rte_security.h.

πŸ”₯ uint32_t hfn

The starting Hyper Frame Number, used together with the SN from the PDCP frames. They're a package deal, fr fr πŸ’–

Defined at line 556 of rte_security.h.

🌟 uint32_t hfn_threshold

The HFN threshold for key renegotiation β€” so it's the number that says "time to rotate the keys bestie" πŸ”‘

Defined at line 558 of rte_security.h.

πŸ’€ uint8_t hfn_ovrd

Okay so this one's a little extra, so let me explain 🫢 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 enqueuing/dequeuing. If the hfn_ovrd field is set, you (the user) are expected to set the per-packet HFN in place of the IV, and the PMDs will extract that HFN and do their operations accordingly ✨

Defined at line 567 of rte_security.h.

πŸ“ uint8_t sdap_enabled

In the case of 5G NR, a new protocol (SDAP) header may be set inside the PDCP payload, and the whole point is that it should be authenticated but not encrypted πŸ‘€ So the driver needs to be notified whether SDAP is enabled or not, so it knows not to encrypt that SDAP header. Respect the header πŸ’…

Defined at line 573 of rte_security.h.

πŸŽ€ uint16_t reserved

Reserved for the future. Hands off, it's saving that space for later πŸ¦‹

Defined at line 575 of rte_security.h.


πŸ‘‘ Author

Generated automatically by Doxygen for DPDK from the source code. Not a human, just vibes and a parser 😭


Heads up bestie: this page is auto-generated doc, so the line numbers and the rte_security.h references are the source of truth β€” don't let anyone tell you otherwise πŸ’–

That's the whole page, no notes 🌈 Sourced from DPDK, Version 26.03.0, rte_security_pdcp_xform(3) β€” go forth and configure your PDCP sessions, you've absolutely got this πŸ«Άβœ¨πŸ’œ

πŸ“¦ where this page comes from