PIM-SM/SSM multicast routing for UNIX and Linux
Bug fix release. All users should upgrade, in particular FreeBSD users!
min()
/max()
macros-Wextra
not -Werror
in default CFLAGS
, this to ensure that pimd
still builds OK on newer and more pedantic compilerspimd.conf
with details on rp-candidate
bsr-candidate
, two very important settings for correct operationpimd
without a configuration
file. If pimd
cannot find its configuration file it will use
built-in fallback settings for bsr-candidate
and rp-candidate
.
This to ensure you do not end up with a non-working setup. To disable
bsr-candidate
and rp-candidate
, simply leave them out of your
config file, and make sure pimd
can find the filelogit()
function counted filtered messages, causing long periods of silence
for no reason. Fix by Apollon Oikonomopoulos, @apoikosBug fix release.
/etcpimd.conf
instead of /etc/pimd.conf
. Slashes added and now pimd -h
lists
the default path instead of a hard coded string.The significant new features in this release would not have been possible if not for the hard work of Markus Veranen mailto:[email protected]
Tested on Ubuntu 14.04 (GLIBC/Linux 3.13), Debian 8.1 (GLIBC/Linux 3.16), FreeBSD, NetBSD, and OpenBSD.
Support for PIM-SSM and IGMPv3, by Markus Veranen
IGMPv3 is now default, use phyint ifname igmpv2
for old behaviour
Default IGMP query interval has changed from 125 sec to 12 sec
In pimd.conf: igmp-query-interval <SEC>
Default IGMP querier timeout has changed from 255 sec to 42 sec
In 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
In 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
per 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.
The 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:
bsr-candidate
:: replaces cand_bootstrap_router
rp-candidate
:: replaces cand_rp
group-prefix
:: replaces group_prefix
rp-address
:: replaces rp_address
spt-threshold
:: replaces the two deprecated
switch_register_threshold
and switch_data_threshold
settingshello-interval
:: replaces hello_period
default-route-distance
:: replaces default_source_preference
default-route-metric
:: replaces default-source-metric
Also, for phyint
the preference
sub-option has been replaced with the less confusing distance
and ttl-threshold
replaces threshold
. See the README or the man page for more information on the metric
preference and admin distance confusion.
Note: The
pimd.conf
parser remains backwards compatible with the old syntax!
The following are new features that must be enabled at compile time, using the configure
script, to take effect. For details, see ./configure --help
--prefix=PATH
:: Standard prefix to be used at installation,
default /usr/local
--sysconfdir=PATH
:: Prefix path to be used for pimd.conf
,
default /etc
, unless --prefix
is given.
--embedded-libc
:: Enable uClib or musl libc build, on Linux.
--disable-exit-on-error
:: Allow pimd to continue running despite
encountering errors.
--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.
./configure --enable-scoped-acls
$CROSS
environment variable when calling make
to
allow cross compiling pimd. Should work with both GCC and Clang.
Tested on Ubuntu, Debian and FreeBSD.pim_proto.c:delete_pim_nbr()
in vif.c:stop_vif()
instead of just calling free()
open()
in daemonizing code in main()
, found by Coverity Scan./LEN
syntax in phyint
to complement masklen LEN
, issue #12rp_address
, cand_rp
, and cand_bootstrap_router
spt_threshold
to replace existing switch_register_threshold
and switch_data_threshold
settings. Cisco like and easier to understandaccept_igmp()
, issue #29ip_len
handling on older BSD's, thanks to Olivier Cochard-Labbé (@ocochard), issue #23pimd.conf
, should be /4