Be notified of new releases
Create your free GitHub account today to subscribe to this repository for new releases and build software alongside 28 million developers.Sign up
Bug fix release. All users should upgrade, in particular FreeBSD users!
- Minor code cleanup and readability changes to simplify the code
- Update to libite v1.4.2 with improved
CFLAGS, this to ensure that pimd
still builds OK on newer and more pedantic compilers
- Update man page and example
pimd.confwith details on
bsr-candidate, two very important settings for correct operation
- Issue #57: Multicast routing table not updated on FreeBSD. Introduced
with issue #23, in pimd v2.2.0. Too intrusive changes altered handling
(forwarding) of PIM register messages. This only affects BSD systems,
in particular FreeBSD 10.2 (current), or any FreeBSD < 11.0
- Issue #63: Mika Joutsenvirta, @idismmxiv, found and fixed serious
issues with the PIM Assert timeout handling
- Issue #65: Missing slash in config file path when using env. variable
- Issue #66: Make it possible to run
pimdwithout a configuration
pimdcannot find its configuration file it will use
built-in fallback settings for
This to ensure you do not end up with a non-working setup. To disable
rp-candidate, simply leave them out of your
config file, and make sure
pimdcan find the file
- Issue #69: Rate limit only what is actually logged. The
function counted filtered messages, causing long periods of silence
for no reason. Fix by Apollon Oikonomopoulos, @apoikos
Bug fix release.
- Let build system handle missing libite GIT submodule
- Issue #61: Debian packaging moved to https://github.com/bobek/pkg-pimd
The PIM-SSM & IGMPv3 release!
The significant new features in this release would not have been possible if not for the hard work of Markus Veranen mailto:firstname.lastname@example.org
Tested on Ubuntu 14.04 (GLIBC/Linux 3.13), Debian 8.1 (GLIBC/Linux 3.16), FreeBSD, NetBSD, and OpenBSD.
Changes and New Features
Support for PIM-SSM and IGMPv3, by Markus Veranen
IGMPv3 is now default, use
phyint ifname igmpv2for old behaviour
Default IGMP query interval has changed from 125 sec to 12 sec
pimd.conf: igmp-query-interval <SEC>
Default IGMP querier timeout has changed from 255 sec to 42 sec
pimd.conf: igmp-querier-timeout <SEC>
The built-in IGMP /robustness value/ changed from 2 to 3
Support for changing the PIM Hello interval, by Markus Veranen
pimd.conf: hello-interval <SEC>
Support for multiple multicast routing tables, and running multiple
pimd instances, by Markus Veranen. (Only supported on Linux atm.)
Support for advertising, and acting upon changes to, Generation ID
in PIM Hello messages, by Markus Veranen
Support for advertising DR Priority option in PIM Hello messages.
If all routers on a LAN send this option this value is used in the
DR election rather than the IP address. The priority is configured
phyint. This closes the long-standing issue #5.
Distribution archive format changed from XZ to Gzip, for the benefit
of OpenBSD that only ships Gzip in the base system.
New pimd.conf syntax!
pimd.conf syntax has been changed in this release. Mainly, the configuration file now use dashes
- instead of underscore
_ as word separators. However several settings have also been renamed to be more
familiar to commands used by major router vendors:
spt-threshold:: replaces the two deprecated
preference sub-option has been replaced with the less confusing
threshold. See the README or the man page for more information on the metric
preference and admin distance confusion.
pimd.confparser remains backwards compatible with the old syntax!
Compile Time Features
The following are new features that must be enabled at compile time, using the
configure script, to take effect. For details, see
--prefix=PATH:: Standard prefix to be used at installation,
--sysconfdir=PATH:: Prefix path to be used for
--embedded-libc:: Enable uClib or musl libc build, on Linux.
--disable-exit-on-error:: Allow pimd to continue running despite
--disable-pim-genid:: Disable advertisement of PIM Hello GenID,
use for compatibility problems with older versions of pimd.
--with-max-vifs=MAXVIFS:: Raise max number of VIFs to MAXVIFS.
Note: this requires raising MAXVIFS in the kernel as well!
Most kernels cannot handle >255, if this is a problem, try using
multiple multicast routing tables instead.
--disable-masklen-check:: Allow tunctl VIFs with masklen 32.
- Fix issue #40: FTBS with
- Properly support cross compiling. It is now possible to actually
$CROSSenvironment variable when calling
allow cross compiling pimd. Should work with both GCC and Clang.
Tested on Ubuntu, Debian and FreeBSD.
Version 2.2.1: April 20, 2015
- Fix another problem with issue #22 (reopened), as laid out in issue #37. This time the crash is induced when there is a link down event. Lot of help debugging the propblem by @mfspeer, who also suggested the fix -- to call
vif.c:stop_vif()instead of just calling
- Fix issue with not checking return value of
open()in daemonizing code in
main(), found by Coverity Scan.
- Fix issue with scoped phyint in config.c, found by Coverity Scan. The masklen may not be zero, config file problem, alert the user.
Version 2.2.0: December 28, 2014
Changes & New Features
- Add IP fragmentation support for PIM register messages,
by Michael Fine of Cumulus Networks
masklen LEN, issue #12
- Add support for /31 networks, point-to-point, thanks to Apollon Oikonomopoulos (@apoikos)
- Remove old broken SNMP support
- OpenBSD inspired cleanup (deregister)
- General code cleanup, shorten local variable names, func decl. etc.
- Support for router alert IP option in IGMP queries
- Support for reading IGMPv3 membership reports
- Update IGMP code to support FreeBSD >= 8.x
- Retry read of routing tables on FreeBSD
- Fix join/leve of ALL PIM Routers for FreeBSD and other UNIX kernels
- Tested on FreeBSD, NetBSD and OpenBSD
- Add very simple homegrown configure script
- Update and document support for
- Add new
spt_thresholdto replace existing
switch_data_thresholdsettings. Cisco like and easier to understand
- Fix to avoid infinite loop during unicast send failure, by Alex Tessmer (@atessmer)
- Fix bug in bootstrap when configured as candidate RP, issue #15
- Fix segfault in
accept_igmp(), issue #29
- Fix default source preference, should be 101 (not 1024!)
ip_lenhandling on older BSD's, thanks to Olivier Cochard-Labbé (@ocochard), issue #23
- Fix default prefix len in static RP example in
pimd.conf, should be /4
- Fix issue #31: Make IGMP query interval and querier timeout configurable
- Fix issue #33: pimd does not work in background under FreeBSD
- Fix issue #35: support for timing out other queriers from mrouted
- Hopefully fix issue #22: Crash in (S,G) state when neighbor is lost
- Misc. bug fixes thanks to Coverity Scan, static code analysis tool