STRUCT PUBLICATION(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… NAME

struct publication β€” bestie, this struct is literally the little info card that says "hey, this service address (or range of addresses) is published" ✨ It's the tea about a published service address or a published service range πŸŽ€

Ngl this one lives in the Kernel API Manual, so like… kernel-adjacent glamour, you know? πŸ’œ


πŸ¦‹ SYNOPSIS

struct publication {
    struct tipc_service_range sr;
    struct tipc_socket_addr sk;
    u16 scope;
    u32 key;
    u32 id;
    struct list_head binding_node;
    struct list_head binding_sock;
    struct list_head local_publ;
    struct list_head all_publ;
    struct list_head list;
    struct rcu_head rcu;
 };

🌸 Members

  • sr β€” the service range this publication is representing, periodt πŸ’«
  • sk β€” the address of the socket that's bound to this publication 🫢
  • scope β€” the scope of the publication, and it's one of exactly two: TIPC_NODE_SCOPE or TIPC_CLUSTER_SCOPE πŸ‘‘
  • key β€” the publication key, and it's unique across the cluster, no cap πŸ”‘
  • id β€” the publication id πŸŽ€
  • binding_node β€” every publication from the same node that bound this one πŸ’… Check the receipts:
    • Remote publications: they live in node->publ_list; used by node/name distr to withdraw publications when the node is lost 😭
    • Local/node scope publications: they're in the name_table->node_scope list 🧚
    • Local/cluster scope publications: they're in the name_table->cluster_scope list 🌈
  • binding_sock β€” all publications from the same socket which bound this one. Used by the socket to withdraw publications when the socket is unbound/released πŸ’€
  • local_publ β€” list of identical publications made from this node. Used by closest_first and multicast receive lookup algorithms πŸ“
  • all_publ β€” all publications identical to this one, whatever node and scope. Used by the round-robin lookup algorithm ⭐
  • list β€” forms a list of publications in temporal order πŸ¦‹
  • rcu β€” RCU callback head used for deferred freeing (it's giving "I'll clean up later" energy) πŸ™ˆ

πŸ’– SEE ALSO

  • Kernel file ./net/tipc/name_table.h
  • struct name_table(9) πŸ”₯

okay that's the whole page, you ate that 🫢 Source is ./net/tipc, dated October 2026 β€” icon behaviour only, mwah πŸ’‹ slay and read your kernel headers! πŸ§šβ€β™€οΈβœ¨

πŸ“¦ where this page comes from