genlmsg_mult...tns_filtered(9)
π genlmsg_mult...tns_filtered(9) π
okay so bestie, this is a page from the Kernel API Manual β yes, the kernel, that big scary thing, but you've got this π«Ά. Buckle up, we're sending netlink messages to a specific netns with a filter function and honestly? it's giving main character energy β¨
πΈ NAME πΈ
genlmsg_multicast_netns_filtered β multicast a netlink message to a specific netns with filter function π
Like, you're broadcasting a message, but only to one net namespace, and there's a filter function deciding who actually gets it. icon behavior, no cap.
π SYNOPSIS π
int genlmsg_multicast_netns_filtered (const struct genl_family *family ,
struct net *net , struct sk_buff *skb , u32 portid , unsigned int group
, gfp_t flags , netlink_filter_fn filter , void *filter_data );
she takes eight arguments. eight! and every single one matters, bestie π.
β¨ ARGUMENTS β¨
familyβ the generic netlink family π§ this is the whole family situation you're repping.netβ the net namespace π the specific one. not all of them. this one.skbβ netlink message as socket buffer π¦ your message, packaged up all cute in a socket buffer.portidβ own netlink portid to avoid sending to yourself π like, hi, please don't text yourself, that's what this is for.groupβ offset of multicast group in groups array π’ an offset, bestie, not the group itself. keep that in mind, iykyk.flagsβ allocation flags βοΈ the usual allocation flags situation.filterβ filter function π΅οΈ the vibe check, basically. decides who's worthy.filter_dataβ filter function private data π private data that gets passed along to that filter function. very exclusive, very private.
π RETURN π
0 on success π, negative error code for failure π.
that's it. that's the deal. zero equals slay, negative equals not slay.
π¦ SEE ALSO π¦
bestie there is so much here, and you know we're listing every single one π β from the kernel file ./include/net/genetlink.h:
struct genl_multicast_group(9)struct genl_family(9)struct genl_info(9)struct genl_small_ops(9)struct genl_ops(9)struct genl_split_ops(9)struct genl_dumpit_info(9)genl_info_init_ntf(9)genlmsg_iput(9)genlmsg_nlhdr(9)genlmsg_parse_deprecated(9)genlmsg_parse(9)genl_dump_check_consistent(9)genlmsg_put_reply(9)genlmsg_end(9)genlmsg_cancel(9)genlmsg_multicast_netns(9)genlmsg_multicast(9)genlmsg_multicast_allns(9)genlmsg_unicast(9)genlmsg_reply(9)genlmsg_data(9)genlmsg_len(9)genlmsg_msg_size(9)genlmsg_total_size(9)genlmsg_new(9)genl_set_err(9)
π reminder: genlmsg_parse_deprecated is literally called deprecated β the name is not subtle, bestie. it's right there in the name. don't say i didn't warn you.
okay that's the whole page!! every argument, every option, every single SEE ALSO reference β nothing skipped, nothing merged, we ate and left no crumbs π
this lil gem lives in <code>./include/net</code>, dated October 2026 β mwah, love that for us πβ¨
π¦ 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