STRUCT NITROX_AEAD_RCTX(9)
β¨ struct nitrox_aead_rctx(9) β¨
okay so this is a page straight out of the Kernel API Manual (section 9, bestie, the kernel interfaces one π
) and it's all about struct nitrox_aead_rctx β literally the AEAD request context. that's the vibe. it's giving "crypto driver internals" and honestly? iconic.
π NAME π
struct nitrox_aead_rctx β the AEAD request context. that's it, that's the whole name. short, sweet, slays.
πΈ SYNOPSIS πΈ
here's the whole struct, exactly as it lives, no edits, no notes, just facts:
struct nitrox_aead_rctx {
struct nitrox_kcrypt_request nkreq;
unsigned int cryptlen;
unsigned int assoclen;
unsigned int srclen;
unsigned int dstlen;
u8 *iv;
int ivsize;
u32 flags;
u64 ctx_handle;
struct scatterlist *src;
struct scatterlist *dst;
u8 ctrl_arg;
};
look at her. twelve members. all accounted for. no cap. π«Ά
π Members π
let's break down every single field, bestie, because we are not skipping any:
nkreqβ the base request context. like, the foundation the rest sits on. the main character of the struct, honestly.cryptlenβ the Encryption/Decryption data length. how much actual crypto-able data there is.assoclenβ the AAD length (that's Additional Authenticated Data, iykyk). it gets authenticated but not encrypted.srclenβ the input buffer length. how much you're reading from.dstlenβ the output buffer length. how much room you've got to write into.ivβ the IV data. au8 *, pointing right at your initialization vector.ivsizeβ the IV data length. anint, so you know exactly how many bytes of IV you're working with.flagsβ the AEAD request flags. au32of pure flag energy.ctx_handleβ the device context handle, au64. it's literally the key to your device context. don't lose it πsrcβ the source sglist (scatterlist pointer). where the data's coming from.dstβ the destination sglist. where the data's going.ctrl_argβ identifies the request type (ENCRYPT/DECRYPT). au8that tells you which direction you're going. pick a lane, bestie β¨
π¦ SEE ALSO π¦
if you liked this page (and why wouldn't you), the whole friend group is right here in the kernel file ./drivers/crypto/cavium/nitrox/nitrox_req.h:
struct gphdr(9)union se_req_ctrl(9)struct se_crypto_request(9)struct crypto_keys(9)struct auth_keys(9)struct flexi_crypto_context(9)struct nitrox_rfc4106_rctx(9)union pkt_instr_hdr(9)union pkt_hdr(9)union slc_store_info(9)struct nps_pkt_instr(9)struct aqmq_command_s(9)struct ctx_hdr(9)struct nitrox_softreq(9)create_single_sg(9)create_multi_sg(9)
go read them. seriously. they're all waiting. π§π
ngl this page lives in ./drivers/crypto/cavium/nitrox, dated October 2026 β that's the source tree and the date, bestie, noted for the record. π
and that's the whole page!! tysm for reading, go write some AEAD requests, stay hydrated, and remember: the ctx_handle is sacred. mwah πππ₯π
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms