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

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.

In 2003 the OpenBSD project managed to convince Stanford 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.

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.


See the multicast howto

Mailing Lists

The following mailing list is directly related to PIM:


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. Now available from the mcast-tools project
  • MRD6, an IPv6 Multicast Router. Project has been deprecated, recommending pim6sd, but is available at
  • The PIM IPv6 pim6sd by Mickael Hoerdt at LSIIT Laboratory, based on USC pimd. Now available from the mcast-tools project
  • The XORP project supports both IPv4 and IPv6 PIM-SM, currently maintained by Ben Greear at GitHub
  • Quagga and FRR support PIM-SSM (IPv4 only?). Originally developed by Everton da Silva Marques as qpimd