STRUCT TIPC_LINK(9)
π NAME π
okay so bestie, this is the struct tipc_link(9) page from the Kernel API Manual, and it's literally all about the TIPC link data structure. no cap, it's giving βone struct to hold the whole link vibe.β π
struct tipc_link β TIPC link data structure β¨
πΈ SYNOPSIS πΈ
struct tipc_link {
u32 addr;
char name[TIPC_MAX_LINK_NAME];
struct net *net;
u16 peer_session;
u16 session;
u16 snd_nxt_state;
u16 rcv_nxt_state;
u32 peer_bearer_id;
u32 bearer_id;
u32 tolerance;
u32 abort_limit;
u32 state;
u16 peer_caps;
bool in_session;
bool active;
u32 silent_intv_cnt;
char if_name[TIPC_MAX_IF_NAME];
u32 priority;
char net_plane;
struct tipc_mon_state mon_state;
u16 rst_cnt;
u16 drop_point;
struct sk_buff *failover_reasm_skb;
struct sk_buff_head failover_deferdq;
u16 mtu;
u16 advertised_mtu;
struct sk_buff_head transmq;
struct sk_buff_head backlogq;
struct {
u16 len;
u16 limit;
struct sk_buff *target_bskb;
} backlog[5];
u16 snd_nxt;
u16 rcv_nxt;
u32 rcv_unacked;
struct sk_buff_head deferdq;
struct sk_buff_head *inputq;
struct sk_buff_head *namedq;
struct sk_buff_head wakeupq;
u16 window;
u16 min_win;
u16 ssthresh;
u16 max_win;
u16 cong_acks;
u16 checkpoint;
struct sk_buff *reasm_buf;
struct sk_buff *reasm_tnlmsg;
u16 ackers;
u16 acked;
u16 last_gap;
struct tipc_gap_ack_blks *last_ga;
struct tipc_link *bc_rcvlink;
struct tipc_link *bc_sndlink;
u8 nack_state;
bool bc_peer_is_up;
struct tipc_stats stats;
};
π«Ά Members π«Ά
okay, deep breath, because this is the member-by-member tour and we're not skipping a single one. periodt. π
addrβ network address of link's peer node πnameβ link name character string πnetβ pointer to namespace struct π¦peer_sessionβ link session # being used by peer end of link β¨sessionβ session to be used by link πsnd_nxt_stateβ next send seq number πΈrcv_nxt_stateβ next rcv seq number πpeer_bearer_idβ bearer id used by link's peer endpoint π«Άbearer_idβ local bearer id used by link πtoleranceβ minimum link continuity loss needed to reset link [in ms] π₯abort_limitβ # of unacknowledged continuity probes needed to reset link πstateβ current state of link FSM βpeer_capsβ bitmap describing capabilities of peer node π§in_sessionβ have receivedACTIVATE_MSGfrom peer πactiveβ link is active βsilent_intv_cntβ # of timer intervals without any reception from peer πif_nameβ associated interface name πpriorityβ current link priority πnet_planeβ current link network plane ('A'through'H') πmon_stateβ cookie with information needed by link monitor πͺrst_cntβ link reset counter πdrop_pointβ seq number for failover handling (FIXME) πfailover_reasm_skbβ saved failover msg ptr (FIXME) πfailover_deferdqβ deferred message queue for failover processing (FIXME) π«mtuβ current maximum packet size for this link π¦advertised_mtuβ advertised own mtu when link is being established π£transmqβ the link's transmit queue πbacklogqβ queue for messages waiting to be sent π°οΈbacklogβ link's backlog by priority (importance) π₯snd_nxtβ next sequence number to be used β‘οΈrcv_nxtβ next sequence number to expect for inbound messages β¬ οΈrcv_unackedβ # messages read by user, but not yet acked back to peer π¬deferdqβ deferred receive queue π₯inputqβ buffer queue for messages to be delivered upwards β¬οΈnamedqβ buffer queue for name table messages to be delivered upwards π·οΈwakeupqβ linked list of wakeup msgs waiting for link congestion to abate π΄windowβ sliding window size for congestion handling πͺmin_winβ minimal send window to be used by link π§Έssthreshβ slow start threshold for congestion handling π’max_winβ maximal send window to be used by link πcong_acksβ congestion acks for congestion avoidance (FIXME) πcheckpointβ seq number for congestion window size handling π©reasm_bufβ head of partially reassembled inbound message fragments π§©reasm_tnlmsgβ fragmentation/reassembly area for tunnel protocol message πackersβ # of peers that needs to ack each packet before it can be released βackedβ # last packet acked by a certain peer. Used for broadcast. π‘last_gapβ last gap ack blocks for bcast (FIXME) π«last_gaβ ptr to gap ack blocks π§·bc_rcvlinkβ the peer specific link used for broadcast reception π»bc_sndlinkβ the namespace global link used for broadcast sending π’nack_stateβ bcast nack state π«bc_peer_is_upβ peer has acked the bcast init msg πstatsβ collects statistics regarding link activity π
π SEE ALSO π
Kernel file ./net/tipc/link.c β that's the spot, bestie. and these are the linked-up functions you're gonna wanna peek at:
tipc_link_create(9)tipc_link_bc_create(9)tipc_link_fsm_evt(9)tipc_link_too_silent(9)link_schedule_user(9)link_prepare_wakeup(9)tipc_link_set_skb_retransmit_time(9)tipc_link_xmit(9)link_retransmit_failure(9)tipc_get_gap_ack_blks(9)tipc_link_failover_prepare(9)tipc_link_reset_stats(9)tipc_link_dump(9)
mwah π this page came from ./net/tipc, dated October 2026, and it's literally the struct tipc_link(9) page. bye 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