STRUCT TIPC_NODE(9)
π struct tipc_node(9) π
okay so bestie, this is a page from the Kernel API Manual and it's all about struct tipc_node β the TIPC node structure. it's literally the main character of TIPC's node bookkeeping, and we're gonna go through every single field together, no skipping, no cap. π«Ά
β¨ NAME β¨
struct tipc_node β the TIPC node structure. that's it, that's the vibe check. π
πΈ SYNOPSIS πΈ
here's the whole struct, character for character, don't touch anything:
struct tipc_node {
u32 addr;
struct kref kref;
rwlock_t lock;
struct net *net;
struct hlist_node hash;
int active_links[2];
struct tipc_link_entry links[MAX_BEARERS];
struct tipc_bclink_entry bc_entry;
int action_flags;
struct list_head list;
int state;
bool preliminary;
bool failover_sent;
u16 sync_point;
int link_cnt;
u16 working_links;
u16 capabilities;
u32 signature;
u32 link_id;
u8 peer_id[16];
char peer_id_string[NODE_ID_STR_LEN];
struct list_head publ_list;
struct list_head conn_sks;
unsigned long keepalive_intv;
struct timer_list timer;
struct rcu_head rcu;
unsigned long delete_at;
struct net *peer_net;
u32 peer_hash_mix;
#ifdef CONFIG_TIPC_CRYPTO;
struct tipc_crypto *crypto_rx;
#endif;
};
yes the #ifdef line has semicolons on it. that's how it is in the source. we don't question it, we respect it. π
π Members π
okay this is the part where we go through every single field one by one, and yes we're doing all of them:
addrβ the network address of the node. its lil address, basically.krefβ reference counter to the node object. keeps track of who's still holding onto it.lockβ anrwlock_tthat governs access to the structure. respect the lock bestie.netβ the applicable net namespace. the world it lives in.hashβ links to adjacent nodes in the unsorted hash chain.active_linksβ the bearer ids of the active links, used as an index into thelinks[]array. iconique indexing behaviour.linksβ array containing references to all the links to this node.bc_entryβ the broadcast link entry.action_flagsβ a bit mask of the different types of node actions.listβ links to adjacent nodes in the sorted list of the cluster's nodes.stateβ connectivity state vs the peer node.preliminaryβ whether it's a preliminary node or not.failover_sentβ whether failover was sent or not.sync_pointβ the sequence number where synch/failover is finished.link_cntβ number of links to the node.working_linksβ number of working links to the node (both active and standby). both!! πcapabilitiesβ a bitmap indicating the peer node's functional capabilities. it's giving rΓ©sumΓ©.signatureβ the node instance identifier.link_idβ the local and remote bearer ids of the changing link, if any.peer_idβ the 128-bit ID of the peer.peer_id_stringβ the ID string of the peer. the β¨aestheticβ¨ version.publ_listβ list of publications.conn_sksβ list of connections (FIXME). yeah. FIXME. that's what the source says, we're just the messenger. πkeepalive_intvβ the keepalive interval in milliseconds.timerβ the node's keepalive timer.rcuβ the rcu struct fortipc_node.delete_atβ indicates the time for deleting a down node.peer_netβ the peer's net namespace. its own little world π¦peer_hash_mixβ hash for this peer (FIXME). another FIXME ngl. author left us notes and we honor them fr fr.crypto_rxβ the RX crypto handler. only around whenCONFIG_TIPC_CRYPTOis defined, obviously.
π SEE ALSO π
go read these, they're all in the kernel file ./net/tipc/node.c, and every single one is listed here so you don't miss a thing:
tipc_node_crypto_rx(9), __tipc_node_link_up(9), tipc_node_link_up(9), tipc_node_link_failover(9), __tipc_node_link_down(9), tipc_node_get_linkname(9), tipc_node_xmit(9), tipc_node_bc_rcv(9), tipc_node_check_state(9), tipc_rcv(9), tipc_node_dump(9)
ok that's the whole page bestie, every field accounted for, nothing dropped, we ate and left no crumbs π β¨
and that's a wrap on the struct tipc_node(9) page from the Kernel API Manual, brought to you by the fine folks over at ./net/tipc, dated October 2026. mwah π π πΈ
π¦ 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