PIMCTL(8) (smm)
PIMCTL(8) System Manager's Manual (smm) PIMCTL(8)

pimctl
Control tool for pimd(8)

pimctl [
-mpthv
] [
-i NAME
] [
-u FILE
] [
COMMAND
]

pimctl help | kill | restart | status | version

pimctl debug [
? | none | SYSTEM [
,SYSTEM
]
]

pimctl log [
? | none | LEVEL
]

pimctl show igmp

pimctl show interface

pimctl show neighbor

pimctl show mrt [
detail
]

pimctl show rp

pimctl show crp

pimctl show compat [
detail
]

pimctl show pim [
detail
]

pimctl is the friendly control tool for pimd(8), pimdd(8), and pim6sd(8). It can be used to query status, debug, restart, and kill a running PIM daemon. Commands can be abbreviated to the minimum unambiguous prefix; for example, s in for show interface.

This program follows the usual UNIX command line syntax, with long options starting with two dashes (`-'). The options are as follows:
--help
Show usage instructions and exit.
--ident NAME
Connect to named PIM daemon instance. Since the same pimctl is capable supporting all the PIM daemon's it comes with heuristics to aid the user, i.e., if only one of the supported daemon's is running this option is not required.
--monitor
Run [
COMMAND
] every two seconds, for limited systems that do not have watch(1), which is highly recommended with pimctl.
--plain
Use plain table headings, no ANSI ctrl characters. When using watch(1), use watch -c option instead, it handles ANSI escape sequences.
--no-heading
Skip table headings altogether. Useful for scripting pimctl.
--ipc FILE
Override UNIX domain socket filename, the default is based on the identity, -i NAME. On most systems this is /var/run/pimd.sock.

The pimctl tool from this project can be used with any of the other PIM daemons, so the available commands vary. When a PIM daemon is running the pimctl tool querys it over IPC for available commands. The pimd daemon comes with the following commands:
pimctl help
Show usage instructions and exit.
pimctl kill
Kill running daemon, like sending SIGTERM to the PIM daemon.
pimctl restart
Restart daemon and reload /etc/pimd.conf, like sending SIGHUP to the PIM daemon.
pimctl status
Show PIM daemon status.
pimctl debug [
? | none | SYSTEM [
,SYSTEM
]
]
Control subystem debugging at runtime. Multiple subsystems can be enabled, separate with comma. E.g.
pimctl debug igmp,pim
    
The command returns a list of enabled subsystems. Without any debug argument, the command lists the currently enabled subsystems. To list all available subsystems, use
pimctl debug ?
    
To disable all subsystems, use
pimctl debug none
    
Subsystems:
Enable all subsystems (may trigger log rate limiter)
PIM assert messages
PIM bootstrap router messages
PIM Candidate Rendez-Vous Point messages
Detailed PIM debug messages
Debug IGMP messages
Show interface (VIF) debug messages
PIM join-prune messages
Kernel debug messages
Debug messages for the multicast forwarding cache (kernel)
PIM routing messages
Debug hello messages to/from neighbors
Debug inbound/outbout packets
All PIM messages
Pruning operations, or pruned routes
PIM register tunnel debug messages
PIM revers-path forwarding debug messages
Debug RSRR messages
Debug timers
Multicast traceroute information
pimctl log [
? | none | LEVEL
]
Control, query, or disable the log level of the PIM daemon:
Disable all logging
Error conditions
Warning conditions
Normal but significant condition (Default)
Informational
Debug-level messages
pimctl show igmp
Show IGMP interface status and group memberships.
pimctl show interfaces
Show PIM interface table
pimctl show neighbor
Show PIM neighbor table
pimctl show mrt
Show PIM multicast routing table. To see the actual multicast forwarding cache (mfc), see your operating system specific command. The MROUTING stack (used in most UNIX systems today) never developed socket options to query the routing table, so every operating system has its own method. On Linux this is
ip mroute show
    
on BSD systems it is usually something like
netstat -g
    
and on SVR4 systems like Illumos it is
netstat -M
    
pimctl show rp
Show PIM Rendezvous-Point (RP) set
pimctl show crp
Show PIM Candidate Rendezvous-Point (CRP) set.
pimctl show compat
Show PIM status, compat mode. Previously available as pimd -r, as well as sending SIGUSR1 to the daemon to get output in /var/run/pimd/pimd.dump. These methods are no longer available, only this compat command remains.
pimctl show pim [
detail
]
Modern variant of the show compat command.

/var/run/pimd.sock
UNIX-domain socket used for communication with pimd(8)
Note, the basename used changes when running with a different identity, -i NAME, or when another PIM daemon from the same family is found.

pimd(8), pimdd(8), pim6sd(8), /usr/share/doc/pimd/

pimd was originally written by Ahmed Helmy, George Edmond "Rusty" Eddy, and Pavlin Ivanov Radoslavov. PIM-SSM, including full IGMPv3 support, was added by Markus Veranen. With contributions by many others.
pimctl was written by Joachim Wiberg.
September 12, 2021 Debian