STRUCT VIF_DEVICE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

okay so bestie, welcome to struct vif_device(9) from the Kernel API Manual πŸ’– this one is literally the interface representor for multicast routing, and we're gonna get into every single member, no skips, periodt ✨

🌸 NAME 🌸

struct vif_device β€” interface representor for multicast routing πŸ¦‹

✨ SYNOPSIS ✨

struct vif_device {
    struct net_device *dev;
    netdevice_tracker dev_tracker;
    unsigned long bytes_in, bytes_out;
    unsigned long pkt_in, pkt_out;
    unsigned long rate_limit;
    unsigned char threshold;
    unsigned short flags;
    int link;
    struct netdev_phys_item_id dev_parent_id;
    __be32 local, remote;
 };

πŸŽ€ Members πŸŽ€

okay bestie, here's the member-by-member vibe check πŸ‘‘

  • dev β€” network device being used πŸ’…
  • dev_tracker β€” refcount tracker for dev reference 🫢
  • bytes_in β€” statistic; bytes ingressing 🌸
  • bytes_out β€” statistic; bytes egresing (sic β€” keeping the original spelling, iykyk) πŸ’€
  • pkt_in β€” statistic; packets ingressing ✨
  • pkt_out β€” statistic; packets egressing πŸ¦‹
  • rate_limit β€” Traffic shaping (NI) πŸ”₯
  • threshold β€” TTL threshold ⭐
  • flags β€” Control flags πŸŽ€
  • link β€” Physical interface index πŸ‘‘
  • dev_parent_id β€” device parent id πŸ’œ
  • local β€” Local address 🌈
  • remote β€” Remote address for tunnels 🧚

πŸ’– SEE ALSO πŸ’–

Kernel file ./include/linux/mroute_base.h struct mr_mfc(9), struct mr_table_ops(9), struct mr_table(9) β€” go read those too, bestie, they're linked in the group chat fr fr 🫢


mwah πŸ’‹ this iconic little page comes from ./include/linux, dated October 2026, and it's all about struct vif_device(9) β€” bye bestie, slay your kernel reading 🌟

πŸ“¦ where this page comes from