| .TH PMC 8 "March 2024" "linuxptp" |
| .SH NAME |
| pmc \- PTP management client |
| |
| .SH SYNOPSIS |
| .B pmc |
| [ |
| .BI \-f " config-file" |
| ] [ |
| .B \-2 |
| | |
| .B \-4 |
| | |
| .B \-6 |
| | |
| .B \-u |
| ] [ |
| .BI \-b " boundary-hops" |
| ] [ |
| .BI \-d " domain-number" |
| ] [ |
| .BI \-i " interface" |
| ] [ |
| .BI \-s " uds-address" |
| ] [ |
| .BI \-t " transport-specific-field" |
| ] [ |
| .I long-options |
| ] [ |
| .B \-v |
| ] [ |
| .B \-z |
| ] [ command ] ... |
| |
| .SH DESCRIPTION |
| .B pmc |
| is a program which implements a PTP management client according to IEEE |
| standard 1588. The program reads from the standard input or from the command |
| line actions specified by name and management ID, sends them over the selected |
| transport and prints any received replies. There are three actions supported: |
| .B GET |
| retrieves the specified information, |
| .B SET |
| updates the specified information and |
| .B CMD |
| (or |
| .BR COMMAND ) |
| initiates the specified event. |
| |
| By default the management commands are addressed to all ports. The |
| .B TARGET |
| command can be used to select a particular clock and port for the |
| subsequent messages. |
| |
| Command |
| .B help |
| can be used to get a list of supported actions and management IDs. |
| |
| .SH OPTIONS |
| .TP |
| .BI \-f " config-file" |
| Read configuration from the specified file. No configuration file is read by |
| default. |
| .TP |
| .B \-2 |
| Select the IEEE 802.3 network transport. |
| .TP |
| .B \-4 |
| Select the UDP IPv4 network transport. This is the default transport. |
| .TP |
| .B \-6 |
| Select the UDP IPv6 network transport. |
| .TP |
| .B \-u |
| Select the Unix Domain Socket transport. |
| .TP |
| .BI \-b " boundary-hops" |
| Specify the boundary hops value in sent messages. The default is 1. |
| .TP |
| .BI \-d " domain-number" |
| Specify the domain number in sent messages. The default is 0. |
| .TP |
| .BI \-i " interface" |
| Specify the network interface. The default is pmc.$pid for the Unix Domain |
| Socket transport and eth0 for the other transports. A relative path of the Unix |
| Domain socket is relative to the directory of the server's socket. |
| .TP |
| .BI \-s " uds-address" |
| Specifies the address of the server's UNIX domain socket. |
| The default is /var/run/ptp/ptp4l. |
| .TP |
| .BI \-t " transport-specific-field" |
| Specify the transport specific field in sent messages as a hexadecimal number. |
| The default is 0x0. |
| .TP |
| .B \-h |
| Display a help message. |
| .TP |
| .B \-v |
| Prints the software version and exits. |
| .TP |
| .B \-z |
| The official interpretation of the 1588 standard mandates sending |
| GET actions with valid (but meaningless) TLV values. Therefore the |
| pmc program normally sends GET requests with properly formed TLV |
| values. This option enables the legacy option of sending zero |
| length TLV values instead. |
| |
| .SH LONG OPTIONS |
| |
| Each and every configuration file option (see below in sections |
| .BR PROGRAM\ OPTIONS |
| and |
| .BR PORT\ OPTIONS ) |
| may also appear |
| as a "long" style command line argument. For example, the transportSpecific |
| option may be set using either of these two forms: |
| |
| .RS |
| \f(CW\-\-transportSpecific 1 \-\-transportSpecific=1\fP |
| .RE |
| |
| Option values given on the command line override values in the global |
| section of the configuration file (which, in turn, overrides default |
| values). |
| |
| .SH CONFIGURATION FILE |
| |
| The configuration file is divided into sections. Each section starts with a |
| line containing its name enclosed in brackets and it follows with settings. |
| Each setting is placed on a separate line, it contains the name of the |
| option and the value separated by whitespace characters. Empty lines and lines |
| starting with # are ignored. |
| |
| The global section (indicated as |
| .BR [global] ) |
| sets the global program options as well as the default port specific options. |
| Other sections are port specific sections and they override the default port |
| options. The name of the section is the name of the configured port (e.g. |
| .BR [eth0] |
| ). |
| |
| .SH PROGRAM OPTIONS |
| .TP |
| .B domainNumber |
| The domain attribute of the local clock. The default is 0. |
| |
| .TP |
| .B sa_file |
| Specifies the location of the file containing Security Associations |
| used for immediate security processing of the Authentication TLV in |
| support of the optional security mechanism defined in ieee1588-2019 |
| ch 14.16. See \fBSECURITY ASSOCIATION OPTIONS\fR for information on how |
| this file should be formatted. \fBspp\fR and \fBactive_key_id\fR should |
| be specifed for each port to indicate which Security Association from |
| the /fBsa_file/fR should be used. The default is an empty string. |
| |
| .SH PORT OPTIONS |
| |
| .TP |
| .B active_key_id |
| Used in conjunction with \fBspp\fR and \fBsa_file\fR directives to |
| specify which key from the \fBspp\fR defined Security Association |
| should be used for outbound icv calculations. All Security Assocations |
| are read from the file specified by \fBsa_file\fR. Requires \fBspp\fR |
| and \fBsa_file\fR directives. Must be in the range of 1 to 2^32-1, |
| inclusive. The default is 0 (disabled). |
| |
| .TP |
| .B allow_unauth |
| Allows for pmc to accept unauthenticated management response and |
| signaling messages when authentication is enabled and \fBspp\fR, |
| \fBactive_key_id\fR and \fBsa_file\fR are set. Possible values are: |
| 0: normal receiving |
| 1: accept mgmt resp/signaling without Authentication TLV |
| 2: accept mgmt resp/signaling without Authentication TLV or with wrong |
| Authentication TLV |
| The default is 0 (disabled). |
| |
| .TP |
| .B network_transport |
| Select the network transport. Possible values are UDPv4, UDPv6 and L2. The default |
| is UDPv4. |
| |
| .TP |
| .B ptp_dst_mac |
| The MAC address to which PTP management messages should be sent. Relevant only with L2 transport. The default is 01:1B:19:00:00:00. |
| |
| .TP |
| .B spp |
| Specifies the Security Parameters Pointer of the desired Security |
| Association to be used for Authentication TLV support for a given port. |
| Any port with an assigned spp will attach Authentication TLVs to all |
| outbound messages and check for Authentication TLVs on all inbound |
| messages in accordance to the corresponding security association |
| sourced via the \fBsa_file\fR directive. Outbound Authentication TLVs |
| are generated using the key specified by \fBactive_key_id\fR. Not |
| compatible with one step ports or advertised versions less then |
| PTPv2.1. Requires \fBsa_file\fR and \fBactive_key_id\fR directives. |
| Must be in the range of 0 to 255, inclusive. |
| The default is -1 (disabled). |
| |
| .TP |
| .B transportSpecific |
| The transport specific field. Must be in the range 0 to 255. |
| The default is 0. |
| |
| .SH MANAGEMENT IDS |
| |
| .TP |
| .B ANNOUNCE_RECEIPT_TIMEOUT |
| .TP |
| .B CLOCK_ACCURACY |
| .TP |
| .B CLOCK_DESCRIPTION |
| .TP |
| .B CURRENT_DATA_SET |
| .TP |
| .B DEFAULT_DATA_SET |
| .TP |
| .B DELAY_MECHANISM |
| .TP |
| .B DOMAIN |
| .TP |
| .B GRANDMASTER_SETTINGS_NP |
| .TP |
| .B LOG_ANNOUNCE_INTERVAL |
| .TP |
| .B LOG_MIN_PDELAY_REQ_INTERVAL |
| .TP |
| .B LOG_SYNC_INTERVAL |
| .TP |
| .B NULL_MANAGEMENT |
| .TP |
| .B PARENT_DATA_SET |
| .TP |
| .B PORT_DATA_SET |
| .TP |
| .B PORT_DATA_SET_NP |
| .TP |
| .B PORT_HWCLOCK_NP |
| .TP |
| .B PORT_PROPERTIES_NP |
| .TP |
| .B PORT_SERVICE_STATS_NP |
| .TP |
| .B PORT_STATS_NP |
| .TP |
| .B PRIORITY1 |
| .TP |
| .B PRIORITY2 |
| .TP |
| .B SLAVE_ONLY |
| .TP |
| .B TIMESCALE_PROPERTIES |
| .TP |
| .B TIME_PROPERTIES_DATA_SET |
| .TP |
| .B TIME_STATUS_NP |
| .TP |
| .B TRACEABILITY_PROPERTIES |
| .TP |
| .B UNICAST_MASTER_TABLE_NP |
| .TP |
| .B USER_DESCRIPTION |
| .TP |
| .B VERSION_NUMBER |
| |
| .SH WARNING |
| |
| Be cautious when the same configuration file is used for both ptp4l |
| and pmc. Keep in mind that values specified in the configuration file |
| take precedence over their default values. If a certain option which |
| is common to ptp4l and pmc is specified to a non-default value in the |
| configuration file (e.g. for ptp4l), then this non-default value |
| applies also for pmc. This might be not what is expected. |
| |
| To avoid securely these unexpected behaviour, different configuration files |
| for ptp4l and pmc are recommended. |
| |
| .SH SEE ALSO |
| .BR ptp4l (8) |