IEEE Std 1588™-2019 Front cover
Title page
Important Notices and Disclaimers Concerning IEEE Standards Documents
Participants
Introduction
Contents
1. Scope
2. Normative references
3. Definitions, acronyms, and abbreviations
3.1 Definitions
3.2 Acronyms and abbreviations
4. Conventions
4.1 Descriptive lexical form syntax
4.1.1 Lexical form syntax
4.2 Word usage
4.2.1 Shall
4.2.2 Must
4.2.3 Should
4.2.4 May
4.2.5 Can
4.2.6 Optional
4.2.7 Reserved
4.2.8 Deprecated
4.2.9 Experimental
4.3 Behavioral specification notation
5. Data types and on-the-wire formats
5.1 General
5.2 Primitive data type specifications
5.3 Derived data type specifications
5.3.1 General
5.3.2 TimeInterval
5.3.3 Timestamp
5.3.4 ClockIdentity
5.3.5 PortIdentity
5.3.6 PortAddress
5.3.7 ClockQuality
5.3.8 TLV
5.3.9 PTPText
5.3.10 FaultRecord
5.3.11 RelativeDifference
5.3.12 CommunicationCapabilities
5.4 On-the-wire formats
5.4.1 General
5.4.2 Primitive data types
5.4.3 Arrays of primitive types
5.4.4 Derived data types
5.4.5 Mapping of PTP protocol data units into their on-the-wire formats
6. Clock synchronization model
6.1 General requirements on implementations
6.1.1 General
6.1.2 Applicability and contents of the standard
6.1.3 Names for major entities defined by the standard
6.2 Principal assumptions about the network and implementation recommendations
6.3 PTP Networks
6.4 PTP message classes
6.5 PTP device types
6.5.1 General
6.5.2 Ordinary Clocks and Boundary Clocks
6.5.2.1 Layered model of Ordinary Clocks and Boundary Clocks
6.5.2.1.1 General
6.5.2.1.2 External environment and the Source Dependent and Sink Dependent blocks
6.5.2.1.2.1 Introducing time into a PTP Instance
6.5.2.1.2.2 Providing time to an external application
6.5.2.1.3 Common core, data sets, internal clocks, and management
6.5.2.1.3.1 PTP Common Core block
6.5.2.1.3.2 Clocks associated with a PTP Instance
6.5.2.1.3.3 Management
6.5.2.1.4 PTP Ports and the PTP Network
6.5.2.2 Properties of an Ordinary Clock
6.5.2.3 Properties of a Boundary Clock
6.5.3 End-to-end Transparent Clocks
6.5.4 Peer-to-peer Transparent Clocks
6.5.5 Combined Transparent Clocks and Ordinary Clocks
6.5.6 PTP Management Nodes
6.6 Synchronization overview
6.6.1 General
6.6.2 Establishing the master(slave hierarchy
6.6.2.1 General
6.6.2.2 PTP state machine
6.6.2.3 Best master clock algorithm
6.6.2.4 Simple master(slave hierarchy
6.6.2.5 Pruning mesh topologies
6.6.2.6 Segmentation of a domain by the BMCA
6.6.3 Synchronizing Ordinary Clocks and Boundary Clocks
6.6.4 Measuring PTP Link propagation delay using peer-to-peer delay mechanism
6.6.5 Generation of PTP message timestamps
6.6.6 Potential errors in measuring path delays and residence time
6.6.6.1 Potential errors in measuring path delays and residence time due to differing rates of the Timestamping Clocks in PTP Instances in a domain
6.6.6.2 Correcting for differing Timestamping Clock rates—,
6.6.6.2.1 General
6.6.6.2.2 Example using unsyntonized Local Clocks as the Timestamping Clock
6.6.6.2.3 Example using syntonized Local Clocks as the Timestamping Clocks
6.7 PTP communications overview
6.7.1 PTP communication topology
6.7.1.1 General
6.7.1.2 Hierarchical topology
6.7.1.3 Linear topology
6.7.1.4 Rapid reconfiguration in multiply connected topologies
6.7.1.5 Bridging between different network protocols
6.7.2 PTP Network startup
7. Characterization of PTP entities
7.1 Domains
7.1.1 General
7.1.2 Domain identification semantics when not using the isolation option of 16.5
7.1.2.1 In Boundary and Ordinary Clocks
7.1.2.2 In Transparent Clocks
7.1.3 Domain identification semantics when the isolation option of 16.5 is being used
7.1.3.1 In Boundary and Ordinary Clocks
7.1.3.2 In Transparent Clocks
7.1.4 Assigning values for the domainNumber and sdoId for a domain
7.2 Timescales used in PTP
7.2.1 General
7.2.2 Oscillator frequency
7.2.3 Epoch
7.2.4 UTC Offset
7.2.5 Measurement of time within a domain
7.3 PTP communications
7.3.1 Messaging model
7.3.2 PTP Message attributes
7.3.3 Message class
7.3.3.1 PTP event messages
7.3.3.2 General PTP messages
7.3.4 Generation of PTP event message timestamps
7.3.4.1 message timestamp point
7.3.4.2 Timestamp generation
7.3.4.3 Timestamping Clock
7.3.5 PTP message sourcePortIdentity
7.3.6 PTP message types
7.3.7 PTP message sequenceId
7.3.8 Flag-based Indicators
7.3.8.1 unicastFlag
7.3.8.2 alternateMasterFlag
7.3.8.3 twoStepFlag
7.4 PTP communication media
7.4.1 Network transport protocol
7.4.2 PTP Communication Path delay, PTP Link delay, and
7.4.3 Medium relative delay coefficient
7.5 PTP Ports
7.5.1 General
7.5.2 portIdentity
7.5.2.1 General
7.5.2.2 clockIdentity
7.5.2.2.1 General
7.5.2.2.2 Construction of clockIdentity values
7.5.2.2.2.1 General
7.5.2.2.2.2 Construction based on an NUI-48
7.5.2.2.2.3 Construction based on an NUI-64
7.5.2.2.3 Reserved clockIdentity value
7.5.2.3 portNumber
7.5.2.4 Ordering of clockIdentity and portIdentity values
7.5.2.5 Determination of PTP Port one or two-step semantics
7.5.3 Path delay measurement mechanism
7.5.4 PTP versions
7.6 PTP Instance characterization
7.6.1 PTP Instance type
7.6.2 PTP Instance attributes
7.6.2.1 General requirements
7.6.2.2 clockIdentity
7.6.2.3 priority1
7.6.2.4 priority2
7.6.2.5 clockClass
7.6.2.6 clockAccuracy
7.6.2.7 offsetScaledLogVariance
7.6.2.8 timeSource
7.6.2.9 numberPorts
7.6.3 PTP variance
7.6.3.1 General
7.6.3.2 Variance algorithm
7.6.3.3 Variance representation
7.6.3.4 Ordering of variances
7.6.3.5 Computation of defaultDS.offsetScaledLogVariance
7.6.4 Parent PTP Instance statistics
7.6.4.1 General
7.6.4.2 parentDS.parentStats
7.6.4.3 parentDS.observedParentOffsetScaledLogVariance
7.6.4.4 parentDS.observedParentClockPhaseChangeRate
7.6.5 defaultDS.numberPorts
7.6.6 Obtaining timing from external sources and updating the data sets of a PTP Instance
7.6.6.1 General specification
7.6.6.2 Source Adapter blocks
7.6.6.3 External Source block
7.6.7 Providing timing to external users
7.6.7.1 General specification
7.6.7.2 Sink Adapter blocks
7.6.7.3 External Sink block
7.7 PTP timing characterization
7.7.1 General
7.7.2 PTP message transmission intervals
7.7.2.1 General interval specification
7.7.2.2 Announce message transmission interval
7.7.2.3 Sync (multicast) message transmission interval
7.7.2.4 Delay_Req message transmission interval
7.7.2.5 Pdelay_Req message transmission interval
7.7.3 PTP timeouts
7.7.3.1 portDS.announceReceiptTimeout
8. PTP data sets
8.1 General specifications for data set members
8.1.1 Introduction to data sets
8.1.1.1 Introduction to data set specifications
8.1.1.2 Ordinary Clocks and Boundary Clocks
8.1.1.3 Transparent Clocks
8.1.2 Initialization classification
8.1.2.1 General
8.1.2.1.1 Static members
8.1.2.1.2 Dynamic members
8.1.2.1.3 Configurable members
8.1.3 PTP Instance data set initialization properties
8.1.3.1 General initialization specifications
8.1.3.2 Initialization of static data set members
8.1.3.3 Initialization of dynamic data set members
8.1.3.4 Initialization of configurable data set members
8.1.3.5 Operation of nonvolatile read(write storage of data set members
8.1.4 Use of data sets for management
8.1.4.1 General
8.1.4.2 Organization within a PTP Node
8.1.4.3 Management conformance
8.1.4.4 Read/write permissions
8.1.5 Data type
8.1.6 Operational conformance
8.1.7 Correspondence between abstract quantities and data set members
8.2 Data sets for PTP Instances
8.2.1 defaultDS data set member specifications
8.2.1.1 General
8.2.1.2 Static members of the defaultDS data set
8.2.1.2.1 defaultDS.twoStepFlag (deprecated)
8.2.1.2.2 defaultDS.clockIdentity
8.2.1.2.3 defaultDS.numberPorts
8.2.1.3 Dynamic members of the defaultDS data set
8.2.1.3.1 defaultDS.clockQuality
8.2.1.3.1.1 General
8.2.1.3.1.2 defaultDS.clockQuality.clockClass
8.2.1.3.1.3 defaultDS.clockQuality.clockAccuracy
8.2.1.3.1.4 defaultDS.clockQuality.offsetScaledLogVariance
8.2.1.4 Configurable members of the defaultDS data set
8.2.1.4.1 defaultDS.priority1
8.2.1.4.2 defaultDS.priority2
8.2.1.4.3 defaultDS.domainNumber
8.2.1.4.4 defaultDS.slaveOnly
8.2.1.4.5 defaultDS.sdoId
8.2.1.5 Optional members of the defaultDS data set
8.2.1.5.1 defaultDS.currentTime
8.2.1.5.2 defaultDS.instanceEnable
8.2.1.5.3 defaultDS.externalPortConfigurationEnabled
8.2.1.5.4 defaultDS.maxStepsRemoved
8.2.1.5.5 defaultDS.instanceType
8.2.2 currentDS data set member specifications
8.2.2.1 General
8.2.2.2 currentDS.stepsRemoved
8.2.2.3 currentDS.offsetFromMaster
8.2.2.4 currentDS.meanDelay
8.2.2.5 currentDS.synchronizationUncertain
8.2.3 parentDS data set member specifications
8.2.3.1 General
8.2.3.2 parentDS.parentPortIdentity
8.2.3.3 parentDS.parentStats
8.2.3.4 parentDS.observedParentOffsetScaledLogVariance
8.2.3.5 parentDS.observedParentClockPhaseChangeRate
8.2.3.6 parentDS.grandmasterIdentity
8.2.3.7 parentDS.grandmasterClockQuality
8.2.3.8 parentDS.grandmasterPriority1
8.2.3.9 parentDS.grandmasterPriority2
8.2.3.10 parentDS.protocolAddress
8.2.3.11 parentDS.synchronizationUncertain
8.2.4 timePropertiesDS data set member specifications
8.2.4.1 General
8.2.4.2 timePropertiesDS.currentUtcOffset
8.2.4.3 timePropertiesDS.currentUtcOffsetValid
8.2.4.4 timePropertiesDS.leap59
8.2.4.5 timePropertiesDS.leap61
8.2.4.6 timePropertiesDS.timeTraceable
8.2.4.7 timePropertiesDS.frequencyTraceable
8.2.4.8 timePropertiesDS.ptpTimescale
8.2.4.9 timePropertiesDS.timeSource
8.2.5 descriptionDS
8.2.5.1 General
8.2.5.2 descriptionDS.manufacturerIdentity
8.2.5.3 descriptionDS.productDescription
8.2.5.4 descriptionDS.productRevision
8.2.5.5 descriptionDS.userDescription
8.2.6 faultLogDS
8.2.6.1 General
8.2.6.2 faultLogDS.numberOfFaultRecords
8.2.6.3 faultLogDS.faultRecordList
8.2.6.4 faultLogDS.reset
8.2.7 nonvolatileStorageDS
8.2.7.1 General
8.2.7.2 nonVolatileStorageDS.reset
8.2.7.3 nonVolatileStorageDS.save
8.2.8 pathTraceDS
8.2.9 alternateTimescaleOffsetsDS
8.2.10 holdoverUpgradeDS
8.2.10.1 General
8.2.11 grandmasterClusterDS
8.2.12 acceptableMasterTableDS
8.2.13 performanceMonitoringDS
8.2.14 enhancedSynchronizationAccuracyMetricsDS
8.2.14.1 General
8.2.14.2 enhancedSynchronizationAccuracyMetricsDS.enable
8.2.15 portDS data set member specifications
8.2.15.1 General
8.2.15.2 Static members of the portDS data set
8.2.15.2.1 portDS.portIdentity
8.2.15.3 Dynamic members of the portDS data set
8.2.15.3.1 portDS.portState
8.2.15.3.2 portDS.logMinDelayReqInterval
8.2.15.3.3 portDS.meanLinkDelay
8.2.15.4 Configurable members of the portDS data set
8.2.15.4.1 portDS.logAnnounceInterval
8.2.15.4.2 portDS.announceReceiptTimeout
8.2.15.4.3 portDS.logSyncInterval
8.2.15.4.4 portDS.delayMechanism
8.2.15.4.5 portDS.logMinPdelayReqInterval
8.2.15.4.6 portDS.versionNumber
8.2.15.4.7 portDS.minorVersionNumber
8.2.15.4.8 portDS.delayAsymmetry
8.2.15.5 Optional members of the portDS data set
8.2.15.5.1 portDS.portEnable
8.2.15.5.2 portDS.masterOnly
8.2.16 timestampCorrectionPortDS
8.2.16.1 General
8.2.16.2 timestampCorrectionPortDS.egressLatency
8.2.16.3 timestampCorrectionPortDS.ingressLatency
8.2.17 asymmetryCorrectionPortDS
8.2.17.1 General
8.2.17.2 asymmetryCorrectionPortDS.constantAsymmetry
8.2.17.3 asymmetryCorrectionPortDS.scaledDelayCoefficient
8.2.17.4 asymmetryCorrectionPortDS.enable
8.2.18 descriptionPortDS
8.2.18.1 General
8.2.18.2 descriptionPortDS.profileIdentifier
8.2.18.3 descriptionPortDS.protocolAddress
8.2.19 unicastNegotiationPortDS
8.2.19.1 General
8.2.19.2 unicastNegotiationPortDS.enable
8.2.20 alternateMasterPortDS
8.2.21 unicastDiscoveryPortDS
8.2.22 acceptableMasterPortDS
8.2.23 L1SyncBasicPortDS
8.2.24 L1SyncOptParamsPortDS
8.2.25 communicationCapabilitiesPortDS
8.2.25.1 communicationCapabilitiesPortDS.syncCapabilities
8.2.25.2 communicationCapabilitiesPortDS.delayRespCapabilities
8.2.26 performanceMonitoringPortDS
8.2.27 commonServicesPortDS
8.2.28 externalPortConfigurationPortDS
8.2.29 slaveMonitoringPortDs
8.3 Data sets for Transparent Clocks
8.3.1 General
8.3.1.1 Node-level data sets for Transparent Clocks
8.3.1.2 Instance-level data sets for Transparent Clocks
8.3.2 transparentClockDefaultDS data set member specifications (deprecated)
8.3.2.1 General
8.3.2.2 Static members of the transparentClockDefaultDS data set
8.3.2.2.1 transparentClockDefaultDS.clockIdentity
8.3.2.2.2 transparentClockDefaultDS.numberPorts
8.3.2.3 Configurable members of the transparentClockDefaultDS data set
8.3.2.3.1 transparentClockDefaultDS.delayMechanism
8.3.2.3.2 transparentClockDefaultDS.primaryDomain
8.3.3 transparentClockPortDS data set member specifications (deprecated)
8.3.3.1 General
8.3.3.2 Static members of the portDS data set
8.3.3.2.1 transparentClockPortDS.portIdentity
8.3.3.3 Dynamic members of the portDS data set
8.3.3.3.1 transparentClockPortDS.logMinPdelayReqInterval
8.3.3.3.2 transparentClockPortDS.faultyFlag
8.3.3.3.3 transparentClockPortDS.peerMeanPathDelay
8.4 commonMeanLinkDelayService data sets
9. PTP for Ordinary Clocks and Boundary Clocks
9.1 General protocol requirements for PTP Ordinary Clocks and Boundary Clocks
9.2 State protocol
9.2.1 General state requirements
9.2.2 PTP Instances with special state behavior
9.2.2.1 Slave-Only Ordinary Clocks
9.2.2.2 MasterOnly PTP Ports
9.2.2.3 PTP Ports not on a Slave-Only Ordinary Clock or in a masterOnly mode
9.2.3 Non-slaveOnly PTP Instances
9.2.4 State definitions
9.2.5 State machines
9.2.6 Events initiating PTP state transitions
9.2.6.1 General
9.2.6.2 POWERUP
9.2.6.3 INITIALIZE
9.2.6.4 DESIGNATED_ENABLED
9.2.6.5 DESIGNATED_DISABLED
9.2.6.6 FAULT_CLEARED
9.2.6.7 FAULT_DETECTED
9.2.6.8 INITIALIZATION_COMPLETE
9.2.6.9 STATE_DECISION_EVENT
9.2.6.10 Recommended state
9.2.6.11 QUALIFICATION_TIMEOUT_EXPIRES
9.2.6.12 ANNOUNCE_RECEIPT_TIMEOUT_EXPIRES
9.2.6.13 SYNCHRONIZATION_FAULT
9.2.6.14 MASTER_CLOCK_SELECTED
9.2.7 Applying PTP events to the PTP Ports of a Boundary Clock
9.3 Best master clock algorithms
9.3.1 Selection of the best master clock algorithm
9.3.2 Best master clock algorithm
9.3.2.1 Overview and definition of terms
9.3.2.2 General best master clock algorithm specifications
9.3.2.3 Computation of Erbest
9.3.2.4 specifications
9.3.2.4.1 General
9.3.2.4.2 [].foreignMasterPortIdentity
9.3.2.4.3 [].foreignMasterAnnounceMessages
9.3.2.4.4 [].mostRecentAnnounceMessage
9.3.2.4.5 FOREIGN_MASTER_TIME_WINDOW and FOREIGN_MASTER_THRESHOLD
9.3.2.4.6 Size of
9.3.2.5 Qualification of Announce messages
9.3.3 State decision algorithm
9.3.4 Data set comparison algorithm
9.3.5 Update of data sets
9.4 Grandmaster PTP Instance timePropertiesDS updates
9.5 PTP message processing semantics
9.5.1 Messaging behavior of Ordinary Clock and Boundary Clocks
9.5.2 Receipt by a PTP Instance of any message from itself
9.5.2.1 General
9.5.2.2 Ordinary Clocks and any single PTP Port of a Boundary Clock
9.5.2.3 Additional constraints for Boundary Clocks
9.5.3 Receipt of an Announce message from another PTP Instance
9.5.4 Receipt of a Sync message from another PTP Instance
9.5.5 Receipt of a Follow_Up message from another PTP Instance
9.5.6 Receipt of a Delay_Req message from another PTP Instance
9.5.7 Receipt of a Delay_Resp message from another PTP Instance
9.5.8 Transmission of an Announce message
9.5.9 Transmission of a Sync message
9.5.9.1 General specification
9.5.9.2 General requirements
9.5.9.3 Additional requirements when the Message Length Extension option is active
9.5.9.4 One-step PTP Ports
9.5.9.5 Two-step PTP Ports
9.5.10 Transmission of a Follow_Up message
9.5.11 Transmission of a Delay_Req message
9.5.11.1 General requirements
9.5.11.2 Timing requirements
9.5.12 Transmission of a Delay_Resp message
9.5.13 Transmission of a Pdelay_Req message
9.5.13.1 General requirements
9.5.13.2 Timing requirements
9.5.14 Transmission of Pdelay_Resp message
9.5.15 Transmission of Pdelay_Resp_Follow_Up message
9.6 Changes in the PTP Instance
10. PTP for Transparent Clocks
10.1 Requirements for both end-to-end and peer-to-peer Transparent Clocks
10.1.1 Residence time computations
10.1.2 Retransmission of PTP messages that contain TLVs
10.2 End-to-end Transparent Clock requirements
10.2.1 General requirements
10.2.2 Default PTP message processing in end-to-end Transparent Clocks
10.2.2.1 Processing of Sync messages
10.2.2.1.1 Egress one-step PTP Ports
10.2.2.1.2 Egress two-step PTP Ports
10.2.2.1.2.1 Ingress Sync message twoStep flag is FALSE
10.2.2.1.2.2 Ingress Sync message twoStep flag is TRUE
10.2.2.2 Processing of Delay_Req messages
10.2.2.2.1 General specification
10.2.2.2.2 Egress one-step PTP Ports
10.2.2.2.3 Egress two-step PTP Ports
10.2.2.3 Processing of Pdelay_Req and Pdelay_Resp messages
10.2.2.3.1 General
10.2.2.3.2 Egress one-step PTP Ports on end-to-end Transparent Clocks
10.2.2.3.3 Egress two-step PTP Ports on end-to-end Transparent Clocks
10.2.3 Alternate processing of Sync, Delay_Req, Delay_Resp, Pdelay_Req, and Pdelay_Resp messages on end-to-end Transparent Clocks
10.2.3.1 General requirements
10.2.3.2 Constraints on processing of Sync and Follow_Up messages
10.2.3.2.1 All cases
10.2.3.2.2 Ingress and egress twoStepFlags both FALSE
10.2.3.2.3 Ingress twoStepFlag FALSE and egress twoStepFlag TRUE
10.2.3.2.4 Ingress twoStepFlag TRUE and egress twoStepFlag FALSE
10.2.3.2.5 Ingress twoStepFlag TRUE and egress twoStepFlag TRUE:
10.2.3.3 Constraints on processing of Delay_Req and Delay_Resp messages
10.2.3.4 Constraints on processing of Pdelay_Req and Pdelay_Resp messages
10.2.3.4.1 All cases
10.2.3.4.2 Ingress twoStep flag is FALSE
10.2.3.4.3 Ingress twoStep flag is TRUE
10.3 Peer-to-peer Transparent Clock requirements
10.3.1 General requirements
10.3.2 Default Sync and Follow_Up message processing in peer-to-peer Transparent Clocks
10.3.2.1 Egress one-step PTP Ports
10.3.2.2 Egress two-step PTP Ports
10.3.2.2.1 Ingress Sync message twoStep flag is FALSE
10.3.2.2.2 Ingress Sync message twoStep flag is TRUE
10.3.3 Alternate processing of Sync and Follow_Up messages on peer-to-peer Transparent Clocks
10.3.3.1 General requirements
10.3.3.2 Constraints on processing of Sync and Follow_Up messages
10.3.3.2.1 All cases
10.3.3.2.2 Ingress and egress twoStepFlags both FALSE
10.3.3.2.3 Ingress twoStepFlag FALSE and egress twoStepFlag TRUE
10.3.3.2.4 Ingress twoStepFlag TRUE and egress twoStepFlag FALSE
10.3.3.2.5 Ingress twoStepFlag TRUE and egress twoStepFlag TRUE
11. Clock offset, path delay, residence time, and asymmetry corrections
11.1 General specifications
11.2 Computation of in Ordinary Clocks and Boundary Clocks
11.3 Delay request-response mechanism for Ordinary Clocks and Boundary Clocks
11.3.1 Delay request-response mechanism general requirements
11.3.2 Delay request-response mechanism operational specifications
11.4 Peer-to-peer delay mechanism
11.4.1 Peer-to-peer delay mechanism general requirements
11.4.2 Peer-to-peer delay mechanism operational specifications
11.4.3 Restriction on the use of the peer-to-peer delay mechanism
11.5 MDMI interface and Special Ports
11.5.1 General requirements
11.5.2 Operation of the components in a Special Port
11.5.2.1 Nontiming PTP message handling by a Special Port
11.5.2.1.1 Announce messages
11.5.2.1.2 Signaling messages
11.5.2.1.3 PTP management messages
11.5.2.2 Time transfer by a Special Port
11.5.2.2.1 PTP Port block
11.5.2.2.2 MDMI interface general properties
11.5.2.2.3 Special PTP MD Adapter block
11.5.2.2.4 Network Interface Stack
11.5.3 Timing information transfer across the MDMI Interface
11.5.3.1 Timing information transfer across the MDMI Interface on reception
11.5.3.1.1 domainNumber
11.5.3.1.2 sdoId
11.5.3.1.3 sourcePortIdentity
11.5.3.1.4 originOrPreciseOriginTimestamp
11.5.3.1.5 correctionField
11.5.3.1.6 logMessageInterval
11.5.3.1.7 upstreamTxTime
11.5.3.1.8 cumulativeRateRatio
11.5.3.2 Timing information transfer across the MDMI Interface on transmission
11.5.3.2.1 domainNumber
11.5.3.2.2 sdoId
11.5.3.2.3 sourcePortIdentity
11.5.3.2.4 originOrPreciseOriginTimestamp
11.5.3.2.5 correctionField
11.5.3.2.6 logMessageInterval
11.5.3.2.7 upstreamTxTime
11.5.3.2.8 cumulativeRateRatio
11.5.3.3 Computation of at the PTP Instance whose PTP Port in the SLAVE state is a Special Port
12. Synchronization and syntonization of clocks
12.1 Clock adjustments
12.2 Syntonization
12.2.1 General specification
12.2.2 Syntonization based on Sync messages
12.2.3 Syntonization based on other mechanisms
12.3 Synchronization
13. PTP message formats
13.1 General
13.2 General PTP message format requirements
13.3 Header
13.3.1 General header specifications
13.3.2 Header specifications
13.3.2.1 majorSdoId (Nibble)
13.3.2.2 minorSdoId (UInteger8)
13.3.2.3 messageType (Enumeration4)
13.3.2.4 versionPTP (UInteger4)
13.3.2.5 minorVersionPTP (UInteger4)
13.3.2.6 messageLength (UInteger16)
13.3.2.7 domainNumber (UInteger8)
13.3.2.8 flagField (Octet[2])
13.3.2.9 correctionField (Integer64)
13.3.2.10 messageTypeSpecific (Octet[4])
13.3.2.11 sourcePortIdentity (PortIdentity)
13.3.2.12 sequenceId (UInteger16)
13.3.2.13 controlField (UInteger8)
13.3.2.14 logMessageInterval (Integer8)
13.4 Suffix
13.5 Announce message
13.5.1 General Announce message specifications
13.5.2 Announce message field specifications
13.5.2.1 originTimestamp (Timestamp)
13.5.2.2 currentUtcOffset (Integer16)
13.5.2.3 grandmasterPriority1 (UInteger8)
13.5.2.4 grandmasterClockQuality (ClockQuality)
13.5.2.5 grandmasterPriority2 (UInteger8)
13.5.2.6 grandmasterIdentity (ClockIdentity)
13.5.2.7 stepsRemoved (UInteger16)
13.5.2.8 timeSource (Enumeration8)
13.6 Sync and Delay_Req messages
13.6.1 General Sync and Delay_Req message specifications
13.6.2 Sync and Delay_Req message field specifications
13.6.2.1 originTimestamp (Timestamp)
13.7 Follow_Up message
13.7.1 General Follow_Up message specifications
13.7.2 Follow_Up message field specifications
13.7.2.1 preciseOriginTimestamp (Timestamp)
13.8 Delay_Resp message
13.8.1 General Delay_Resp message specifications
13.8.2 Delay_Resp message field specifications
13.8.2.1 receiveTimestamp (Timestamp)
13.8.2.2 requestingPortIdentity (PortIdentity)
13.9 Pdelay_Req message
13.9.1 General Pdelay_Req message specifications
13.9.2 Pdelay_Req message field specifications
13.9.2.1 originTimestamp (Timestamp)
13.10 Pdelay_Resp message
13.10.1 General Pdelay_Resp message specifications
13.10.2 Pdelay_Resp message field specifications
13.10.2.1 requestReceiptTimestamp (Timestamp)
13.10.2.2 requestingPortIdentity (PortIdentity)
13.11 Pdelay_Resp_Follow_Up message
13.11.1 General Pdelay_Resp_Follow_Up message specifications
13.11.2 Pdelay_Resp_Follow_Up message field specifications
13.11.2.1 responseOriginTimestamp (Timestamp)
13.11.2.2 requestingPortIdentity (PortIdentity)
13.12 Signaling message
13.12.1 Receipt of a Signaling message from another PTP Instance
13.12.2 Transmission of a Signaling message
13.12.2.1 targetPortIdentity (PortIdentity)
13.13 PTP management message
14. TLV entity specifications
14.1 General requirements
14.1.1 tlvType (Enumeration16)
14.1.2 lengthField (UInteger16)
14.1.3 valueField (tlvType specific)
14.2 Propagation of TLVs through Boundary Clocks
14.2.1 TLVs Attached to non-Announce PTP Messages
14.2.2 Unsupported TLVs Attached to Announce PTP Message
14.2.2.1 Unsupported TLVs marked “Do Not Propagate”
14.2.2.2 Unsupported TLVs marked “Propagate”
14.2.2.3 Supported TLVs received on an Announce message
14.3 Vendor and standard organization extension TLVs
14.3.1 General
14.3.2 TLV member specifications
14.3.2.1 tlvType (Enumeration16)
14.3.2.2 lengthField (UInteger16)
14.3.2.3 organizationId (Octet[3])
14.3.2.4 organizationSubType (Enumeration24)
14.3.2.5 data (organizationSubType and organizationId specific)
14.4 PAD TLV (optional)
14.4.1 General
14.4.2 PAD TLV specification
14.4.2.1 tlvType
14.4.2.2 lengthField
14.4.2.3 pad
15. PTP management messages (optional)
15.1 General
15.1.1 Selection of management mechanisms
15.2 PTP management mechanism
15.3 Processing of PTP management messages
15.3.1 Receipt of a PTP management message
15.3.2 Transmission of a PTP management message
15.3.3 Boundary Clock retransmission of PTP management messages
15.4 PTP management message format
15.4.1 Common fields
15.4.1.1 domainNumber, majorSdoId, and minorSdoId of the header
15.4.1.2 sequenceId of the header
15.4.1.3 targetPortIdentity (PortIdentity)
15.4.1.4 startingBoundaryHops (UInteger8)
15.4.1.5 boundaryHops (UInteger8)
15.4.1.7 managementTLV
15.5 Management TLVs
15.5.1 Management TLV introduction
15.5.1.1 General
15.5.1.1.1 Management of data sets
15.5.1.1.2 Management of events
15.5.2 MANAGEMENT TLV field format
15.5.2.1 tlvType (Enumeration16)
15.5.2.2 lengthField (UInteger16)
15.5.2.3 managementId (Enumeration16)
15.5.3 Management TLV data field specifications for each managementId
15.5.3.1 TLV data fields for MANAGEMENT_TLVs applicable to all PTP Instances
15.5.3.1.1 NULL_PTP_MANAGEMENT
15.5.3.1.2 CLOCK_DESCRIPTION
15.5.3.1.2.1 clockType (Boolean[16])
15.5.3.1.2.2 physicalLayerProtocol (PTPText)
15.5.3.1.2.3 physicalAddressLength (UInteger16)
15.5.3.1.2.4 physicalAddress (Octet[physicalAddressLength])
15.5.3.1.2.5 protocolAddress (PortAddress)
15.5.3.1.2.6 manufacturerIdentity (Octet[3])
15.5.3.1.2.7 productDescription (PTPText )
15.5.3.1.2.8 revisionData (PTPText )
15.5.3.1.2.9 userDescription (PTPText )
15.5.3.1.2.10 profileIdentifier (Octet[6])
15.5.3.1.2.11 pad (Octet[M])
15.5.3.1.3 USER_DESCRIPTION
15.5.3.1.3.1 userDescription (PTPText )
15.5.3.1.3.2 pad (Octet[M])
15.5.3.1.4 SAVE_IN_NON_VOLATILE_STORAGE
15.5.3.1.5 RESET_NON_VOLATILE_STORAGE
15.5.3.1.6 INITIALIZE
15.5.3.1.6.1 initializationKey (Enumeration16)
15.5.3.1.7 FAULT_LOG
15.5.3.1.7.1 numberOfFaultRecords (UInteger16)
15.5.3.1.7.2 faultRecordList (FaultRecord[numberOfFaultRecords])
15.5.3.1.7.3 pad (Octet[M])
15.5.3.1.8 FAULT_LOG_RESET
15.5.3.2 TLV data fields applicable to Ordinary Clocks and Boundary Clocks
15.5.3.2.1 TIME
15.5.3.2.1.1 currentTime (Timestamp)
15.5.3.2.2 CLOCK_ACCURACY
15.5.3.2.2.1 clockAccuracy (Enumeration8)
15.5.3.2.3 ENABLE_PORT
15.5.3.2.4 DISABLE_PORT
15.5.3.2.5 SLAVE_EVENT_MONITORING management TLV data field
15.5.3.2.5.1 TLV0 (Boolean)
15.5.3.2.5.2 TLV1 (Boolean)
15.5.3.2.5.3 TLV2 (Boolean)
15.5.3.2.5.4 EPRSTT (UInteger8)
15.5.3.2.5.5 EPRSCT (UInteger8)
15.5.3.2.5.6 EPTETT (UInteger8)
15.5.3.2.5.7 TET (UInteger8)
15.5.3.3 TLV data fields applicable to the defaultDS data set of Ordinary Clocks and Boundary Clocks
15.5.3.3.1 DEFAULT_DATA_SET
15.5.3.3.1.1 TSC (Boolean)
15.5.3.3.1.2 SO (Boolean)
15.5.3.3.1.3 numberPorts (UInteger16)
15.5.3.3.1.4 priority1 (UInteger8)
15.5.3.3.1.5 clockQuality (ClockQuality)
15.5.3.3.1.6 priority2 (UInteger8)
15.5.3.3.1.7 clockIdentity (ClockIdentity)
15.5.3.3.1.8 domainNumber (UInteger8)
15.5.3.3.2 PRIORITY1
15.5.3.3.2.1 priority1 (UInteger8)
15.5.3.3.3 PRIORITY2
15.5.3.3.3.1 priority2 (UInteger8)
15.5.3.3.4 DOMAIN
15.5.3.3.4.1 domainNumber (UInteger8)
15.5.3.3.5 SLAVE_ONLY
15.5.3.3.5.1 SO (Boolean)
15.5.3.3.6 PATH_TRACE_LIST PTP management message
15.5.3.3.6.1 pathSequence (ClockIdentity[N])
15.5.3.3.7 PATH_TRACE_ENABLE PTP management message
15.5.3.3.7.1 EN (Boolean)
15.5.3.3.8 ALTERNATE_TIME_OFFSET_ENABLE PTP management message
15.5.3.3.8.1 keyField (UInteger8)
15.5.3.3.8.2 EN (Boolean)
15.5.3.3.9 ALTERNATE_TIME_OFFSET_NAME TLV
15.5.3.3.9.1 keyField (UInteger8)
15.5.3.3.9.2 displayName (PTPText)
15.5.3.3.9.3 pad (Octet[M])
15.5.3.3.10 ALTERNATE_TIME_OFFSET_MAX_KEY management TLV
15.5.3.3.10.1 maxKey (UInteger8)
15.5.3.3.11 ALTERNATE_TIME_OFFSET_PROPERTIES management TLV (optional)
15.5.3.3.11.1 keyField (UInteger8)
15.5.3.3.11.2 currentOffset (Integer32)
15.5.3.3.11.3 jumpSeconds (Integer32)
15.5.3.3.11.4 timeOfNextJump (UInteger48)
15.5.3.3.12 Configuration of holdoverUpgradeDS
15.5.3.3.12.1 EN (Boolean)
15.5.3.3.13 GRANDMASTER_CLUSTER_TABLE management TLV data field
15.5.3.3.13.1 logQueryInterval (Integer8)
15.5.3.3.13.2 actualTableSize (UInteger8)
15.5.3.3.13.3 portAddress (PortAddress[actualTableSize])
15.5.3.3.13.4 pad (Octet[M])
15.5.3.3.14 ACCEPTABLE_MASTER_TABLE management TLV data field
15.5.3.3.14.1 actualTableSize (Integer16)
15.5.3.3.14.2 list(acceptableMaster[actualTableSize])
15.5.3.3.14.3 pad (Octet[M])
15.5.3.3.15 ACCEPTABLE_MASTER_MAX_TABLE_SIZE management TLV data field
15.5.3.3.15.1 maxTableSize (UInteger16)
15.5.3.4 TLV data fields applicable to the currentDS data set of Ordinary Clocks and Boundary Clocks
15.5.3.4.1 CURRENT_DATA_SET
15.5.3.4.1.1 stepsRemoved (UInteger16)
15.5.3.4.1.2 offsetFromMaster (TimeInterval)
15.5.3.4.1.3 meanPathDelay (TimeInterval)
15.5.3.5 TLV data fields applicable to the parentDS data set of Ordinary Clocks and Boundary Clocks
15.5.3.5.1 PARENT_DATA_SET
15.5.3.5.1.1 parentPortIdentity (PortIdentity)
15.5.3.5.1.2 PS (Boolean)
15.5.3.5.1.3 observedParentOffsetScaledLogVariance (UInteger16)
15.5.3.5.1.4 observedParentClockPhaseChangeRate (Integer32)
15.5.3.5.1.5 grandmasterPriority1 (UInteger8)
15.5.3.5.1.6 grandmasterClockQuality (ClockQuality)
15.5.3.5.1.7 grandmasterPriority2 (UInteger8)
15.5.3.5.1.8 grandmasterIdentity (ClockIdentity)
15.5.3.6 TLV data fields applicable to the timePropertiesDS data set of Ordinary Clocks and Boundary Clocks
15.5.3.6.1 TIME_PROPERTIES_DATA_SET
15.5.3.6.1.1 currentUtcOffset (Integer16)
15.5.3.6.1.2 LI-61 (Boolean)
15.5.3.6.1.3 LI-59 (Boolean)
15.5.3.6.1.4 UTCV (Boolean)
15.5.3.6.1.5 PTP (Boolean)
15.5.3.6.1.6 TTRA (Boolean)
15.5.3.6.1.7 FTRA (Boolean)
15.5.3.6.1.8 timeSource (Enumeration8)
15.5.3.6.2 UTC_PROPERTIES
15.5.3.6.2.1 currentUtcOffset (Integer16)
15.5.3.6.2.2 LI-61 (Boolean)
15.5.3.6.2.3 LI-59 (Boolean)
15.5.3.6.2.4 UTCV (Boolean)
15.5.3.6.3 TRACEABILITY_PROPERTIES
15.5.3.6.3.1 TTRA (Boolean)
15.5.3.6.3.2 FTRA (Boolean)
15.5.3.6.4 TIMESCALE_PROPERTIES
15.5.3.6.4.1 PTP (Boolean)
15.5.3.6.4.2 timeSource (Enumeration8)
15.5.3.7 TLV data fields applicable to the portDS data set of Ordinary Clocks and Boundary Clocks
15.5.3.7.1 PORT_DATA_SET
15.5.3.7.1.1 portIdentity (PortIdentity)
15.5.3.7.1.2 portState (Enumeration8)
15.5.3.7.1.3 logMinDelayReqInterval (Integer8)
15.5.3.7.1.4 meanLinkDelay (TimeInterval)
15.5.3.7.1.5 logAnnounceInterval (Integer8)
15.5.3.7.1.6 announceReceiptTimeout (UInteger8)
15.5.3.7.1.7 logSyncInterval (Integer8)
15.5.3.7.1.8 delayMechanism (Enumeration8)
15.5.3.7.1.9 logMinPdelayReqInterval (Integer8)
15.5.3.7.1.10 versionNumber (UInteger4)
15.5.3.7.2 LOG_ANNOUNCE_INTERVAL
15.5.3.7.2.1 logAnnounceInterval (Integer8)
15.5.3.7.3 ANNOUNCE_RECEIPT_TIMEOUT
15.5.3.7.3.1 announceReceiptTimeout (UInteger8)
15.5.3.7.4 LOG_SYNC_INTERVAL
15.5.3.7.4.1 logSyncInterval (Integer8)
15.5.3.7.5 DELAY_MECHANISM
15.5.3.7.5.1 delayMechanism (Enumeration8)
15.5.3.7.6 LOG_MIN_PDELAY_REQ_INTERVAL
15.5.3.7.6.1 logMinPdelayReqInterval (Integer8)
15.5.3.7.7 VERSION_NUMBER
15.5.3.7.7.1 versionNumber (UInteger4)
15.5.3.7.8 EXTERNAL_PORT_CONFIGURATION_ENABLED
15.5.3.7.8.1 EPC
15.5.3.7.9 MASTER_ONLY
15.5.3.7.9.1 MO (Boolean)
15.5.3.7.10 UNICAST_NEGOTIATION_ENABLE
15.5.3.7.10.1 EN (Boolean)
15.5.3.7.11 ALTERNATE_MASTER management TLV data field
15.5.3.7.11.1 S (Boolean)
15.5.3.7.11.2 logAlternateMulticastSyncInterval (Integer8)
15.5.3.7.11.3 numberOfAlternateMasters (UInteger8)
15.5.3.7.12 UNICAST_MASTER_TABLE management TLV data field
15.5.3.7.12.1 logQueryInterval (Integer8)
15.5.3.7.12.2 actualTableSize (UInteger16)
15.5.3.7.12.3 portAddress(PortAddress[actualTableSize])
15.5.3.7.12.4 pad (Octet[M])
15.5.3.7.13 UNICAST_MASTER_MAX_TABLE_SIZE management TLV data field
15.5.3.7.13.1 maxTableSize (UInteger16)
15.5.3.7.14 ACCEPTABLE_MASTER_TABLE_ENABLED management TLV data field
15.5.3.7.14.1 EN (Boolean)
15.5.3.7.15 EXT_PORT_CONFIG_PORT_DATA_SET management TLV data field
15.5.3.7.15.1 desiredState (Enumeration8)
15.5.3.8 TLV data fields applicable to the defaultDS data set of Transparent Clocks (deprecated)
15.5.3.8.1 TRANSPARENT_CLOCK_DEFAULT_DATA_SET (deprecated)
15.5.3.8.1.1 clockIdentity (ClockIdentity)
15.5.3.8.1.2 numberPorts (UInteger16)
15.5.3.8.1.3 delayMechanism (Enumeration8)
15.5.3.8.1.4 primaryDomain (UInteger8)
15.5.3.8.2 DELAY_MECHANISM (deprecated)
15.5.3.8.3 PRIMARY_DOMAIN (deprecated)
15.5.3.8.3.1 primaryDomain (UInteger8)
15.5.3.9 TLV data fields applicable to the transparentClockPortDS data set of Transparent Clocks
15.5.3.9.1 TRANSPARENT_CLOCK_PORT_DATA_SET
15.5.3.9.1.1 portIdentity (PortIdentity)
15.5.3.9.1.2 FLT (Boolean)
15.5.3.9.1.3 logMinPdelayReqInterval (Integer8)
15.5.3.9.1.4 peerMeanLinkDelay (TimeInterval)
15.5.3.9.2 LOG_MIN_PDELAY_REQ_INTERVAL
15.5.4 MANAGEMENT_ERROR_STATUS TLV
15.5.4.1 General
15.5.4.2 tlvType
15.5.4.3 lengthField
15.5.4.4 managementErrorId (Enumeration16)
15.5.4.5 managementId (Enumeration16)
15.5.4.6 displayData (PTPText)
15.5.4.7 pad (Octet[M])
16. General optional features
16.1 Unicast message negotiation (optional)
16.1.1 General unicast negotiation PTP operation specifications
16.1.2 Unicast negotiation enable
16.1.3 Granting PTP Port operations
16.1.3.1 Cancel Requests for Inactive Service (Handling Abnormal Contract Cancel Request)
16.1.3.2 Acknowledge Responses for Inactive Service (Handling Abnormal Contract Cancel Acknowledgment)
16.1.3.3 Acknowledge Responses Opposite of the Cancel Request (Handling Abnormal Contract Cancel Acknowledgment)
16.1.3.4 Single-Direction or Bidirectional Cancel Requests
16.1.3.5 Multiple TLVs attached to same PTP message
16.1.4 Unicast TLVs
16.1.4.1 REQUEST_UNICAST_TRANSMISSION TLV specification
16.1.4.1.1 tlvType
16.1.4.1.2 lengthField
16.1.4.1.3 messageType (Enumeration4)
16.1.4.1.4 logInterMessagePeriod (Integer8)
16.1.4.1.5 durationField (UInteger32)
16.1.4.2 GRANT_UNICAST_TRANSMISSION TLV specification
16.1.4.2.1 tlvType
16.1.4.2.2 lengthField
16.1.4.2.3 messageType (Enumeration4)
16.1.4.2.4 logInterMessagePeriod (Integer8)
16.1.4.2.5 durationField (UInteger32)
16.1.4.2.6 R (Renewal Invited) (Boolean)
16.1.4.3 CANCEL_UNICAST_TRANSMISSION TLV specification
16.1.4.3.1 tlvType
16.1.4.3.2 lengthField
16.1.4.3.3 messageType (Enumeration4)
16.1.4.3.4 R (maintainRequest) (Boolean)
16.1.4.3.5 G (maintainGrant) (Boolean)
16.1.4.4 ACKNOWLEDGE_CANCEL_UNICAST_TRANSMISSION TLV specification
16.1.4.4.1 tlvType
16.1.4.4.2 lengthField
16.1.4.4.3 messageType (Enumeration4)
16.1.4.4.4 R (maintainRequest) (Boolean)
16.1.4.4.5 G (maintainGrant) (Boolean)
16.2 Path trace (optional)
16.2.1 General
16.2.2 pathTraceDS data set specifications
16.2.2.1 General
16.2.2.2 Dynamic members of the pathTraceDS data set
16.2.2.2.1 pathTraceDS.list
16.2.2.3 Configurable members of the pathTraceDS data set
16.2.2.3.1 pathTraceDS.enable
16.2.3 Receipt of an Announce message
16.2.4 Transmission of an Announce message
16.2.5 PATH_TRACE TLV specification
16.2.5.1 tlvType
16.2.5.2 lengthField
16.2.5.3 pathSequence (ClockIdentity[N])
16.3 Alternate timescale offsets (optional)
16.3.1 General
16.3.1.1 Using the ALTERNATE_TIME_OFFSET_INDICATOR TLV when the timescale is PTP
16.3.1.2 Using the ALTERNATE_TIME_OFFSET_INDICATOR TLV when the timescale is ARB
16.3.1.3 Discontinuities in alternate timescales
16.3.2 Propagation by Boundary Clocks
16.3.3 ALTERNATE_TIME_OFFSET_INDICATOR TLV specification
16.3.3.1 General
16.3.3.2 tlvType
16.3.3.3 lengthField
16.3.3.4 keyField (UInteger8)
16.3.3.5 currentOffset (Integer32)
16.3.3.6 jumpSeconds (Integer32)
16.3.3.7 timeOfNextJump (UInteger48)
16.3.3.8 displayName (PTPText)
16.3.3.9 pad (Octet[M])
16.3.4 alternateTimescaleOffsetsDS data set specifications
16.3.4.1 General
16.3.4.2 AlternateTimescale derived data type
16.3.4.3 Static members of the alternateTimescaleOffsetDS data set
16.3.4.3.1 alternateTimescaleOffsetDS.maxKey
16.3.4.4 Configurable members of the alternateTimescaleOffsetDS data set
16.3.4.4.1 alternateTimescaleOffsetDS.list
16.3.4.4.1.1 AlternateTimescale.keyField
16.3.4.4.1.2 AlternateTimescale.enable
16.3.4.4.1.3 AlternateTimescale.currentOffset
16.3.4.4.1.4 AlternateTimescale.jumpSeconds
16.3.4.4.1.5 AlternateTimescale.timeOfNextJump
16.3.4.4.1.6 AlternateTimescale.displayName
16.4 Holdover upgrade (optional)
16.4.1 General description of the holdover upgrade option
16.4.1.1 holdoverUpgradeDS.enable
16.4.2 Behavior of a holdover-upgradable PTP Instance when in the disabled state.
16.4.3 Behavior of a holdover-upgradable PTP Instance when in the enabled state.
16.5 Isolation of PTP Instances running under profiles specified by different standards organizations (optional)
16.5.1 General
16.5.2 PTP Profile specifications for this option
16.6 Common Mean Link Delay Service (optional)
16.6.1 General
16.6.2 Using the Common Mean Link Delay Service.
16.6.3 Common Mean Link Delay Service
16.6.3.1 General CMLDS specifications
16.6.3.2 CMLDS link measurement operation
16.6.4 commonMeanLinkDelayServiceDS data set specifications
16.6.4.1 cmldsDefaultDS
16.6.4.1.1 General
16.6.4.1.2 Static members of the cmldsDefaultDS
16.6.4.1.2.1 cmldsDefaultDS.clockIdentity
16.6.4.1.2.2 cmldsDefaultDS.numberLinkPorts
16.6.4.2 cmldsLinkPortDS
16.6.4.2.1 General
16.6.4.2.2 Static members of the cmldsLinkPortDS
16.6.4.2.2.1 cmldsLinkPortDS.portIdentity
16.6.4.2.2.2 cmldsLinkPortDS.domainNumber
16.6.4.2.3 Dynamic members of the cmldsLinkPortDS
16.6.4.2.3.1 cmldsLinkPortDS.commonMeanLinkDelayInformation
16.6.4.2.4 Configurable members of the cmldsLinkPortDS
16.6.4.2.4.1 cmldsLinkPortDS.logMinPdelayReqInterval
16.6.4.2.4.2 cmldsLinkPortDS.versionNumber
16.6.4.2.4.3 cmldsLinkPortDS.minorVersionNumber
16.6.4.2.4.4 cmldsLinkPortDS.delayAsymmetry
16.6.4.3 cmldsTimestampCorrectionLinkPortDS
16.6.4.3.1 cmldsTimestampCorrectionLinkPortDS.egressLatency
16.6.4.3.2 cmldsTimestampCorrectionLinkPortDS.ingressLatency
16.6.4.4 cmldsAsymmetryCorrectionLinkPortDS
16.6.4.4.1 cmldsAsymmetryCorrectionLinkPortDS.constantAsymmetry
16.6.4.4.2 cmldsAsymmetryCorrectionLinkPortDS.delayCoefficient
16.6.4.4.3 cmldsAsymmetryCorrectionLinkPortDS.enable
16.6.4.5 cmldsPerformanceMonitoringLinkPortDS
16.6.5 commonServicesPortDS
16.6.5.1 General
16.6.5.1.1 Static members of the commonServicesPortDS
16.6.5.1.1.1 commonServicesPortDS.cmldsLinkPortPortNumber
16.7 Configurable correction of timestamps (optional)
16.7.1 General
16.8 Calculation of the for certain media (optional)
16.8.1 General
16.8.2 Enabling the option
16.8.3 Calculation of the
16.9 Mixed multicast/unicast operation (optional)
16.9.1 General
16.9.2 Port property TLVs (Optional)
16.9.2.1 PORT_COMMUNICATION_AVAILABILITY TLV (Optional)
16.9.2.1.1 tlvType
16.9.2.1.2 lengthField
16.9.2.1.3 syncMessageAvailability (Boolean[4])
16.9.2.1.4 delayRespMessageAvailability (Boolean[4])
16.9.2.2 PROTOCOL_ADDRESS TLV
16.9.2.2.1 tlvType
16.9.2.2.2 lengthField
16.9.2.2.3 portProtocolAddress (PortAddress)
16.9.2.2.4 pad (Octet[M])
16.10 Cumulative frequency transfer method for synchronizing clocks (optional)
16.10.1 General
16.10.2 Operation of the peer-to-peer delay mechanism using this option
16.10.3 Generating the
16.10.3.1 tlvType
16.10.3.2 lengthField
16.10.3.3 scaledCumulativeRateRatio (Integer32)
16.10.4 Calculations based on the measured , , and cumulativeRateRatio field of the TLV
16.10.4.1 General
16.10.4.2 meanLinkDelay
16.10.4.3 Ordinary Clocks that are not the Grandmaster Clock of the domain
16.10.4.4 Transparent Clocks and all Boundary Clocks that are not the Grandmaster PTP Instance of the domain
16.11 Slave Event Monitoring (optional)
16.11.1 General
16.11.2 Slave Event Monitoring Enable
16.11.3 Transmission of PTP messages with Slave Event Monitoring TLVs
16.11.4 Ingress Event Monitor TLVs
16.11.4.1 SLAVE_RX_SYNC_TIMING_DATA TLV specification
16.11.4.1.1 tlvType
16.11.4.1.2 lengthField
16.11.4.1.3 syncSourcePortIdentity (PortIdentity)
16.11.4.1.4 sequenceId[i] (UInteger16)
16.11.4.1.5 syncOriginTimestamp[i] (Timestamp)
16.11.4.1.6 totalCorrectionField[i] (TimeInterval)
16.11.4.1.7 scaledCumulativeRateOffset[i] (Integer32)
16.11.4.1.8 syncEventIngressTimestamp[i] (Timestamp)
16.11.4.2 SLAVE_RX_SYNC_COMPUTED_DATA TLV specification
16.11.4.2.1 tlvType
16.11.4.2.2 lengthField
16.11.4.2.3 sourcePortIdentity (PortIdentity)
16.11.4.2.4 computedFlags (Boolean[8])
16.11.4.2.4.1 offsetFromMasterValid flag
16.11.4.2.4.2 meanPathDelayValid flag
16.11.4.2.4.3 scaledNeighborRateRatioValid flag
16.11.4.2.5 sequenceId[i] (UInteger16)
16.11.4.2.6 offsetFromMaster[i] (TimeInterval)
16.11.4.2.7 meanPathDelay[i] (TimeInterval)
16.11.4.2.8 scaledNeighborRateRatio[i] (Integer32)
16.11.5 Egress Event Monitor TLVs
16.11.5.1 SLAVE_TX_EVENT_TIMESTAMPS TLV specification
16.11.5.1.1 tlvType
16.11.5.1.2 lengthField
16.11.5.1.3 sourcePortIdentity (PortIdentity)
16.11.5.1.4 eventMessageType (Enumeration4)
16.11.5.1.5 sequenceId[i] (UInteger16)
16.11.5.1.6 eventEgressTimestamp[i] (Timestamp)
16.11.6 slaveMonitoringPortDS data set member specifications
16.11.6.1 General
16.11.6.2 slaveMonitoringPortDS.slaveEventMonitoringEnable
16.11.6.3 slaveMonitoringPortDS.slaveEventMonitoringEventsPerRxSyncTimingTLV
16.11.6.4 slaveMonitoringPortDS.slaveEventMonitoringEventsPerRxSyncComputedTLV
16.11.6.5 slaveMonitoringPortDS.slaveEventMonitoringEventsPerTxEventTimestampsTLV
16.11.6.6 slaveMonitoringPortDS.slaveEventMonitoringTxEventType
16.11.6.7 slaveMonitoringPortDS.slaveEventMonitoringRxSyncTimingEventMessageM
16.11.6.8 slaveMonitoringPortDS.slaveEventMonitoringRxSyncComputedEventMessageM
16.11.6.9 slaveMonitoringPortDS.slaveEventMonitoringTxEventTimestampsEventMessageM
16.12 Enhanced synchronization accuracy metrics (optional)
16.12.1 General
16.12.2 ENHANCED_ACCURACY_METRICS TLV specification
16.12.2.1 tlvType
16.12.2.2 lengthField
16.12.2.3 bcHopCount (UInteger8)
16.12.2.4 tcHopCount (UInteger8)
16.12.2.5 maxGmInaccuracy (TimeInterval)
16.12.2.6 varGmInaccuracy (Float64)
16.12.2.7 maxTransientInaccuracy (TimeInterval)
16.12.2.8 varTransientInaccuracy (Float64)
16.12.2.9 maxDynamicInaccuracy (TimeInterval)
16.12.2.10 varDynamicInaccuracy (Float64)
16.12.2.11 maxStaticInstanceInaccuracy (TimeInterval)
16.12.2.12 varStaticInstanceInaccuracy (Float64)
16.12.2.13 maxStaticMediumInaccuracy (TimeInterval)
16.12.2.14 varStaticMediumInaccuracy (Float64)
16.13 Message Length Extension (optional)
16.14 PTP integrated security mechanism (optional)
16.14.1 General
16.14.1.1 PTP message Enhancement
16.14.2 Requirements of the associated key management
16.14.3 Definition of the AUTHENTICATION TLV
16.14.3.1 tlvType
16.14.3.2 lengthField
16.14.3.3 SPP (UInteger8)
16.14.3.4 secParamIndicator (Boolean[8])
16.14.3.5 keyID (Octet [4])
16.14.3.6 disclosedKey (Octet[D])
16.14.3.7 sequenceNo (UInteger S)
16.14.3.8 RES (UInteger R)
16.14.3.9 ICV (UInteger K)
16.14.4 PTP message processing
16.14.4.1 General requirements
16.14.4.2 General Interactions with SAD and SPD
16.14.4.2.1 Inbound PTP messages
16.14.4.2.2 Outbound PTP messages
16.14.4.3 Outbound PTP message processing
16.14.4.3.1 Outgoing PTP message retransmission by Transparent Clocks
16.14.4.3.2 Integrity check value calculation
16.14.4.3.3 PTP message retransmission
16.14.4.3.4 Event PTP message transmit case
16.14.4.4 Inbound PTP message processing
16.14.4.4.1 Integrity check value calculation
16.14.4.4.2 PTP message processing:
16.14.4.4.2.1 Immediate security processing case
16.14.4.4.2.2 Delayed security processing case
17. State configuration options
17.1 General
17.2 Grandmaster clusters (optional)
17.2.1 General specification
17.2.2 Operation of the grandmaster cluster
17.2.3 grandmasterClusterDS data set specifications
17.2.3.1 General
17.2.3.2 Static members of the grandmasterClusterDS data set
17.2.3.2.1 grandmasterClusterDS.maxTableSize
17.2.3.3 Configurable members of the grandmasterClusterDS data set
17.2.3.3.1 grandmasterClusterDS.logQueryInterval
17.2.3.3.2 grandmasterClusterDS.actualTableSize
17.2.3.3.3 grandmasterClusterDS.portAddress
17.3 Alternate master (optional)
17.3.1 General
17.3.2 Transmission of messages by alternate masters
17.3.3 alternateMasterPortDS data set specifications
17.3.3.1 General
17.3.3.2 Configurable members of the alternateMasterPortDS data set
17.3.3.2.1 alternateMasterPortDS.numberOfAlternateMasters
17.3.3.2.2 alternateMasterPortDS.transmitAlternateMulticastSync
17.3.3.2.3 alternateMasterPortDS.logAlternateMulticastSyncInterval
17.3.4 Transmission of Delay_Req
17.3.5 Transmission of Delay_Resp
17.3.6 Summary of Messages for Alternate Master Option
17.4 Unicast discovery (optional)
17.4.1 General
17.4.2 Operation of unicast discovery
17.4.3 unicastDiscoveryPortDS data set specifications
17.4.3.1 General
17.4.3.2 Static members of the unicastDiscoveryPortDS data set
17.4.3.2.1 unicastDiscoveryPortDS.maxTableSize
17.4.3.3 Configurable members of the unicastDiscoveryPortDS data set
17.4.3.3.1 unicastDiscoveryPortDS.logQueryInterval
17.4.3.3.2 unicastDiscoveryPortDS.actualTableSize
17.4.3.3.3 unicastDiscoveryPortDS.portAddress
17.5 Acceptable master table (optional)
17.5.1 General
17.5.2 Operation of the acceptable master table
17.5.3 acceptableMasterTableDS data set specifications
17.5.3.1 General
17.5.3.2 AcceptableMaster derived data type
17.5.3.3 Static members of the acceptableMasterTableDS data set
17.5.3.3.1 acceptableMasterTableDS.maxTableSize
17.5.3.4 Configurable members of the acceptableMasterTableDS data set
17.5.3.4.1 acceptableMasterTableDS.actualTableSize
17.5.3.4.2 acceptableMasterTableDS.list
17.5.4 acceptableMasterPortDS data set specifications
17.5.4.1 General
17.5.4.2 Configurable members of the acceptableMasterPortDS data set
17.5.4.2.1 acceptableMasterPortDS.enable
17.6 Mechanism for external configuration of a PTP Instance’s PTP Port state (optional)
17.6.1 General specifications
17.6.2 defaultDS.externalPortConfigurationEnabled
17.6.3 externalPortConfigurationPortDS
17.6.3.1 General
17.6.3.2 externalPortConfigurationPortDS.desiredState
17.6.4 Specifications for the disabled state of this option
17.6.5 Specifications for the enabled state of this option
17.6.5.1 General
17.6.5.2 Value of the portDS.portState when this option is enabled
17.6.5.3 Departures from normal operation of the protocol when this option is enabled
17.6.5.4 Updating data sets when this option is enabled
17.6.5.5 Receipt of an Announce message from another PTP Instance
17.7 Reduced state sets and use of the feature (optional)
17.7.1 General specifications
17.7.2 Optional use of selected PTP Port states
17.7.3 Optional use of the feature
18. Interactions between PTP Instances in different PTP domains
18.1 General specifications
18.2 Interfaces enabling interdomain interactions
19. Compatibility of this edition with earlier and future editions
19.1 General
19.2 Compatibility between version 2 and future versions
19.3 Compatibility with IEEE Std 1588-2002
19.4 Compatibility between the PTP Instance conformant to this edition and the implementations conformant to IEEE Std 1588-2008
19.4.1 General
19.4.2 Revision of clause 6- “Clock synchronization model”
19.4.3 Clarification of terms
19.4.4 Updates to options present in 2008 edition
19.4.5 Revision of the specifications of a Transparent Clock
19.4.6 Special Ports
19.4.7 Revised specifications for domains
19.4.8 New options permitting management configuration of the states of PTP Ports
19.4.9 New rules on values for clockIdentity
19.4.10 Revision of Clause 8
19.4.11 New options and default profile for enhanced synchronization performance
19.4.12 Option for using cumulative rate ratios
19.4.13 Optional Common Mean Link Delay Service providing , and path delays in multi-domain PTP networks using the peer-to-peer delay mechanism
19.4.14 Options for greater security
20. Conformance
20.1 Conformance objective
20.2 PTP conformance requirements
20.2.1 General conformance specification
20.2.2 Transport conformance specification
20.2.3 PTP Profile conformance specification
20.3 PTP Profiles
20.3.1.1 General
20.3.1.2 PTP Profile recommendations
20.3.2 Specific PTP Profiles
20.3.3 PTP Profile specifications
Annex A (informative) Using the Precision Time Protocol (PTP)
Annex B (informative) Timescales and epochs in PTP
Annex C (normative)Transport of PTP over User Datagram Protocol over Internet Protocol Version 4
Annex D (normative) Transport of PTP over User Datagram Protocol over Internet Protocol Version 6
Annex E (normative) Transport of PTP over IEEE 802.3 transports
Annex F (normative) Transport of PTP over DeviceNET
Annex G (normative) Transport of PTP over ControlNET
Annex H (normative) Transport of PTP over IEC 61158 Type 10
Annex I (normative) Default PTP Profiles
Annex J (normative) Performance monitoring options (optional)
Annex K (informative) Suppression of rogue Announce messages
Annex L (normative)Layer-1 based synchronization performance enhancement (optional)
Annex M (informative) Sub-nanosecond synchronization using the High Accuracy Default PTP Profile
Annex N (informative) Calibration procedures
Annex O (informative) Example inter-domain interactions
Annex P (informative)Security
Annex Q (informative) Bibliography
Back cover