STRUCT TIPC_CRYPTO(9)
π struct tipc_crypto(9) π
okay bestie, welcome to the Kernel API Manual β we're doing struct tipc_crypto, the TIPC TX/RX crypto structure, and honestly? she's a whole vibe. β¨
πΈ NAME πΈ
struct tipc_crypto β TIPC TX/RX crypto structure. no notes, that's literally her job description. π
π¦ SYNOPSIS π¦
okay so here's the full shape of her, so you know exactly what you're working with:
struct tipc_crypto {
struct net *net;
struct tipc_node *node;
struct tipc_aead *aead[KEY_MAX + 1];
atomic_t peer_rx_active;
u16 key_gen;
struct tipc_key key;
u8 skey_mode;
struct tipc_aead_key *skey;
struct workqueue_struct *wq;
struct delayed_work work;
#define KEY_DISTR_SCHED 1;
#define KEY_DISTR_COMPL 2;
atomic_t key_distr;
u32 rekeying_intv;
struct tipc_crypto_stats __percpu *stats;
char name[48];
unsigned long timer1;
unsigned long timer2;
union {
struct {
u8 working:1;
u8 key_master:1;
u8 legacy_user:1;
u8 nokey: 1;
};
u8 flags;
};
spinlock_t lock;
};
like, look at that struct. she ate. π₯
π MEMBERS π
okay now the main character energy part β every single member, explained, no skipping, periodt:
netβ astruct net. that's the network namespace she's living in, bestie.nodeβ the TIPC node (RX). π«Άaeadβ array of pointers to AEAD keys for encryption/decryption. the glow-up toolbox, lowkey.peer_rx_activeβ replicated peer RX active key index. say that five times fast, i dare you. πkey_genβ TX/RX key generation.keyβ the key states.skey_modeβ session key's mode.skeyβ received session key.wqβ common workqueue on TX crypto. she's got a queue and she's got scheduling, iykyk.workβ delayed work sched for TX/RX.key_distrβ key distributing state.rekeying_intvβ rekeying interval (in minutes). yes, minutes, not seconds, don't come for me. β³statsβ the crypto statistics. numbers girlie. πnameβ the crypto name.timer1β general timer 1 (jiffies).timer2β general timer 2 (jiffies). two timers, two moods. β{unnamed_union}β anonymous. she's mysterious. π{unnamed_struct}β anonymous. also mysterious. double mystery.workingβ the crypto is working or not. honestly same, some days.key_masterβ flag indicates if master key exists. πlegacy_userβ flag indicates if a peer joins w/o master key (for bwd comp.). bwd comp. = backward compatibility, for the old-school crowd. πnokeyβ no key indication.flagsβ combined flags field.lockβ tipc_key lock. π do not forget to lock her, fr fr.
ngl bestie, those two anonymousunion/structmembers are just vibing there unnamed β that's not a typo, that's literally how she's built.
π§ SEE ALSO π§
Kernel file ./net/tipc/crypto.c, plus her whole friend group β every single one, because we don't leave anyone out:
struct tipc_tfm(9)struct tipc_aead(9)struct tipc_crypto_stats(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_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)
and that's the page, bestie!! π«Ά she comes from the kernel source at ./net/tipc, dated October 2026, and honestly? iconic. go forth and encrypt responsibly. πππ
π¦ 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