SMCRoute 2.4.0

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. SMCRoute can be used as an alternative to dynamic multicast routing daemons like mrouted or pimd in situations where (only) static multicast routes should be maintained and/or no proper IGMP signaling exists.

Tags multicast daemon unix linux
License GNU GPL
State stable

Recent Releases

2.4.011 Feb 2018 14:14 major feature: Interface wildcard support, disabled IPv4 `mrdisc` by default, and several fixes to `smcroutectl` tool.
2.3.113 Jun 2017 21:57 major bugfix: Fixes buggy interface and VIF re-initialization on SIGHUP, invalid interface name reference in mrdisc support, and a log macro bug in the .conf parser.
2.3.028 May 2017 20:36 major feature: Separation of daemon and client, with many new features in the client. Also, now loopback is supported!
2.2.203 Feb 2017 15:45 minor feature: New client command, -F, for immediately flushing dynamically learned (*,G) routes from the cache. New cache flush timeout option causes endless. Select() loop. Reported by Ramon Fried, @mellowcandle.
2.2.110 Jan 2017 09:45 minor feature: Portability, replace use of non-std __progname with small function. systemd.service file missing -d to start daemon.
2.2.004 Dec 2016 20:05 minor feature: Support for dropping root privileges after opening the multicast routing socket and creating the PID file. Support for Source Specific Multicast group subscription (only IPv4). Support for systemd, service file included and installed by default. Remove GNUisms to be able to build and run on Alpine Linux (musl libc). Add OpenBSD queue.h for systems that do not have any *BSD sys/queue.h . Coding style cleanup and minor refactor.
2.1.120 Aug 2016 20:25 minor feature: When SIGHUP is received SMCRoute now touches its PID file as an Acknowledgement. This is used by some process supervision daemons, Like Finit, on system Configuration changes to detect when a daemon is done. The mtime is Set using the utimensat() function to ensure nanosecond resolution. Minor memory leak at exit. The Valgrind tool warns. That all memory is not freed when smcroute exits. On most modern UNIX systems, on platforms with MMU, this is not a problem, but on Older systems, or uClinux, memory is not freed at program exit. Removing wildcard route at runtime does not work if no. Kernel routes have been set. IPv6 disabled by default, despite what configure says. in its help text. Enabling it disables it... by enablig IPv6 by default.
2.1.017 Feb 2016 21:37 major feature: Lots of new features and bug fixes, see for details