genlmsg_multicast_allns(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… genlmsg_multicast_allns β€” the kernel API manual, bestie edition ✨

okay so this is genlmsg_multicast_allns(9) from the Kernel API Manual, and it's literally the glow-up your netlink message needs when it wants to be everywhere at once. sit down, we're doing this πŸŽ€


✨ NAME ✨

genlmsg_multicast_allns β€” multicast a netlink message to all net namespaces 🌈

like, not just your namespace. ALL of them. main character energy fr fr πŸ‘‘


πŸ¦‹ SYNOPSIS πŸ¦‹

int genlmsg_multicast_allns (const struct genl_family *family , struct
sk_buff *skb , u32 portid , unsigned int group );

look at her. four args, one int return, absolutely serving 🫢


πŸ’– ARGUMENTS πŸ’–

  • family β€” the generic netlink family πŸ’ (your whole vibe, basically)
  • skb β€” netlink message as socket buffer πŸ“¨ (the message itself, packaged and ready to go)
  • portid β€” own netlink portid, so you don't send it to yourself πŸ™ˆ (no cap, nobody wants that awkward self-DM energy)
  • group β€” offset of the multicast group in the groups array 🎯 (your specific destination within the family)

⭐ DESCRIPTION ⭐

This function must hold the RTNL or rcu_read_lock.

okay so lowkey this is the important part bestie 😭 β€” before you call this function you MUST be holding the RTNL or rcu_read_lock. no exceptions, that's the vibe check and you will fail it if you skip it πŸ’…


πŸ‘‘ SEE ALSO πŸ‘‘

the whole friend group πŸ’œ β€” kernel file ./include/net/genetlink.h, plus:

that's a lot of besties but they all ate, no notes πŸ”₯


and that's the whole page, periodt πŸ’… this lil beauty lives in ./include/net, dated October 2026, and it's part of the Kernel API Manual β€” mwah, go multicast responsibly bestie πŸ“βœ¨

πŸ“¦ where this page comes from