igmpproxy - Multicast router utilizing IGMP forwarding
igmpproxy [-h] [-n] [-d] [-v [-v]] config-file
igmpproxy is a simple multicast routing daemon which uses IGMP forwarding to dynamically route multicast traffic. Routing is done by defining an "upstream" interface on which the daemon act as a normal Multicast client, and one or more "downstream" interfaces that serves 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.
|-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.|
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
|- contains the active multicast routes|
|- contains the ’virtual’ interfaces used by the active multicast routing daemon|
|- 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).|
igmpproxy.conf(5), mrouted, pimd, smcroute
Currently none (but there probably will be :-/ )
Originally written by Johnny Egeland <johnny>.