tipc_crypto_key_pick_tx(9)
π tipc_crypto_key_pick_tx β bestie edition
okay so this is tipc_crypto_key_pick_tx(9) from the Kernel API Manual, and honestly? she's a little matchmaker function. let's get into it π
β¨ NAME β¨
tipc_crypto_key_pick_tx β pick one TX key for message decryption π
like... she's literally choosing. the chosen one. for decryption. no cap.
πΈ SYNOPSIS πΈ
struct tipc_aead * tipc_crypto_key_pick_tx (struct tipc_crypto *tx ,
struct tipc_crypto *rx , struct sk_buff *skb , u8 tx_key );
look at her go π four whole arguments, one whole struct tipc_aead * coming back at you. iconic signature fr fr.
π¦ ARGUMENTS π¦
txβ the TX crypto handle. main character of this whole operation, she's the one doing the picking πrxβ the RX crypto handle. heads up bestie: this one can beNULL. she's optional, she's lowkey just vibing π«Άskbβ the messageskbthat's gonna get decrypted later. yes, later. she's on deck, not up yet βtx_keyβ the peer TX key id. theu8. the little number that says "this one's from the peer" π
π₯ DESCRIPTION π₯
so what does she actually do? she looks up all the existing TX keys and picks one that's actually suitable for the message decryption. that's the whole vibe check.
but the requirements are strict, okay? the key she picks must be a cluster key. and it must not have been used before on the same message β i.e. no recursive situations π the function is not about to let a key pull up to the same message twice. that's a red flag and she knows it.
not me making sure the key is fresh AND a cluster key... the standards are high and honestly? they should be π
π RETURN π
if it goes well, you get the TX AEAD key handle back. slay. β¨
if it doesn't? you get NULL. and that's it. no explanation, no drama, just NULL π
π SEE ALSO π
okay this list is long and I'm obsessed with it. here's everyone in the group chat π«Ά
- Kernel file
./net/tipc/crypto.c struct tipc_tfm(9)struct tipc_aead(9)struct tipc_crypto_stats(9)struct tipc_crypto(9)tipc_aead_key_validate(9)tipc_aead_key_generate(9)tipc_aead_free(9)tipc_aead_tfm_next(9)tipc_aead_init(9)tipc_aead_clone(9)tipc_aead_mem_alloc(9)tipc_aead_encrypt(9)tipc_aead_decrypt(9)tipc_ehdr_validate(9)tipc_ehdr_build(9)tipc_crypto_key_init(9)tipc_crypto_key_attach(9)tipc_crypto_key_try_align(9)tipc_crypto_key_synch(9)tipc_crypto_xmit(9)tipc_crypto_rcv(9)tipc_crypto_msg_rcv(9)tipc_crypto_key_distr(9)tipc_crypto_key_xmit(9)tipc_crypto_key_rcv(9)tipc_crypto_work_rx(9)tipc_crypto_rekeying_sched(9)tipc_crypto_work_tx(9)
like, that's the whole found family π every single one of them, no skips, we don't leave anyone out π
and that's the page bestie!! π§ this one lives in ./net/tipc and she's dated October 2026 β so like, future girlie energy fr fr. go pick your key, stay non-recursive, and remember: cluster keys only, 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