Mcproxy is an IGMP/MLD Proxy daemon for Linux.
IGMP/MLD proxies offer the possibility option to combine local multicast networks with a larger multicast infrastructure. In contrast to multicast routers, proxies are lightweight and do not require the support of a multicast routing protocol such as PIM or DVMRP. A common use case is a local stub networks that interconnects with a remote multicast routing domain, e.g. via a tunnel. But it can also be used in PMIPv6 domain to enable multicast for sources (pmipv6-source-draft) and listeners (RFC 6224). The Mcproxy meets the requirements of the IGMP/MLD proxying standard (RFC 4605) and has additional functionalities. The multicast proxy can be instantiated multiple times, is dynamically configurable at runtime, supports multiple upstreams and peering-interfaces for a non hierarchical interconnection of multicast proxies.
If you use Mcproxy in a scientific context, please use the following citation.
A g++ version equal or higher 4.8 is required.
To generate a makefile, qmake must be installed. This can be done with the following command:
apt-get install qt5-qmake apt-get install qt5-default
apt-get install qt4-qmake
To use the IPv6 functionality the kernel has to be configured and compiled with the experimental kernel feature IPv6: multicast routing. For more details go to chapter Startup.
To use more then one proxy instance for IPv4 and IPv6 the kernel has to be configured and compiled with the experimental kernel feature IP: multicast policy routing and IPv6: multicast policy routing. For more details go to chapter Startup.
To build the documentation, doxygen must be installed. This can be done with the following command:
apt-get install doxygen
The Mcproxy has to be started with root privileges.
A Linux kernel version greater than version 2.6.32 is required.
Build Mcproxy in release mode:
cd mcproxy/ qmake make
Build Mcproxy in debug mode:
cd mcproxy/ qmake CONFIG+=debug make
To copy Mcproxy to the system directory, run (optional):
Mcproxy includes a HTML documentation. The documentation will be located in the docs/ directory after the execution of:
At first you should check the available kernel features of your system. Type the following command:
sudo mcproxy -c
If a kernel feature you need is missing you have to reconfigure and recompile your linux kernel. In the debug folder is a README file which could help you with this problem.
To run the Mcproxy you need to create a valid configuration file. There is an example in the project folder (mcproxy.conf).
To run the Mcproxy in the background type the following command:
sudo nohup mcproxy -f <path/to/config_file> &
To run the mcprocy with all available status and debug messages:
sudo mcproxy -dsvv -f <path/to/config_file>
For more information see
mcproxy -h or visit our project page.
Project page: http://mcproxy.realmv6.org/
Mailing list: email@example.com
Álvaro Fernández Rojas, Florian Ecard, Hai Shalom, Zhi Chen