PTP SMPTE Profile Configuration
Overview
The IEEE 1588 v2 Precision Time Protocol (PTP) functionality is enhanced to support the Society of Motion Picture and Television Engineers (SMPTE) 2059-2 in OcNOS-SP 6.4.2.
The PTP is a protocol used to synchronize timing among the systems connected in computer networks; it is similar to Network Time Protocol (NTP), which does not have the capability to measure in nanoseconds. The timing capability to measure less than a microsecond is critical while broadcasting multimedia data such as audio, video, etc. The PTP is essential in scenarios where very accurate timing is required.
Currently, the PTP implementation is supported with the following profiles:
• ITU-T G.8275.1
• G.8275.2,
• G.8265.1
• Boundary Clock
• Interworking function (IWF)
• Synchronous Ethernet
• End-to-End (E2E) telecom profile for time/phase synchronization
Feature Characteristics
This section describes the PTP SMPTE 2059-2 time and frequency synchronization profile functionalities.
In a computer network, a system installed with a PTP module is called a Grand Master Clock, which performs the timing and synchronization with the other connected systems, called a Slave Clock. The PTP modules can include many timing profiles according to the functionality requirements.
The SMPTE PTP profile is based on IEEE Standard 1588-2008 and includes a description of parameters, their default values, and permitted ranges. This standard specifies a PTP for synchronizing audio/video equipment in a professional broadcast environment.
The SMPTE ST 2059-2 profile defines a point in time, the SMPTE Epoch, which is used for the alignment of real-time signals; formulae that specify the ongoing alignment of signals to time since the SMPTE Epoch; and formulae that specify the calculation of SMPTE ST 12-1 time address values and SMPTE ST 309 date values.
The SMPTE enhanced profile includes the following functionality:
• Implements appropriate algorithm to compare clocks and determines the best clock to use as a source clock
• Implements appropriate configuration management options
• Implements the appropriate path delay mechanisms, delay request-response or peer delay
• Defines the range and default values of all PTP configurable attributes and data set members.
• Defines the transport mechanisms as required, permitted, or prohibited.
• Defines the node types as required, permitted, or prohibited.
Limitations:
• The SMPTE timing profile is supported only on UFI-QUX and UFI-Q2 platforms.
• The new CLI Priority1 command is supported only on Default and SMPTE profiles
Benefits
The SMPTE PTP Profile is used for time and frequency synchronization in a professional multimedia broadcast environment. It provides the following benefits:
• To permit clocks to be synchronized quickly and accurately to enable professional media over IP applications.
• To convey Synchronization Metadata (SM) required for synchronization and time labeling of audio/video signals.
Prerequisites
The PTP process should be up and running.
Configuration
This chapter shows how to configure a PTP SMPTE profile over IPv4 and IPv6. You can configure T-GM and boundary clock with more than one port.S
Note: The SMPTE profile can be enabled on L2/L3 physical interfaces, Sub interfaces, LAG interfaces and VLAN interfaces.
Topology
Describe the topology
SMPTE PTP Configuration Toplogy
In this example, SW1, SW2 and SW3 are running PTP. SW1 acting as T-GM, SW2 as a boundary clock and SW3 as a slave clock.
SW1 Telecom Grandmaster (T-GM)
Perform the following configurations to set T-GM clock.
#configure terminal | Enter Configure mode |
(config)#synce | Enter configure Synchronous Ethernet mode. |
(config-synce)#synchronization option 1 | Set the synchronization network type. |
(config-synce)#exit | Exit Synce mode. |
(config)#synce-interface gps | Configure synce interface GPS. |
(config-synce-if)#mode synchronous | Configure synchronous mode. |
(config-synce-if)#input-source 1 | Configure the interface as an input source with priority 1. |
(config-synce-if)#quality-level QL_PRC | Configure QL-value. |
(config-synce-if)#wait-to-restore 1 | Configure Wait-to-Restore timer. |
(config-synce-if)#exit | Exit Port Configure mode. |
(config)#interface eth1 | Configure interface eth2. |
(config-if)#ip address 192.168.4.101/24 | Configure the IP address of the interface. |
(config-if)#exit | Exit interface mode. |
(config)#ptp clock 0 profile smpte | Enables smpte PTP profile. |
(config)# sm-tlv default-frame-rate 4294967295 4294967294 | Enables sm tlv colour frame rate value. |
(config)# sm-tlv time-address-flags color-frame | Enables sm-tlv time flag as color frame. |
(config)# sm-tlv time-address-flags drop-frame | Enables sm-tlv time flag as drop frame. |
(config-ptp-clk)#clock-type tgm | Enables clock type as T-GM. |
(config-ptp-clk)#number-ports 2 | Configure the number of PTP ports on the instance. |
(config-ptp-clk)#clock-port 2 | Configure PTP port. |
(config-clk-port)#transport ipv4-multicast | Set the transport type as IPv4 multicast. |
(config-clk-port)#network-interface eth1 | Configure underlying interface that is used by this PTP Port. |
(config-clk-port)#exit | Exit PTP clock port mode. |
(config-ptp-clk)#clock-port 1 | Configure PTP port. |
(config-clk-port)#network-interface gps | Configure underlying interface that is used by this PTP Port. |
(config-clk-port)#exit | Exit PTP clock port mode. |
SW2 Boundary Clock (BC)
Perform the following configuration to set Boundary clock. It can function as both Grand Master and Slave to another PTP clock.
#configure terminal | Enter Configure mode. |
(config)#interface eth1 | Configure interface eth1. |
(config-if)#ip address 192.168.4.100/24 | Configure the IP address of the interface. |
(config)#interface eth2 | Configure interface eth1. |
(config-if)#ip address 192.168.5.100/24 | Configure the IP address of the interface. |
(config)#ptp clock 0 profile smpte | Enables SMPTE for PTP time/phase telecom profile. |
(config-ptp-clk)#number-ports 2 | Configure the number of PTP ports on the instance. |
(config-ptp-clk)#clock-port 1 | Configure PTP port. |
(config-clk-port)#transport ipv4-multicast | Set transport type IPv4 as multicast. |
(config-clk-port)#network-interface eth1 | Configure underlying interface that is used by this PTP Port. |
(config-ptp-clk)#clock-port 2 | Configure PTP port. |
(config-clk-port)#transport ipv4-multicast | Set transport type IPv4 as multicast. |
(config-clk-port)#network-interface eth2 | Configure underlying interface that is used by this PTP Port. |
(config-clk-port)#exit | Exit PTP clock port mode. |
SW3 Slave Clock (SC)
Perform the following configuration to set Slave clock.
#configure terminal | Enter Configure mode. |
(config)#interface eth2 | Configure interface eth2. |
(config-if)#ip address 192.168.5.101/24 | Configure the IP address of the interface. |
(config-if)#exit | Exit interface mode. |
(config)#ptp clock 0 profile smpte | Enables SMPTE PTP profile. |
(config-ptp-clk)#number-ports 2 | Configure the number of PTP ports on the instance. |
(config-ptp-clk)#slave-only | Configure the device as a Slave clock. |
(config-ptp-clk)#clock-port 1 | Configure PTP port. |
(config-clk-port)#transport ipv4-multicast | Set transport type IPv4 as multicast. |
(config-clk-port)#network-interface eth2 | Configure underlying interface that is used by this PTP Port. |
(config-clk-port)#exit | Exit PTP clock port mode. |
Validation
SW2(BC)
#show ptp clock 0
PTP Clock Profile : smpte
Default Dataset:
Two Step Flag : No
Clock Identity : 5C:07:58:FF:FE:54:12:02
Number Of Ports : 2
Priority1 : 128
Priority2 : 128
Slave Only : No
Local Priority : 128
Max Steps Removed : 255
Domain Number : 127
Clock Quality :
Clock Class : 248
Clock Accuracy : 254
Offset ScaledLogVariance : 65535
Current Dataset:
Steps Removed : 1
Offset From Master : -5318 nsec
Mean Path Delay : 89 nsec
Parent Dataset:
Parent Port ID :
Clock Identity : 5C:07:58:FF:FE:51:13:09
Port Number : 2
Parent Stats : No
Observed Parent O.S.L.V : 65535 (Offset Scaled Log Variance)
Observed Parent P.C.R. : 2147483647 (Phase Change Rate)
Grandmaster Identity : 5C:07:58:FF:FE:51:13:09
Grandmaster Priority1 : 128
Grandmaster Priority2 : 128
Grandmaster Clock Quality :
Clock Class : 248
Clock Accuracy : 32
Offset ScaledLogVariance : 20061
Time Dateset:
Current UTC Offset Valid : True
Current UTC Offset : 37
Leap 59 : False
Leap 61 : False
Time Traceable : True
Frequency Traceable : True
PTP Timescale : True
Time Source : Global positioning system
Time of Day : Fri 10 Nov 2023 07:52:31 UTC
2. show ptp clock 0 port 1
Port 1:
Port State : Slave
Port Identity : 5C:07:58:FF:FE:54:12:02:00:01
Peer Mean Path Delay : 89
Log Announce Interval : 0
Log Min Delay Req Interval : -3
Log Sync Interval : -3
Announce Receipt Timeout : 3
Delay Mechanism : End to end
Version Number : 2
Local Priority : 128
Master only : False
Signal Fail : False
Network Interface : cd20/1
Vlan Configured :
Description :
TTL : 64
DSCP : 56
Unicast Grant Duration : 300
Configured delay asymmetry : 0 nsec
Number of Foreign Masters : 1
Current Foreign Master : 0
Foreign Master #0
IPv4 Address : 192.168.4.100
Grandmaster clockIdentity : 5C:07:58:FF:FE:51:13:09
Port ID : 5C:07:58:FF:FE:51:13:09:00:02
clockClass : 6
Clock accuracy : 32
Offset scaled log variance : 20061
priority1 : 128
priority2 : 128
Steps removed : 1
Received Packets : 20087
Discarded Packets : 74
Transmitted Packets : 8929
Peer #0
IPv4 Address : 192.168.4.100
Clock Identity : 5c:07:58:ff:fe:51:13:09
Received Announce : 1115
Received Sync : 8926
Received Delay Request : 41
Received Delay Response : 8894
Received Management : 1111
Transmitted Announce : 4
Transmitted Sync : 28
Transmitted Delay Request : 8894
Transmitted Management : 3
SMPTE Sync Metadata:
Default frame rate : 0xfffffffffffffffe
GM Lock Status : 4
Time Address Flags : 0x03
Current Local Offset : -37
Jump Seconds : 0
Time of Next Jump : 0x000000000000
Time of Next Jam : 0x000000000000
Time of Previous Jam : 0x000000000000
Previous Jam Local Offset : 0
Daylight Saving : 0x00
Leap Second Jump : 0x00
Master #0 : 192.168.4.100
3. show ptp servo
PTP servo status for clock 0
Servo Config : Freq + Phase Correction
Servo State : Time Locked
Servo State Duration : 00:00:28
Servo APTS Mode : N/A
Frequency Correction : 24.887 ppb
Phase Correction : -370500000.000 nsec
Offset From Master : -317 nsec
Mean Path Delay : 89 nsec
APTS GPS to PTP Offset : N/A
Sync Packet Rate : 8
Delay Packet Rate : 8
SW3(Slave clock)
1. show ptp clock 0
PTP Clock Profile : smpte
Default Dataset:
Two Step Flag : No
Clock Identity : E8:C5:7A:FF:FE:DA:68:CF
Number Of Ports : 1
Priority1 : 128
Priority2 : 255
Slave Only : Yes
Local Priority : 128
Max Steps Removed : 255
Domain Number : 127
Clock Quality :
Clock Class : 255
Clock Accuracy : 254
Offset ScaledLogVariance : 65535
Current Dataset:
Steps Removed : 0
Offset From Master : 0 nsec
Mean Path Delay : 0 nsec
Parent Dataset:
Parent Port ID :
Clock Identity : E8:C5:7A:FF:FE:DA:68:CF
Port Number : 0
Parent Stats : No
Observed Parent O.S.L.V : 65535 (Offset Scaled Log Variance)
Observed Parent P.C.R. : 2147483647 (Phase Change Rate)
Grandmaster Identity : E8:C5:7A:FF:FE:DA:68:CF
Grandmaster Priority1 : 128
Grandmaster Priority2 : 255
Grandmaster Clock Quality :
Clock Class : 255
Clock Accuracy : 254
Offset ScaledLogVariance : 65535
Time Dateset:
Current UTC Offset Valid : True
Current UTC Offset : 37
Leap 59 : False
Leap 61 : False
Time Traceable : False
Frequency Traceable : False
PTP Timescale : True
Time Source : Internal Oscillator
Time of Day : Thu 01 Jan 1970 00:05:58 UTC
2. show ptp clock 0 port 1
Port 1:
Port State : Slave
Port Identity : E8:C5:7A:FF:FE:DA:68:CF:00:01
Peer Mean Path Delay : 2974
Log Announce Interval : 0
Log Min Delay Req Interval : -3
Log Sync Interval : -3
Announce Receipt Timeout : 3
Delay Mechanism : End to end
Version Number : 2
Local Priority : 128
Master only : False
Signal Fail : False
Network Interface : ce2
Vlan Configured :
Description :
TTL : 64
DSCP : 56
Unicast Grant Duration : 300
Configured delay asymmetry : 0 nsec
Number of Foreign Masters : 1
Current Foreign Master : 0
Foreign Master #0
IPv4 Address : 192.168.4.100
Grandmaster clockIdentity : 5C:07:58:FF:FE:51:13:09
Port ID : 5C:07:58:FF:FE:51:13:09:00:02
clockClass : 6
Clock accuracy : 32
Offset scaled log variance : 20061
priority1 : 128
priority2 : 128
Steps removed : 1
Received Packets : 210
Discarded Packets : 33
Transmitted Packets : 82
Peer #0
IPv4 Address : 192.168.4.100
Clock Identity : 5c:07:58:ff:fe:51:13:09
Received Announce : 15
Received Sync : 114
Received Delay Response : 82
Transmitted Delay Request : 82
Master #0 : 192.168.4.100
3. show ptp servo
PTP servo status for clock 0
Servo Config : Freq + Phase Correction
Servo State : Time Locked
Servo State Duration : 00:01:09
Servo APTS Mode : N/A
Frequency Correction : -11.610 ppb
Phase Correction : -86000000.000 nsec
Offset From Master : -4 nsec
Mean Path Delay : -52 nsec
APTS GPS to PTP Offset : N/A
Sync Packet Rate : 8
Delay Packet Rate : 8
SW1(T-GM)
1. show ptp servo
PTP servo status for clock 0
Servo Config : Freq + Phase Correction
Servo State : Time Locked
Servo State Duration : 00:11:16
Servo APTS Mode : GPS
Frequency Correction : -234.160 ppb
Phase Correction : 0.000 nsec
Offset From Master : 0 nsec
Mean Path Delay : 0 nsec
APTS GPS to PTP Offset : N/A
Sync Packet Rate : 8
Delay Packet Rate : 8
2. show ptp clock 0
PTP Clock Profile : smpte
Default Dataset:
Two Step Flag : No
Clock Identity : 5C:07:58:FF:FE:51:13:09
Number Of Ports : 2
Priority1 : 128
Priority2 : 128
Slave Only : No
Local Priority : 128
Max Steps Removed : 255
Domain Number : 127
Clock Quality :
Clock Class : 248
Clock Accuracy : 254
Offset ScaledLogVariance : 65535
Current Dataset:
Steps Removed : 0
Offset From Master : 0 nsec
Mean Path Delay : 0 nsec
Parent Dataset:
Parent Port ID :
Clock Identity : 5C:07:58:FF:FE:51:13:09
Port Number : 0
Parent Stats : No
Observed Parent O.S.L.V : 65535 (Offset Scaled Log Variance)
Observed Parent P.C.R. : 2147483647 (Phase Change Rate)
Grandmaster Identity : 5C:07:58:FF:FE:51:13:09
Grandmaster Priority1 : 128
Grandmaster Priority2 : 128
Grandmaster Clock Quality :
Clock Class : 6
Clock Accuracy : 32
Offset ScaledLogVariance : 20061
Time Dateset:
Current UTC Offset Valid : True
Current UTC Offset : 37
Leap 59 : False
Leap 61 : False
Time Traceable : True
Frequency Traceable : True
PTP Timescale : True
Time Source : Global positioning system
Time of Day : Fri 10 Nov 2023 04:33:40 UTC
3. show ptp clock 0 port 1
Port 1:
Port State : Slave
Port Identity : 5C:07:58:FF:FE:51:13:09:00:01
Peer Mean Path Delay : 0
Log Announce Interval : 0
Log Min Delay Req Interval : -3
Log Sync Interval : -3
Announce Receipt Timeout : 3
Delay Mechanism : Disabled
Version Number : 2
Local Priority : 0
Master only : False
Signal Fail : False
Network Interface : gps
Vlan Configured :
Description :
TTL : 64
DSCP : 56
Unicast Grant Duration : 300
Configured delay asymmetry : 0 nsec
Received Packets : 0
Discarded Packets : 0
Transmitted Packets : 0
Note: Use show ptp stats to collect the PTP statistics and use clear ptp stats to clear the same.
Implementation Examples
Gather typical use cases for this feature. Your information must include the following:
• Where a customer will enable or disable this feature.
• Cover how the new feature works with other existing features?
Note: Work with SE's and TAC to request and understand customer use cases.
New CLI Commands
Following are the new CLIs introduced in this feature.
sm-tlv time-address-flags color-frame
Use this command to set sm-tlv color frame. Applicable only for smpte profile.
Use the no form of this command to unconfigure sm-tlv color-frame.
Command Syntax
sm-tlv time-address-flags color-frame
no sm-tlv time-address-flags color-frame
Parameters
None
Default
None
Command Mode
PTP Clock mode
Applicability
This command was introduced in the OcNOS version 6.4.2.
Example
Following is an example to execute the CLI.
OcNOS(config)#ptp clock 0 profile smpte
OcNOS(config-ptp-clk)#sm-tlv time-address-flags color-frame
OcNOS(config)#ptp clock 0 profile smpte
OcNOS(config-ptp-clk)#no sm-tlv time-address-flags color-frame
sm-tlv time-address-flags drop-frame
Use this command to set sm-tlv drop frame. Applicable only for SMPTE profile.
Use the no form of this command to unconfigure sm-tlv drop-frame.
Command Syntax
sm-tlv time-address-flags drop-frame
no sm-tlv time-address-flags drop-frame
Parameters
None
Default
None
Command Mode
PTP Clock mode
Applicability
This command was introduced in the OcNOS version 6.4.2.
Example
Following is an example to execute the CLI.
OcNOS(config)#ptp clock 0 profile smpte
OcNOS(config-ptp-clk)#sm-tlv time-address-flags drop-frame
OcNOS(config)#ptp clock 0 profile smpte
OcNOS(config-ptp-clk)#no sm-tlv time-address-flags drop-frame
sm-tlv default-frame-rates
Use this command to set the default frame rate. Applicable only for SMPTE profile.For example, if the video default frame rate is 30000/1001 Hz, set first argument to numerator value (i.e 30000) and second argument to denominator value (i.e 1001).
Use the no form of this command to unconfigure default frame rates.
Command Syntax
sm-tlv default-frame-rates <numerator> <denominator>
no sm-tlv default-frame-rates
Parameters
Numerator
Setting numerator for the default system frame rate
Denominator
Setting denominator for the default system frame rate
Default
None
Command Mode
PTP Clock mode
Applicability
This command was introduced in the OcNOS version 6.4.2.
Example
Following is an example to execute the CLI.
OcNOS(config)#ptp clock 0 profile smpte
OcNOS(config-ptp-clk)# sm-tlv default-frame-rate 30000 1001
OcNOS(config)#ptp clock 0 profile smpte
OcNOS(config-ptp-clk)# no sm-tlv default-frame-rate
sm-tlv append disable
Use this command to disable tlv append. Applicable only for SMPTE profile.
Use the no form of this command to unconfigure sm-tlv append disable.
Command Syntax
sm-tlv append disable
[no]sm-tlv append disable
Parameters
None
Default
The sm-tlv append is enabled.
Command Mode
PTP Clock Port mode
Applicability
This command was introduced in the OcNOS version 6.4.2.
Example
Following is an example to execute the CLI.
OcNOS(config)#ptp clock 0 profile smpte
OcNOS(config-ptp-clk)#clock-port 1
OcNOS(config-clk-port)#sm-tlv append disable
OcNOS(config)#ptp clock 0 profile smpte
OcNOS(config-ptp-clk)#clock-port 1
OcNOS(config-clk-port)#no sm-tlv append disable
sm-tlv process disable
Use this command to disable tlv processing. Applicable only for smpte profile.
Use the no form of this command to unconfigure sm-tlv process disable.
Command Syntax
sm-tlv process disable
no sm-tlv process disable
Parameters
None
Default
The sm-tlv process is enabled.
Command Mode
PTP Clock Port mode
Applicability
This command was introduced in the OcNOS version 6.4.2.
Example
Following is an example to execute the CLI.
OcNOS(config)#ptp clock 0 profile smpte
OcNOS(config-ptp-clk)#clock-port 1
OcNOS(config-clk-port)#sm-tlv process disable
OcNOS(config)#ptp clock 0 profile smpte
OcNOS(config-ptp-clk)#clock-port 1
OcNOS(config-clk-port)#no sm-tlv process disable
transport ipv6-multicast type
Use this command to set transport type as ipv6 multicast and we can specify the multicast address type. Applicable for G.8275.2 profile, G 8265.1, SMPTE profile and default profile.
Use the no form of this command to unconfigure transport-type.
Command Syntax
transport ipv6-multicast type (site-local|interface-local|link-local|admin-local|organization-local|global-local)
no transport ipv6-multicast type
Parameters
Site-local
- ff05::181
interface-local
- ff01::181
link-local
- ff02::181
admin-local
- ff04::181
organization-local
- ff08::181
global-local
- ff0e::181
Default
None
Command Mode
PTP Clock Port mode
Applicability
This command was introduced in the OcNOS version 6.4.2.
Example
Explain or describe the example.
OcNOS(config)#ptp clock 0 profile smpte
OcNOS(config-ptp-clk)#clock-port 1
OcNOS(config-clk-port)#transport ipv6-multicast type admin-local
OcNOS(config)#ptp clock 0 profile smpte
OcNOS(config-ptp-clk)#clock-port 1
OcNOS(config-clk-port)#transport ipv6-multicast type global-local
OcNOS(config)#ptp clock 0 profile smpte
OcNOS(config-ptp-clk)#clock-port 1
OcNOS(config-clk-port)#no transport ipv6-multicast type
Existing CLI Commands
The following existing CLIs are applicable for SMPT profile.
The following existing CLIs are updated for SMPT profile.
For complete CLI command information, refer to
PTP Commands section.
Abbreviations
Acronym | Description |
OC | Ordinary Clock |
BC | Boundary Clock |
SMPTE | The Society of Motion Picture and Television Engineers |
TC | Transparent Clock |
T-GM | Telecom Grandmaster |
T-TSC | Telecom Time Slave Clock |
Glossary
The following provides definitions for key terms used throughout this document.
SMPTE | The SMPTE ST 2059-2 profile defines a point in time, the SMPTE Epoch, which is used for alignment of real-time signals; formulae which specify the ongoing alignment of signals to time since the SMPTE Epoch; and formulae which specify the calculation of SMPTE ST 12-1 time address values and SMPTE ST 309 date values. |
PTP | A protocol that synchronizes clocks throughout a computer network. On a LAN, PTP achieves clock accuracy in the sub-microsecond range, making it suitable for measurement and control systems. The time synchronization is achieved through packets that are transmitted and received in a session between a master clock and a slave clock. Defined by IEEE 1588v2. |