STRUCT TIPC_MEDIA(9)
π struct tipc_media(9) β the media specific info exposed to generic bearer layer glow-up
Okay so bestie, welcome to struct tipc_media β it's a kernel API page from the Kernel API Manual, and it's literally the vibe board for how a TIPC media type tells the generic bearer layer what it's about. The whole point? Media specific info exposed to generic bearer layer. No cap. π
β¨ NAME β¨
struct tipc_media β media specific info exposed to generic bearer layer. It's giving "backstage pass for your network media type." π¦
πΈ SYNOPSIS πΈ
struct tipc_media {
int (*send_msg)(struct net *net, struct sk_buff *buf, struct tipc_bearer *b, struct tipc_media_addr *dest);
int (*enable_media)(struct net *net, struct tipc_bearer *b, struct nlattr *attr[]);
void (*disable_media)(struct tipc_bearer *b);
int (*addr2str)(struct tipc_media_addr *addr, char *strbuf, int bufsz);
int (*addr2msg)(char *msg, struct tipc_media_addr *addr);
int (*msg2addr)(struct tipc_bearer *b, struct tipc_media_addr *addr, char *msg);
int (*raw2addr)(struct tipc_bearer *b, struct tipc_media_addr *addr, const char *raw);
u32 priority;
u32 tolerance;
u32 min_win;
u32 max_win;
u32 mtu;
u32 type_id;
u32 hwaddr_len;
char name[TIPC_MAX_MEDIA_NAME];
};
π Members π
So there's likeβ¦ function pointers up top (the do stuff girlies) and then a little squad of u32s plus a name (the settings girlies). Let's meet them π
send_msgβ routine which handles buffer transmission. She's the one actually yeeting the buf out the door, fr fr. β¨enable_mediaβ routine which enables a media. Wake her up, she's needed. π₯disable_mediaβ routine which disables a media. Nap time bestie, we're done here. πaddr2strβ convert media address format to string. Address in, cute little string out. πaddr2msgβ convert from media addr format to discovery msg addr format. Discovery msg needs its own little addr fit, so we translate. π¦msg2addrβ convert from discovery msg addr format to media addr format. The reverse trip, iykyk β¨raw2addrβ convert from raw addr format to media addr format. Raw and unfiltered β actually usable. πpriorityβ default link (and bearer) priority. Who gets picked first? Her. Obviously. πtoleranceβ default time (in ms) before declaring link failure. So like, your grace period in milliseconds before the link is officially over. πmin_winβ minimum window (in packets) before declaring link congestion. Lowkey the floor of the window, measured in packets. πmax_winβ maximum window (in packets) before declaring link congestion. The ceiling, also in packets. Cap it. π§mtuβ max packet size bearer can support for media type not dependent on underlying device MTU. Big energy, very specific use case β don't come for her. πtype_idβ TIPC media identifier. Her little ID card. πhwaddr_lenβ TIPC media address len. How long the address is, that's it, that's the tweet. πnameβ media name. It's literally her name, inTIPC_MAX_MEDIA_NAME-sized letters. β
π SEE ALSO π
Kernel file ./net/tipc/bearer.h, plus struct tipc_media_addr(9) and struct tipc_bearer(9). Go read those, bestie β they're the friend group. π«Ά
π‘ Friendly reminder: everything above is literally straight from the page β I'm not out here inventing behaviour for you. If the source doesn't say it, I'm not saying it either. π
And that's the whole page, periodt. π
This cutie lives under ./net/tipc, dated October 2026, in the Kernel API Manual β mwah, sending you off with a kiss and a <rainbow>struct tipc_media(9)</rainbow> πβ¨π¦
π¦ 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