pim6sd
—
PIM for IPv6 sparse mode daemon
pim6sd |
[ -hn ]
[-f
FILE ]
[-d
LEVEL[,LEVEL] ] |
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
:
-d
- Specify debug levels. Use
-d
all to enable all debug levels. A subset
of the messages to be printed out can be specified as arguments of the
option, separate levels with comma -- no space. 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, asserts
-
-f
FILE
- Specify alternate location for configuration file. By default,
/etc/pim6sd.conf is used.
-h
- Print a help message and exit.
-n
- Do not become daemon, run in foreground. This option is for when started
by service monitors like systemd or Finit.
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 ‘
-f
FILE’ option).
If the multicast group address is within SSM-range (ff20::/12 and ff30::/12),
pim6sd
will behave 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 SIGHUP signal it
restarts and rereads its configuration file. The SIGUSR2 signal can also be
used, but that also reset the debug level.
The log level can be configured by the
-d
command line option or the configuration file.
- /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
- SIGHUP
- Reload the configuration file and restart
- SIGUSR1
- Dump internal status to the dump file
daemon(3),
pim6sd.conf(5)
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.
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).