STRUCT NITROX_AEAD_RCTX(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ 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. a u8 *, pointing right at your initialization vector.
  • ivsize β€” the IV data length. an int, so you know exactly how many bytes of IV you're working with.
  • flags β€” the AEAD request flags. a u32 of pure flag energy.
  • ctx_handle β€” the device context handle, a u64. 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). a u8 that 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