SMCRoute 2.4.4

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.415 Feb 2019 01:45 minor feature: Allow same outbound interface as inbound for routes, only warn user. Systemd unit file hardening, recommended by Debian. Discontinued GPG signing, unused and signed with only one dev key. IGMP header checksum missing from mrdisc frames. Unblock all matching, and currently blocked, (S,G) to a. Newly installed (*,G) route, only the first know was unblocked. Timer nanosecond causing loss of address refresh on DHCP. Interfaces. Interface monitoring feature introduced in v2.4.3. Calling init script with stop does not stop smcrouted. ifindex in UNIX/POSIX is an interger, not unsigned short.
2.4.308 Nov 2018 09:05 minor feature: Add strlcat() replacement from OpenBSD, use instead of strcat(). smcrouted should never log to system console, proposed by Westermo. smcrouted fails to join multicast groups on interfaces that do not yet have an IP address when smcrouted starts up, or when it receives SIGHUP, e.g. DHCP client interfaces. This patch release adds a timer refresh of interface addresses that retries multicast group joins until an address is set. This is similar to, but does not handle interfaces that do not exist yet. Make sure Linux alias interfaces (baseif:num) are registered as baseif. Westermo found that use of alias interfaces cause multiple VIFs to be registered for the same base interface causing multicast routes to use the wrong inbound or outbound VIF. Alias interfacesuse the same underlying physical interface so only one VIF needed. display of route counters and column alignment. Minor spelling, found by Debian. Add missing status command to SysV init script, found by Debian. Simplify utimensat() replacement, AT_SYMLINK_NOFOLLOW unused.
2.4.209 Sep 2018 15:42 minor bugfix: Minor fixes for upcoming Debian release. Changes: Add wrapper script smcroute for use with old style startup scripts, Add symlinks to man pages for smcrouted.8 and smcroutectl.8, Update SysV init script, daemon now called smcrouted. Fixes: Fix #96: A .conf line may be missing final newline, this is fine, Spellcheck smcroute.conf example, Fix Lintian warning (Debian) for unbreakable line in man page
2.4.116 Jun 2018 14:15 minor bugfix: Allow re-configuration of unprivileged smcrouted, and minor updates/spellcheck of documentation and example .conf
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