STRUCT MR_MFC(9)
π¦ struct mr_mfc(9) β the kernel API manual, bestie edition π¦
okay so this is a page from the Kernel API Manual, and it's all about struct mr_mfc β literally the common multicast routing entries. no cap, that's the whole vibe. it's a kernel struct page, so it's giving "here's the shape, here's the fields, go read the source" π
β¨ NAME β¨
struct mr_mfc β common multicast routing entries π
πΈ SYNOPSIS πΈ
here's the whole struct, character for character, because we do not mess with source code in this house:
struct mr_mfc {
struct rhlist_head mnode;
unsigned short mfc_parent;
int mfc_flags;
union {
struct {
unsigned long expires;
struct sk_buff_head unresolved;
} unres;
struct {
unsigned long last_assert;
int minvif;
int maxvif;
atomic_long_t bytes;
atomic_long_t pkt;
atomic_long_t wrong_if;
unsigned long lastuse;
unsigned char ttls[MAXVIFS];
refcount_t refcount;
} res;
} mfc_un;
struct list_head list;
struct rcu_head rcu;
void (*free)(struct rcu_head *head);
};
like, look at that union. mfc_un said "why have one struct when you can have two, bestie" ππ«Ά
π Members π
mnodeβ rhashtable list β¨mfc_parentβ source interface (iif) πmfc_flagsβ entry flags πlistβ global entry list πΈrcuβ used for entry destruction πfreeβ Operation used for freeing an entry under RCU π₯
ngl the free one is main character energy β you're handing over the operation that frees an entry while it's still under RCU, so pay attention, okay? π
π SEE ALSO π
- Kernel file
./include/linux/mroute_base.h struct vif_device(9)struct mr_table_ops(9)struct mr_table(9)
go read the whole little mroute_base.h family, they're all iconic together π
and that's the page, bestie! this one came from ./include/linux, dated October 2026, and the footer says struct mr_mfc(9) β so you know exactly where to cite it. slay π
β¨π¦
π¦ 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