ipv6_mc_check_mld(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– ipv6_mc_check_mld(9) πŸ’–

okay bestie, welcome to the Kernel API Manual page for ipv6_mc_check_mld(9) β€” yes, the title is right there and we’re folding the manual name in near the top like a little name tag 🫢

✨ NAME ✨

ipv6_mc_check_mld β€” checks whether this is a sane MLD packet. Literally a vibe check for MLD packets πŸ’…

🌸 SYNOPSIS 🌸

int ipv6_mc_check_mld (struct sk_buff *skb );

πŸŽ€ ARGUMENTS πŸŽ€

  • skb β€” the skb to validate. This is the packet cutie getting inspected πŸ•΅οΈβ€β™€οΈ

πŸ¦‹ DESCRIPTION πŸ¦‹

So this function checks whether an IPv6 packet is a valid MLD packet. If it is, it sets the skb transport header accordingly and returns zero β€” slay, success, no notes ✨

If something’s off, you get one of these error returns:

  • -EINVAL β€” a broken packet was detected, i.e. it violates some internet standard. Not iconic behavior 😭
  • -ENOMSG β€” IP header validation succeeded but it is not an ICMPv6 packet with a hop-by-hop option.
  • -ENODATA β€” IP+ICMPv6 header with hop-by-hop option validation succeeded but it is not an MLD packet.
  • -ENOMEM β€” a memory allocation failure happened. The allocation said β€œnot today” πŸ’€
Bestie, important caller note: the caller needs to set the skb network header and free any returned skb if it differs from the provided skb. Do not forget, fr fr 🫢

🌈 SEE ALSO 🌈

Kernel file ./net/ipv6/mcast_snoop.c β€” go peek if you’re curious πŸ‘€


mwah πŸ’‹ this page is from ./net/ipv6, dated October 2026, and it’s serving Kernel API Manual realness. Bye bestie! πŸŽ€πŸ’–

πŸ“¦ where this page comes from