tipc_crypto_xmit(9)
๐ tipc_crypto_xmit โ the kernel API glow-up ๐
okay so bestie, welcome to tipc_crypto_xmit(9), from the Kernel API Manual. this is the function that builds and encrypts a TIPC message so it can go out into the world. it's giving "getting dressed before the party" energy, but for packets. ๐
โจ SYNOPSIS โจ
int tipc_crypto_xmit (struct net *net , struct sk_buff **skb , struct
tipc_bearer *b , struct tipc_media_addr *dst , struct tipc_node *__dnode
);
that's the whole signature, no cap. ๐ซถ
๐ธ ARGUMENTS ๐ธ
netโ astruct net. yes. that's the whole description. iconic minimalism honestly. ๐skbโ the input/output message skb pointer. it goes in, and (spoiler) it comes back out either encrypted or gone.bโ the bearer used for xmit later. think of it as the ride this message is gonna catch. ๐dstโ the destination media address. where it's headed. ๐__dnodeโ the destination node for reference, if any. so like, if any โ it's optional, she's flexible. ๐ฆ
๐ซ DESCRIPTION ๐ซ
so here's the tea, bestie. first, it builds an encryption message header on the top of the message. then it encrypts the original TIPC message by using the pending, master or active key โ in that preference order, exactly, don't reorder them, that's the whole vibe check. ๐ฅ
if the encryption is successful, the encrypted skb is returned directly or via the callback (depending on how it went down, iykyk). otherwise โ and this is the dramatic part โ the skb is freed! ๐ literally that's it, it's gone, she did not survive.
โ ๏ธ ngl this is the one to remember: fail case = skb freed. no refunds, no returns. ๐ญ
โญ RETURN โญ
here's what the return value is serving, one by one:
0โ the encryption has succeeded (or no encryption happened at all). slay ๐-EINPROGRESS/-EBUSYโ the encryption is ongoing, and a callback will be made. she's still getting ready, hang tight. โณ-ENOKEKโ the encryption has failed due to no key. no key, no entry. ๐โ-EKEYREVOKEDโ the encryption has failed due to key revoked. that key lost its privileges bestie. ๐-ENOMEMโ the encryption has failed due to no memory. the budget said no. ๐ญ< 0โ the encryption has failed due to other reasons. the catch-all, the mystery, the โจetceteraโจ.
๐ฎ SEE ALSO ๐ฎ
the whole friend group, fr fr โ and they all live in the 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_pick_tx(9)tipc_crypto_key_synch(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)
and that's the whole page!! this one's filed under ./net/tipc, dated October 2026, and it's gonna show up in your searches as tipc_crypto_xmit(9) forever and ever. mwah ๐ go encrypt something gorgeous bestie ๐ง๐
๐ฆ 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