Advanced PTP Configuration¶
Caution
Parameters are written to the ptp4l
configuration file without error
checking. Caution must be taken to ensure that parameter names and values
are correct as errors will cause ptp4l
launch failures.
Configure ITU-T G.8275.1 Grandmaster Settings Fields¶
Users can configure ptp4l
instances to set the PTP Announce messages
fields in conformance with the ITU-T G.8275.1/Y.1369.1 PTP profile. This
configuration is recommended for nodes that are configured as a T-GM or T-BC
and using the G.8275.1 PTP profile.
Prerequisites
The system should be configured with at least one
ptp4l
instance. See Configure PTP Service Using the CLI for more information.Any
ptp4l
instances using the G.8275.1 profile must be configured with thedataset_comparison=G.8275.x
instance parameter. This parameter enables the G.8275.1 PTP profile for theptp4l
instance.~(keystone_admin)]$ system ptp-instance-parameter-add <ptp4l instance> dataset_comparison=G.8275.x
About this task
The following section provides additional details about the relevant Announce message fields and how to configure their value.
507c6f.fffe.21bb24-0 seq 0 RESPONSE MANAGEMENT GRANDMASTER_SETTINGS_NP
clockClass 6
clockAccuracy 0x20
offsetScaledLogVariance 0x4e5d
currentUtcOffset 37
leap61 0
leap59 0
currentUtcOffsetValid 1
ptpTimescale 1
timeTraceable 1
frequencyTraceable 1
timeSource 0x20
Each of the fields are explained below:
clockClass
This field is dynamically set by StarlingX based on the state of the Primary Reference Time Clock (PRTC) used by the
ptp4l
instance. No user configuration is required.clockAccuracy
Default value (not locked to PRTC):
0xfe
Default value (locked to PRTC):
0x20
When a
ptp4l
instance is locked to a PRTC, the value will be dynamically updated to 0x20.If the
ptp4l
instance is connected to an Enhanced Primary Reference Time Clock (ePRTC), the locked value can be changed by using aptp4l
instance parameter.~(keystone_admin)]$ system ptp-instance-parameter-add <ptp4l instance> clockAccuracy=0x21
offsetScaledLogVariance
Default value (not locked to PRTC):
0xffff
Default value (locked to PRTC):
0x4e5d
The
offsetScaledLogVariance
attribute characterizes the stability of the clock. If theptp4l
instance is connected to an ePRTC, the locked value can be changed by using aptp4l
instance parameter.~(keystone_admin)]$ system ptp-instance-parameter-add <ptp4l instance> offsetScaledLogVariance=0x4b32
currentUtcOffset
Default value:
37
The current offset between TAI and UTC. This value does not need to be altered unless IERS introduces a new leapsecond into UTC. If necessary, the value can be altered for testing purposes using a
ptp4l
instance parameter.~(keystone_admin)]$ system ptp-instance-parameter-add <ptp4l instance> utc_offset=37
leap61
Default value:
0
This attribute is used to handle the addition of a new leapsecond. StarlingX does not currently support altering the leap61 attribute.
leap59
Default value:
0
This attribute is used to handle the addition of a new leapsecond. StarlingX does not currently support altering the leap59 attribute.
currentUtcOffsetValid
Default value:
0
This value should be set to 1 in order to indicate that
currentUtcOffset
value is correct and suitable for use by downstream nodes. The attribute can be altered using aptp4l
instance parameter.~(keystone_admin)]$ system ptp-instance-parameter-add <ptp4l instance> currentUtcOffsetValid=1
ptpTimescale
Default value:
1
This attribute should always be set to 1 according to the G.8275.1 PTP profile.
timeTraceable
Default value:
0
This attribute is dynamically set by StarlingX based on the
ptp4l
instance’s connection to a PRTC. When a PRTC is connected to theptp4l
instance, timeTraceable will be set to 1.frequencyTraceable
Default value:
0
This attribute is dynamically set by StarlingX based on the
ptp4l
instance’s connection to a PRTC. When a PRTC with frequency information is connected to theptp4l
instance, frequencyTraceable will be set to 1.timeSource
Default value:
0xa0
This attribute describes the type of clock used for the PRTC. The default value of
0xa0
indicates the use of an internal oscillator on the PTP NIC. StarlingX will automatically update this value to0x20
(GPS) if it detects that theptp4l
instance is utilizing a GPS time source.Users can change this attribute using a
ptp4l
instance parameter. For a comprehensive list of time source types and their respective values, consult the G.8275.1 standard.~(keystone_admin)]$ system ptp-instance-parameter-add <ptp4l instance> timeSource=0x20
Apply PTP configuration¶
After assigning ptp4l
instance parameters, apply the new PTP
configuration using system ptp-instance-apply
.
Verify Announce Message Attributes¶
The PTP Announce Message Attributes can be viewed using the pmc tool.
sudo pmc -u -b 0 -f /etc/linuxptp/ptpinstance/<ptp4l instance config file> 'GET GRANDMASTER_SETTINGS_NP'
sending: GET GRANDMASTER_SETTINGS_NP
507c6f.fffe.21bb24-0 seq 0 RESPONSE MANAGEMENT GRANDMASTER_SETTINGS_NP
clockClass 6
clockAccuracy 0x20
offsetScaledLogVariance 0x4e5d
currentUtcOffset 37
leap61 0
leap59 0
currentUtcOffsetValid 1
ptpTimescale 1
timeTraceable 1
frequencyTraceable 1
timeSource 0x20
The log output for dynamically updated values can be found in
/var/log/collectd.log
.