PIM6SD(8)

NAME
pim6sd - PIM for IPv6 sparse mode daemon

SYNOPSIS
pim6sd [-c configfile] [-d [debug_level [,debug_level]]] [-f]

DESCRIPTION
pim6sd is an IPv6 multicast routing daemon, which supports PIMv2(Protocol Independent Multicast Version 2) sparse mode and SSM(Source-Specific-Multicast) for IPv6.

Options supported by pim6sd:

-c configfile
    Specify alternate location, configfile, for configuration file. By default, /etc/pim6sd.conf is used.

-d  Specify debug levels. If this option is specified without any arguments, all debug messages will be printed out. A subset of the messages to be printed out can be specified as arguments of the option. Valid debug levels are mld_proto, mld_timer, mld_member, mld, switch, trace, mtrace, traceroute, timeout, callout, pkt, packets, interfaces, vif, kernel, cache, mfc, k_cache, k_mfc, rsrr, pim_detail, pim_hello, pim_neighbors, pim_register, registers, pim_join_prune, pim_j_p, pim_jp, pim_bootstrap, pim_bsr, bsr, bootstrap, pim_asserts, pim_cand_rp, pim_c_rp, pim_rp, rp, pim_routes, pim_routing, pim_mrt, pim_timers, pim_rpf, rpf, pim, routes, routing, mrt, routers, mrouters, neighbors, timers, and asserts.

-f  Do not become daemon, run in foreground. This option is for debugging use.

pim6sd automatically configures itself to forward on all multicast-capable interfaces, i.e., interfaces that have the IFF_MULTICAST flag set (excluding the "loopback interface" and interaces that do not have an IPv6 address). To override the default configuration, configuration commands may be placed in /etc/pim6sd.conf ( or an alternative file, specified by the ‘-c’ option). If the multicast group address is within SSM-range (ff20::/12 and ff30::/12), pim6sd will behaves as an SSM routing daemon; speaking MLDv2 toward hosts and uses only Shortest Path Tree for these multicast addresses. Note that pim6sd ignores interfaces that do not have an IPv6 address. Such interfaces should not appear in the configuration file.

The pim6sd program dumps its current routing information to a dump file when it receives a SIGUSR1 signal. The information includes a list of PIM neighbors, pim6sd internal multicast routing table, and BSR and RP related information. Also, the program dumps its internal statistics to a file when it receives a SIGINFO signal.

When pim6sd receives a SIGUSR2 signal, it rereads the configuration file and reset its debug level.

The pim6sd program puts its logs to a separate file ~ (/var/log/pim6sd.log). The log level can be configured by the -d command line option or the configuration file.

FILES
/etc/pim6sd.conf
    The default configuration file.
/var/run/pim6sd.dump
    The file to which pim6sd dumps its internal status.
/var/run/pim6sd.stat
    The file to which pim6sd dumps its internal statistics.
/var/log/pim6sd.log
    The pim6sd specific log file.

SEE ALSO
daemon(3), pim6sd.conf(5)

HISTORY
The pim6sd command is developed by Mickael Hoerdt at LSIIT Laboratory. It is based on IPv4 PIM sparse-mode pimd developed at University of Southern California, which has also been derived from mrouted. mrouted is COPYRIGHT 1989 by The Board of Trustees of Leland Stanford Junior University.

BUGS
pim6sd does not contain any unicast routing engine, so a unicast routing daemon needs to run on the system.

The kernel unicast routing table is periodically polled by pim6sd in order to follow changes of existing unicast routes.

pim6sd must be used on an IPv6 router. Be sure to set net.inet6.ip6.forwarding variable to 1 with sysctl(8).

pim6sd requires the node running the daemon to have an IPv6 global address.

pim6sd does not work properly when interface is dynamically added or deleted (e.g. ifconfig gif0 create).