IP_UNBLOCK_SOURCE(2const)

πŸ“¦
version 6.20 Β· 4 versions
, in arch rolling, nixpkgs unstable

✨ IP_UNBLOCK_SOURCE ✨

okay bestie, so this is IP_UNBLOCK_SOURCE, and it lives in the 2const family (basically the cheer squad of constant-pages that hang out with setsockopt(2)). it's a setsockopt thing, it's about multicast, and it's here to unblock a multicast source. that's it. that's the whole job. πŸ’…


πŸ“š LIBRARY

Standard C library (libc, -lc). yes queen, you get it for free, no extra linking drama. 🫢


πŸŽ€ SYNOPSIS

so you're gonna write it like this, exactly, no freestyling:

#include <netinet/in.h>  /* Definition of IP* constants */
#include <sys/socket.h>

int setsockopt(int sockfd, IPPROTO_IP, IP_UNBLOCK_SOURCE,
               const struct ip_mreq_source *src,
               sizeof(struct ip_mreq_source));

see the headers? netinet/in.h is where the IP* constants live, and sys/socket.h is where setsockopt itself is chilling. you need both. ✨


πŸ’– DESCRIPTION

Unblock previously blocked multicast source. literally just that. it's the glow-up reversal of a block β€” the "you're un-grounded, go to the party" of multicast networking. 🌈

and here's the tea, the part you need to know so you don't get humbled:

it fails with EADDRNOTAVAIL when the given source is not being blocked.

so if you try to unblock something that was never blocked in the first place? nope. the kernel is gonna look at you like 😭 and hand you an error. don't take it personally, that's just the vibe check. πŸ’€


πŸ”₯ ERRORS

ngl this page keeps it brief β€” it points you at the real ones:

that's where the actual error lore lives, iykyk. πŸ‘‘


⭐ HISTORY

this one's been around, bestie β€” a true veteran:

  • Linux 2.4.22
  • Linux 2.5.68

old money behavior fr fr. πŸ‘‘


πŸ‘€ SEE ALSO

go read these next, they're all in the same friend group:


and that's the whole page, no notes. πŸ¦‹

this lil' rewrite comes to you from Linux man-pages 6.20, dated 2025-11-25 β€” shoutout to the man-pages girlies for keeping the lore alive, mwah πŸ’–πŸŽ€βœ¨

πŸ“¦ where this page comes from
  • arch rolling: man-pages 6.20-1 Β· BSD-2-Clause AND BSD-3-Clause AND BSD-4.3TAHOE AND BSD-4-Clause-UC AND GPL-1.0-or-later AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-or-later AND LGPL-3.0-linking-exception AND LGPL-3.0-or-later AND LicenseRef-Public-Domain AND LicenseRef-UltraPermissive AND Linux-man-pages-1-para AND Linux-man-pages-copyleft AND Linux-man-pages-copyleft-2-para AND Linux-man-pages-copyleft-var AND MIT AND Spencer-94
  • nixpkgs unstable: man-pages 6.20
  • πŸ“œ the page's license: Linux-man-pages-copyleft
  • πŸ’– girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms