STRUCT TIPC_BEARER(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct tipc_bearer(9) πŸ’–

okay so bestie, welcome to the Kernel API Manual β€” we're talking about struct tipc_bearer, the generic TIPC bearer structure. it's giving "the blueprint for how TIPC actually gets out into the world" and honestly? iconic. let's get into it πŸŽ€


✨ SYNOPSIS ✨

no cap, here's the whole thing exactly as it lives in the kernel:

struct tipc_bearer {
    void *media_ptr;
    u32 mtu;
    struct tipc_media_addr addr;
    char name[TIPC_MAX_BEARER_NAME];
    struct tipc_media *media;
    struct tipc_media_addr bcast_addr;
    struct packet_type pt;
    struct rcu_head rcu;
    u32 priority;
    u32 min_win;
    u32 max_win;
    u32 tolerance;
    u32 domain;
    u32 identity;
    struct tipc_discoverer *disc;
    char net_plane;
    u16 encap_hlen;
    unsigned long up;
    refcount_t refcnt;
 };

look at her. nineteen fields. main character energy fr fr 🌟


🌸 Members 🌸

let's go field by field, bestie, no skipping, we're doing the whole tour πŸ’…

  • media_ptr β€” pointer to additional media-specific information about the bearer. extra lore, basically πŸ¦‹
  • mtu β€” max packet size this bearer can support. keep it under this or it's not gonna fly ✨
  • addr β€” the media-specific address associated with the bearer. where the bearer lives, address-wise πŸ’Œ
  • name β€” the bearer name, and the format is media:interface (yes, exactly like that, with the colon 🫢)
  • media β€” ptr to the media structure associated with the bearer. her partner in crime πŸ’œ
  • bcast_addr β€” the media address used in broadcasting. for when you need to yell at everyone πŸ“’
  • pt β€” packet type for the bearer πŸŽ€
  • rcu β€” rcu struct for tipc_bearer. the RCU bookkeeping, lowkey essential 😭
  • priority β€” default link priority for the bearer. ✨ priorities ✨
  • min_win β€” minimum window (in packets) before declaring link congestion 🚦
  • max_win β€” maximum window (in packets) before declaring link congestion 🚧
  • tolerance β€” default link tolerance for the bearer 🧚
  • domain β€” the network domain to which links can be established 🌐
  • identity β€” array index of this bearer within the TIPC bearer array. she has a number, she has a slot πŸ’«
  • disc β€” ptr to link setup request πŸ”—
  • net_plane β€” network plane ('A' through 'H') currently associated with the bearer. yes, a single char, A to H, that's the whole range πŸ…°οΈ
  • encap_hlen β€” encap headers length πŸ“¦
  • up β€” bearer up flag (bit 0) ⬆️
  • refcnt β€” tipc_bearer reference counter. the classic refcount, keeping her alive 🫢

⭐ Note ⭐

okay so this part matters, don't skim it πŸ™ˆ β€” media-specific code is responsible for initializing the fields indicated below when a bearer is enabled, and TIPC's generic bearer code takes care of initializing all other fields. like, division of labour, bestie. everybody has their job πŸ’…


🌈 SEE ALSO 🌈

  • Kernel file ./net/tipc/bearer.h
  • struct tipc_media_addr(9)
  • struct tipc_media(9)

go read those too, iykyk πŸ“š


πŸ’€ fr fr, that's the whole page, no gatekeeping, all nineteen fields accounted for.

and that's a wrap, bestie! this came from ./net/tipc, dated October 2026, and it's brought to you by the Kernel API Manual. slay, periodt, go read your structs πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from