STRUCT MR_MFC(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ¦‹ 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