SMCRoute is a daemon and command line tool to manipulate the multicast routing table in the UNIX kernel. Both FreeBSD and Linux kernels are supported, but it may work on other systems as well.
- Configuration file support, /etc/smcroute.conf
- Support for restarting and reloading the
- Source-less on-demand routing, a.k.a. (*,G) based static routing
- Source specific group join support
- Optional built-in mrdisc support, RFC4286
- Support for multiple routing tables on Linux
- Client with built-in support to show routes and joined groups
- Interface wildcard matching,
Why a Daemon?
A very common question is why smcroute must be a daemon? Why not just a
simple tool, like
ip route, for unicast routes?
The answer lies in how multicast is implemented in the UNIX kernel.
To be able to setup multicast routes a program must connect to the multicast routing socket in the kernel, when that socket is closed, which is done automatically when a UNIX program ends, the kernel cleans up all routes.
Problems? See the multicast howto
Origin & References
Since 2011 Joachim Nilsson heads development at GitHub. New
features include config file support, reloading config on
source-less on-demand (*,G) routing, TTL scoping and support for
disabling ALL interfaces except the few used for multicast routing.
Issue tracker and GIT repository available at GitHub, tarballs also
.tar.gz for systems that do not have
xz in the default
install, like OpenBSD: