igmpproxy(8)

πŸ“¦
version 0.4 Β· 2 versions
, in alpine 3.22, alpine 3.23, alpine 3.24, arch rolling, nixos 26.05, nixpkgs unstable

🌸 NAME 🌸

Okay bestie, this is the igmpproxy(8) page from the System Manager's Manual, and the whole vibe is: multicast router utilizing IGMP forwarding. That's the name, that's the job, no cap. πŸ’…

✨ SYNOPSIS ✨

igmpproxy [-h] [-n] [-d] [-v [-v]] config-file

πŸ¦‹ DESCRIPTION πŸ¦‹

igmpproxy is a simple multicast routing daemon that uses IGMP forwarding to dynamically route multicast traffic. The way it works is you define an "upstream" interface where the daemon acts as a normal Multicast client, plus one or more "downstream" interfaces that serve clients on the destination networks. This is useful in situations where other dynamic multicast routers (like 'mrouted' or 'pimd') cannot be used. 🫢

Since igmpproxy only uses IGMP signalling, the daemon is only suited for situations where multicast traffic comes from only one neighbouring network. In more advanced cases, 'mrouted' or 'pimd' is probably more suited. The daemon is not designed for cascading, and probably won't scale very well. 😭

Currently only IGMPv1 and v2 is supported on downstream interfaces. On the upstream interface the kernel IGMP client implementation is used, and supported IGMP versions is therefore limited to that supported by the kernel. 🧚

πŸ’… OPTIONS πŸ’…

  • -h β€” Display help.
  • -v β€” Verbose logging. Set logging level to INFO instead of WARNING used by default.
  • -vv β€” More verbose logging. Set logging level to DEBUG.
  • -n β€” Do not run as a daemon.
  • -d β€” Output log messages to STDERR instead of to syslog(3). Implies -n.

🌈 LIMITS 🌈

The current version compiles and runs fine with the Linux kernel version 2.4. The known limits are:

  • Multicast routes: more then 200
  • Multicast group membership: max. 20

πŸŽ€ FILES πŸŽ€

  • /proc/net/ip_mr_cache β€” contains the active multicast routes.
  • /proc/net/ip_mr_vif β€” contains the 'virtual' interfaces used by the active multicast routing daemon.
  • /proc/sys/net/ipv4/conf/<ifname>/force_igmp_version β€” can be set to control what IGMP version the kernel should use on the upstream interface. Ex.: echo 2 > /proc/sys/net/ipv4/conf/eth0/force_igmp_version will force the kernel to use IGMPv2 on eth0 (provided this is the upstream interface).

πŸ‘‘ SEE ALSO πŸ‘‘

igmpproxy.conf(5), mrouted, pimd, smcroute

πŸ’€ BUGS πŸ’€

Currently none (but there probably will be :-/ )

🫢 AUTHOR 🫢

Originally written by Johnny Egeland <johnny@rlo.org>.


Later, bestie 🫢 β€” this footer energy is igmpproxy 0.4 on the igmpproxy(8) page, and there's no date listed in the footer, so I'm not making one up. ✨

πŸ“¦ where this page comes from