Skip to content

pimd v2.3.0

Compare
Choose a tag to compare
@troglobit troglobit released this 31 Jul 09:56
· 675 commits to master since this release

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:[email protected]

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 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.

New pimd.conf syntax!

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 settings
  • hello-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!

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 ./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.

Bug Fixes

  • Fix issue #40: FTBS with ./configure --enable-scoped-acls
  • Properly support cross compiling. It is now possible to actually
    define the $CROSS environment variable when calling make to
    allow cross compiling pimd. Should work with both GCC and Clang.
    Tested on Ubuntu, Debian and FreeBSD.