spu2_fmd_ctrl1_write(9)
π spu2_fmd_ctrl1_write(9) π
okay bestie, welcome to the Kernel API Manual β¨ this page is literally all about writing the ctrl1 field in the fixed metadata (FMD) field of an SPU request packet. no cap π«Ά
πΈ NAME πΈ
spu2_fmd_ctrl1_write β write the ctrl1 field in the fixed metadata (FMD) field of an SPU request packet. π
β¨ SYNOPSIS β¨
it's giving void return, and the full signature is right here:
void spu2_fmd_ctrl1_write (struct SPU2_FMD *fmd , bool is_inbound , u64
assoc_size , u64 auth_key_len , u64 cipher_key_len , bool gen_iv , bool
hash_iv , bool return_iv , u64 ret_iv_len , u64 ret_iv_offset , u64
cipher_iv_len , u64 digest_size , bool return_payload , bool return_md
);
π ARGUMENTS π
every single argument, in order, with all the details preserved β let's go π
fmdβ start of the FMD field to be written. πis_inboundβtrueif decrypting.falseif encrypting. πassoc_sizeβ length of additional associated data, in bytes.auth_key_lenβ length of authentication key, in bytes.cipher_key_lenβ length of cipher key, in bytes.gen_ivβ iftrue, hw generates IV and returns in response. β¨hash_ivβ IV participates in hash. Used for IPSEC and TLS.return_ivβ return IV in output packet before payload.ret_iv_lenβ length of IV returned from SPU, in bytes.ret_iv_offsetβ offset into full IV of start of returned IV.cipher_iv_lenβ length of input cipher IV, in bytes.digest_sizeβ length of digest (aka, hash tag or ICV), in bytes.return_payloadβ return payload in SPU response.return_mdβ return metadata in SPU response.
π¦ DESCRIPTION π¦
okay so real talk, bestie:
Packet can haveAAD2w/oAAD1. For algorithms currently supported, associated data goes inAAD2.
that's the whole vibe of this section, and every detail is staying exactly where it belongs. πβ¨
π SEE ALSO π
go read these, bestie β every reference from the original list is here:
- Kernel file β
./drivers/crypto/bcm/spu2.c spu2_cipher_xlate(9)spu2_hash_xlate(9)spu2_fmd_init(9)spu2_fmd_ctrl0_write(9)spu2_fmd_ctrl2_write(9)spu2_fmd_ctrl3_write(9)spu2_ctx_max_payload(9)spu2_payload_length(9)spu2_response_hdr_len(9)spu2_hash_pad_len(9)spu2_gcm_ccm_pad_len(9)spu2_assoc_resp_len(9)spu2_aead_ivlen(9)spu2_hash_type(9)spu2_digest_size(9)spu2_create_request(9)spu2_cipher_req_init(9)spu2_cipher_req_finish(9)spu2_request_pad(9)spu2_xts_tweak_in_payload(9)spu2_tx_status_len(9)spu2_rx_status_len(9)spu2_status_process(9)spu2_ccm_update_iv(9)spu2_wordalign_padlen(9)
mwah π this page is from source/version ./drivers/crypto/bcm and dated October 2026. periodt. π
π¦ 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