ip_mc_check_igmp(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… ip_mc_check_igmp(9)

okay so bestie, welcome to the Kernel API Manual ✨ β€” this is ip_mc_check_igmp(9), and yes the (9) is giving "this is a kernel function, not a command you type in your terminal" energy, ikyk. Part of the ./net/ipv4 family. Let's get into it 🫢


🌸 NAME

ip_mc_check_igmp β€” literally just vibes-checking whether this is a sane IGMP packet πŸ”βœ¨


πŸ¦‹ SYNOPSIS

int ip_mc_check_igmp (struct sk_buff *skb );

πŸŽ€ ARGUMENTS

  • skb β€” the skb you want validated, bestie. That's it, that's the whole argument. Hand it over and let the function do its little vibe check πŸ’…

✨ DESCRIPTION

So here's the tea β˜• β€” this function checks whether an IPv4 packet is a valid IGMP packet. If it is (slay), it sets the skb transport header accordingly and returns zero πŸ‘‘

And if it's not? You get one of these bad boys back:

  • -EINVAL β€” a broken packet was detected πŸ’€ like, it literally violates some internet standard. Not cute. Not the moment.
  • -ENOMSG β€” the IP header validation succeeded (we love that for it) but nope, it is not an IGMP packet πŸ™ˆ
  • -ENOMEM β€” a memory allocation failure happened 😭 the allocation did not eat, and that's on that.
⚠️ real talk though: the caller needs to set the skb network header and free any returned skb if it differs from the provided skb. Not optional. Do not skip this step, iykyk 🫢

πŸ”₯ SEE ALSO

  • Kernel file ./net/ipv4/igmp.c β€” go read it, it's iconic πŸ‘‘

that's the whole page, no cap 🌈 if you made it this far you're genuinely the main character of networking. this lil gem lives under ./net/ipv4 and this manual page is dated October 2026 β€” so yeah, future-proof and fabulous πŸ’œπŸ§š periodt.

πŸ“¦ where this page comes from