The original PIM-SM daemon

pimd is a lightweight standalone PIM-SM/SSM v2 multicast routing daemon. It is the original USC (netweb/ implementation of the protocol, RFC 2362. Today pimd strives for full RFC compliance, including RFC 4601, RFC 5059, and RFC 5796, with the v2.3.0 release supporting both PIM-SSM and IGMPv3.

In 2003 the OpenBSD project managed to convince Stanford in to change the license of mrouted. This in turn also freed pimd, since it is built with DNA strands from mrouted. pimd is fully free to use under the simplified 3-clause BSD license.

Protocol Independent Multicast, PIM, allows existing networks to route IP multicast, regardless of what unicast routing protocol is in use. It is designed to use existing routing tables to make its multicast routing decisions. PIM-SM is suitable for sparsely located multicast subscribers, for dense mode operation mrouted is recommended, and for static multicast routing smcroute may be used.

pimd was originally written by Ahmed Helmy, George Edmond “Rusty” Eddy, and Pavlin Ivanov Radoslavov, with contributions by many others. Lately the most notable contributors have been Markus Veranen, Joonas Ruohonen, and Mika Joutsenvirta.

Issue tracker and GIT repository available at GitHub:

See also the OpenHub page, the Fresh(code) page, or the now now dormant Free(code) page.

Problems? See the multicast howto


The PIM-SM protocol was first defined in RFC 2362 and later updated in RFC 4601, with additions in RFC 5059 and RFC 5796.

  • The PIM-SM GateD implementation from ISI. (defunct)
  • The PIM-DM GateD implementation from the University of Oregon. (defunct)
  • The pimd-dense University of Oregon standalone implementation, based on the USC pimd.
  • The PIM-SM implementation from the XORP project
  • The PIM IPv6 pim6sd by Mickael Hoerdt at LSIIT Laboratory, based on USC pimd.
  • MRD6, an IPv6 Multicast Router
  • The upcoming Quagga PIM-SSM, qpimpd – Now merged!

Mailing Lists

The following mailing list is directly related to PIM: