PMC(8)
π PMC(8) β like, the PTP management client, bestie π
okay so this is pmc from the System Manager's Manual β your cute lil' PTP management client, and I'm gonna walk you through it like we're texting at 2am. π¦
β¨ NAME β¨
pmc β the PTP management client. that's it, that's the name, she's simple and she knows it π
β¨ SYNOPSIS β¨
pmc [ -f config-file ] [ -2 | -4 | -6 | -u ] [ -b boundary-hops ] [ -d
domain-number ] [ -i interface ] [ -s uds-address ] [ -t transport-
specific-field ] [ long-options ] [ -v ] [ -z ] [ command ] ...
β¨ DESCRIPTION β¨
pmc is a program that implements a PTP management client, following the IEEE standard 1588. She reads from standard input, or from actions you give her on the command line (specified by name and management ID), sends those over whichever transport you picked, and then prints out any replies she gets back. π¬
There are three actions she supports:
GETβ retrieves the info you asked forSETβ updates the info you asked forCMD(orCOMMAND) β kicks off the event you asked for
By default, the management commands get addressed to all ports. If you wanna get specific, the TARGET command lets you pick a particular clock and port for all the messages that come after it. π―
And if you're ever lost? Command help will hand you a list of the supported actions and management IDs. no cap, it's right there. π«Ά
β¨ OPTIONS β¨
-fconfig-file β read configuration from the file you name. By default, no configuration file is read at all. nada. zero. π-2β select the IEEE 802.3 network transport.-4β select the UDP IPv4 network transport. This one is the default, bestie, so if you don't say anything, this is what you get. β¨-6β select the UDP IPv6 network transport.-uβ select the Unix Domain Socket transport.-bboundary-hops β set the boundary hops value in the messages she sends. Default is1.-ddomain-number β set the domain number in the messages she sends. Default is0.-iinterface β set the network interface. Default is/var/run/pmc.$pidfor the Unix Domain Socket transport, andeth0for all the other transports.-suds-address β sets the address of the server's UNIX domain socket. Default is/var/run/ptp4l.-ttransport-specific-field β set the transport specific field in the messages she sends, written as a hexadecimal number. Default is0x0.-hβ display a help message. π-vβ prints the software version and then exits. bye π-zβ okay so the official interpretation of the 1588 standard mandates sending GET actions with valid (but honestly meaningless) TLV values. Sopmcnormally sends GET requests with properly formed TLV values. This option flips on the legacy behaviour of sending zero length TLV values instead. old-school, but make it β¨
β¨ LONG OPTIONS β¨
Every single configuration file option (see the PROGRAM OPTIONS and PORT OPTIONS sections below) can also show up as a "long" style command line argument. Like, for example, the transportSpecific option can be set with either of these two forms:
--transportSpecific 1 --transportSpecific=1
Option values you give on the command line override values in the global section of the configuration file (which, in turn, overrides the default values). hierarchy, but make it fashion. π
β¨ CONFIGURATION FILE β¨
The configuration file is split into sections. Each section starts with a line containing its name wrapped in brackets, and then the settings follow. Every setting goes on its own separate line, and it's got the name of the option plus the value, separated by whitespace characters. Empty lines and lines starting with # get ignored. π«
The global section (written as [global]) sets the global program options and the default port specific options. The 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. [eth0]). πΈ
β¨ PROGRAM OPTIONS β¨
domainNumberβ the domain attribute of the local clock. The default is0.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 inieee1588-2019 ch 14.16. See SECURITY ASSOCIATION OPTIONS for info on how this file should be formatted.sppandactive_key_idshould be specifed for each port to indicate which Security Association from the/fBsa_file/fRshould be used. The default is an empty string. π
β¨ PORT OPTIONS β¨
active_key_idβ used together withsppandsa_filedirectives to specify which key from thesppdefined Security Association should be used for outboundicvcalculations. All Security Assocations are read from the file specified bysa_file. Requiressppandsa_filedirectives. Must be in the range of1to2^32-1, inclusive. The default is0(disabled).allow_unauthβ allows forpmcto accept unauthenticated management response and signaling messages when authentication is enabled andspp,active_key_idandsa_fileare set. Possible values are:0: normal receiving1: accept mgmt resp/signaling without Authentication TLV2: accept mgmt resp/signaling without Authentication TLV or with wrong Authentication TLV The default is0(disabled).
network_transportβ select the network transport. Possible values areUDPv4,UDPv6andL2. The default isUDPv4.ptp_dst_macβ the MAC address that PTP management messages should be sent to. Only relevant with theL2transport. The default is01:1B:19:00:00:00.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 assignedsppwill 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 thesa_filedirective. Outbound Authentication TLVs are generated using the key specified byactive_key_id. Not compatible with one step ports or advertised versions less then PTPv2.1. Requiressa_fileandactive_key_iddirectives. Must be in the range of0to255, inclusive. The default is-1(disabled).transportSpecificβ the transport specific field. Must be in the range0to255. The default is0.
β¨ MANAGEMENT IDS β¨
the whole roster, bestie, every single one, no skipping π
ANNOUNCE_RECEIPT_TIMEOUTCLOCK_ACCURACYCLOCK_DESCRIPTIONCURRENT_DATA_SETDEFAULT_DATA_SETDELAY_MECHANISMDOMAINGRANDMASTER_SETTINGS_NPLOG_ANNOUNCE_INTERVALLOG_MIN_PDELAY_REQ_INTERVALLOG_SYNC_INTERVALNULL_MANAGEMENTPARENT_DATA_SETPORT_DATA_SETPORT_DATA_SET_NPPORT_HWCLOCK_NPPORT_PROPERTIES_NPPORT_SERVICE_STATS_NPPORT_STATS_NPPRIORITY1PRIORITY2SLAVE_ONLYTIMESCALE_PROPERTIESTIME_PROPERTIES_DATA_SETTIME_STATUS_NPTRACEABILITY_PROPERTIESUNICAST_MASTER_TABLE_NPUSER_DESCRIPTIONVERSION_NUMBER
β¨ WARNING β¨
π¨ Be cautious when the same configuration file is used for bothptp4landpmc. Keep in mind that values specified in the configuration file take precedence over their default values. If a certain option which is common toptp4landpmcis specified to a non-default value in the configuration file (e.g. forptp4l), then this non-default value applies also forpmc. This might be not what is expected. π
To avoid securely these unexpected behaviour, different configuration files forptp4landpmcare recommended. fr fr, just use two files. π«Ά
β¨ SEE ALSO β¨
and that's the whole page, bestie!! this one's brought to you by linuxptp, dated March 2024 β so go forth, manage your PTP, and remember: the vibe changes, the facts never do. mwah π πππ¦πΈβ¨
π¦ where this page comes from
- arch rolling: linuxptp 4.4-2 Β· GPL-2.0-or-later
- centos-stream 9: linuxptp 4.4-6.el9 Β· GPL-2.0-or-later
- fedora 43: linuxptp 4.4-7.fc43 Β· GPL-2.0-or-later
- nixpkgs unstable: linuxptp 4.4
- opensuse-leap 16.0: linuxptp 4.4-160000.3.1 Β· GPL-2.0-or-later
- opensuse-leap 16.0: linuxptp 4.4-160000.3.1 Β· GPL-2.0-or-later
- opensuse-leap 16.0: linuxptp 4.4-160000.3.1 Β· GPL-2.0-or-later
- opensuse-leap 16.0: linuxptp 4.4-160000.3.1 Β· GPL-2.0-or-later
- ubuntu resolute: linuxptp 4.4-0ubuntu1 Β· GPL-2.0-or-later
- ubuntu stonking: linuxptp 4.4-0ubuntu1 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms