Configuring PTP
This chapter describes how to configure the Precision Time Protocol (PTP) on Cisco NX-OS devices.
This chapter includes the following sections:
Information About PTP
This section includes the following topics:
PTP Overview
PTP is a time synchronization protocol for nodes distributed across a network. Its hardware timestamp feature provides greater accuracy than other time synchronization protocols such as Network Time Protocol (NTP).
A PTP system can consist of a combination of PTP and non-PTP devices. PTP devices include ordinary clocks, boundary clocks, and transparent clocks. Non-PTP devices include ordinary network switches, routers, and other infrastructure devices.
PTP is a distributed protocol that specifies how real-time PTP clocks in the system synchronize with each other. These clocks are organized into a master-member synchronization hierarchy with the grandmaster clock, the clock at the top of the hierarchy, determining the reference time for the entire system. Synchronization is achieved by exchanging PTP timing messages, with the members using the timing information to adjust their clocks to the time of their master in the hierarchy. PTP operates within a logical scope called a PTP domain.
PTP Device Types
The following clocks are common PTP devices:
- Ordinary clock —Communicates with the network based on a single physical port, similar to an end host. An ordinary clock can function as a grandmaster clock.
- Boundary clock —Typically has several physical ports, with each port behaving like a port of an ordinary clock. However, each port shares the local clock, and the clock data sets are common to all ports. Each port decides its individual state, either master (synchronizing other ports connected to it) or member (synchronizing to a downstream port), based on the best clock available to it through all of the other ports on the boundary clock. Messages related to synchronization and establishing the master-member hierarchy terminate in the protocol engine of a boundary clock and are not forwarded.
- Transparent clock —Forwards all PTP messages like an ordinary switch or router but measures the residence time of a packet in the switch (the time that the packet takes to traverse the transparent clock) and in some cases the link delay of the ingress port for the packet. The ports have no state because the transparent clock does not need to synchronize to the grandmaster clock.
– End-to-end transparent clock —Measures the residence time of a PTP message and accumulates the times in the correction field of the PTP message or an associated follow-up message.
– Peer-to-peer transparent clock —Measures the residence time of a PTP message and computes the link delay between each port and a similarly equipped port on another node that shares the link. For a packet, this incoming link delay is added to the residence time in the correction field of the PTP message or an associated follow-up message.
Note In Cisco NX-OS Release 5.2, PTP operates only in boundary clock mode. End-to-end transparent clock and peer-to-peer transparent clock modes are not supported.
PTP Process
The PTP process consists of two phases: establishing the master-member hierarchy and synchronizing the clocks.
Within a PTP domain, each port of an ordinary or boundary clock follows this process to determine its state:
- Examines the contents of all received announce messages (issued by ports in the master state)
- Compares the data sets of the foreign master (in the announce message) and the local clock for priority, clock class, accuracy, and so on
- Based on this comparison, determines its own state as either master or member
After the master-member hierarchy has been established, the clocks are synchronized as follows:
- The master sends a synchronization message to the member and notes the time it was sent.
- The member receives the synchronization message and notes the time it was received.
- The member sends a delay-request message to the master and notes the time it was sent.
- The master receives the delay-request message and notes the time it was received.
- The master sends a delay-response message to the member.
- The member uses these timestamps to adjust its clock to the time of its master.
Pong
The network-monitoring tool Pong leverages the PTP’s time synchronization infrastructure to diagnose the health of the network. Pong measures port-to-port delays and is similar to the network-monitoring utility Ping but provides for a greater depth of network diagnostics. For more information on Pong, see the Cisco Nexus 7000 Series NX-OS Troubleshooting Guide.
Clock Manager
Clocks are resources that need to be shared across different processes and across different VDCs. Multiple time synchronization protocols (such as NTP and PTP) might be running in the system, and multiple instances of the same protocol might be running in different VDCs. The clock manager allows you to specify the protocol and a VDC running that protocol to control the various clocks in the system. For information on configuring the clock manager, see the Cisco Nexus 7000 Series NX-OS Fundamentals Configuration Guide, Release 5.x.
High Availability
Stateful restarts are supported for PTP. After a reboot or a supervisor switchover, the running configuration is applied. For more information on high availability, see the Cisco Nexus 7000 Series NX-OS High Availability and Redundancy Guide, Release 5.x.
Virtualization Support
Cisco NX-OS supports multiple instances of PTP, one instance per virtual device context (VDC). By default, Cisco NX-OS places you in the default VDC unless you specifically configure another VDC. For more information about VDCs, see the Cisco Nexus 7000 Series NX-OS Virtual Device Context Configuration Guide, Release 5.x.
Licensing Requirements for PTP
|
|
Cisco NX-OS |
PTP requires no license. Any feature not included in a license package is bundled with the Cisco NX-OS system images and is provided at no extra charge to you. For a complete explanation of the Cisco NX-OS licensing scheme, see the Cisco NX-OS Licensing Guide. |
Prerequisites for PTP
PTP has the following prerequisites:
- To configure VDCs, you must install the Advanced Services license. See the Cisco Nexus 7000 Series NX-OS Virtual Device Context Configuration Guide, Release 5.x.
Guidelines and Limitations
PTP has the following configuration guidelines and limitations:
- In Cisco NX-OS Release 5.2, PTP operates only in boundary clock mode. End-to-end transparent clock and peer-to-peer transparent clock modes are not supported.
- Only one PTP process can control all of the port clocks through the clock manager.
- PTP supports transport over User Datagram Protocol (UDP). Transport over Ethernet is not supported.
- PTP supports only multicast communication. Negotiated unicast communication is not supported.
- PTP is limited to a single domain per network.
- All management messages are forwarded on ports on which PTP is enabled. Handling management messages is not supported.
- PTP can be enabled only on F1 Series module ports.
- PTP-capable ports do not identify PTP packets and do not time-stamp or redirect those packets unless you enable PTP on those ports.
- For F1 Series modules, PTP is not supported on the port if priority flow control is enabled. Similarly, priority flow control is not supported if PTP is enabled on the same port.
- For F1 Series modules, Pong is not supported on the VDC if priority flow control is enabled on any of the ports in the same VDC. Similarly, priority flow control is not supported if Pong is enabled in the same VDC.
Default Settings
Table 6-1 lists the default settings for PTP parameters.
Table 6-1 Default PTP Parameters
|
|
PTP |
Disabled |
PTP domain |
0 |
PTP priority1 value when advertising the clock |
255 |
PTP priority2 value when advertising the clock |
255 |
PTP announce interval |
1 (one packet every 2 seconds) |
PTP sync interval |
2 (one packet every 4 seconds) |
PTP announce timeout |
3 |
PTP minimum delay request interval |
2 (one packet every 4 seconds) |
PTP VLAN |
1 |
Configuring PTP
This section includes the following topics:
Configuring PTP Globally
You can enable or disable PTP globally on a device. You can also configure various PTP clock parameters to help determine which clock in the network has the highest priority to be selected as the grandmaster.
BEFORE YOU BEGIN
Make sure that you are in the correct VDC. To change the VDC, use the switchto vdc command.
SUMMARY STEPS
1. config t
2. [no] feature ptp
3. [no] ptp source ip-address [ vrf vrf]
4. (Optional) [no] ptp domain number
5. (Optional) [no] ptp priority1 value
6. (Optional) [no] ptp priority2 value
7. (Optional) show ptp brief
8. (Optional) show ptp clock
9. (Optional) copy running-config startup-config
DETAILED STEPS
|
|
|
Step 1 |
config t Example: switch# config t Enter configuration commands, one per line. End with CNTL/Z. switch(config)# |
Places you in global configuration mode. |
Step 2 |
[no] feature ptp Example: switch(config)# feature ptp |
Enables or disables PTP on the device. |
Step 3 |
[no] ptp source ip-address [ vrf vrf] Example : switch(config)# ptp source 192.0.2.1 |
Configures the source IP address for all PTP packets. The ip-address can be in IPv4 format. |
Step 4 |
[no] ptp domain number Example : switch(config)# ptp domain 1 |
(Optional) Configures the domain number to use for this clock. PTP domains allow you to use multiple independent PTP clocking subdomains on a single network. The range is from 0 to 128. |
Step 5 |
[no] ptp priority1 value Example : switch(config)# ptp priority1 10 |
(Optional) Configures the priority1 value to use when advertising this clock. This value overrides the default criteria (clock quality, clock class, and so on) for best master clock selection. Lower values take precedence. The range is from 0 to 255. |
Step 6 |
[no] ptp priority2 value Example : switch(config)# ptp priority2 20 |
(Optional) Configures the priority2 value to use when advertising this clock. This value is used to decide between two devices that are otherwise equally matched in the default criteria. For example, you can use the priority2 value to give a specific switch priority over other identical switches. The range is from 0 to 255. |
Step 7 |
show ptp brief Example: switch(config)# show ptp brief |
(Optional) Displays the PTP status. |
Step 8 |
show ptp clock Example: switch(config)# show ptp clock |
(Optional) Displays the properties of the local clock. |
Step 9 |
copy running-config startup-config Example:
switch(config)# copy running-config startup-config
|
(Optional) Saves the change persistently through reboots and restarts by copying the running configuration to the startup configuration. |
Configuring PTP on an Interface
After you globally enable PTP, it is not enabled on all supported interfaces by default. You must enable PTP on individual interfaces.
BEFORE YOU BEGIN
Make sure that you are in the correct VDC. To change the VDC, use the switchto vdc command.
Make sure that you have globally enabled PTP on the device and configured the source IP address for PTP communication.
SUMMARY STEPS
1. config t
2. interface ethernet slot / port
3. [no] ptp
4. (Optional) [no] ptp announce { interval seconds | timeout count }
5. (Optional) [no] ptp delay-request minimum interval seconds
6. (Optional) [no] ptp sync interval seconds
7. (Optional) [no] ptp vlan vlan
8. (Optional) show ptp brief
9. (Optional) show ptp port interface interface slot/port
10. (Optional) copy running-config startup-config
DETAILED STEPS
|
|
|
Step 1 |
config t Example: switch# config t Enter configuration commands, one per line. End with CNTL/Z. switch(config)# |
Places you in global configuration mode. |
Step 2 |
interface ethernet slot / port Example: switch(config)# interface ethernet 7/1 switch(config-if) |
Specifies the interface on which you are enabling PTP and enters the interface configuration mode. |
Step 3 |
[no] ptp Example: switch(config-if)# ptp |
Enables or disables PTP on an interface. |
Step 4 |
[no] ptp announce {interval seconds | timeout count } Example: switch(config-if)# ptp announce interval 1 |
(Optional) Configures the interval between PTP announce messages on an interface or the number of PTP intervals before a timeout occurs on an interface. The range for the PTP announcement interval is from 0 to 4 log seconds, and the range for the interval timeout is from 2 to 10. |
Step 5 |
[no] ptp delay-request minimum interval seconds Example: switch(config-if)# ptp delay-request minimum interval 3 |
(Optional) Configures the minimum interval allowed between PTP delay-request messages when the port is in the master state. The range is from –1 to 6 log seconds. |
Step 6 |
[no] ptp sync interval seconds Example: switch(config-if)# ptp sync interval 1 |
(Optional) Configures the interval between PTP synchronization messages on an interface. The range is from –1 to 2 log seconds. |
Step 7 |
[no] ptp vlan vlan Example: switch(config-if)# ptp vlan 10 |
(Optional) Configures the PTP VLAN value on an interface. The range is from 1 to 4094. |
Step 8 |
show ptp brief Example: switch(config)# show ptp brief |
(Optional) Displays the PTP status. |
Step 9 |
show ptp port interface interface slot / port Example: switch(config-if)# show ptp port interface ethernet 7/1 |
(Optional) Displays the status of the PTP port. |
Step 10 |
copy running-config startup-config Example:
switch(config-if)# copy running-config startup-config
|
(Optional) Saves the change persistently through reboots and restarts by copying the running configuration to the startup configuration. |
Verifying the PTP Configuration
To display the PTP configuration, perform one of the following tasks:
|
|
show ptp brief |
Displays the PTP status. |
show ptp clock |
Displays the properties of the local clock. |
show ptp clock foreign-masters record [interface interface slot/port] |
Displays the state of foreign masters known to the PTP process. For each foreign master, the output displays the clock identity, basic clock properties, and whether the clock is being used as a grandmaster. |
show ptp corrections |
Displays the last few PTP corrections. |
show ptp parent |
Displays the properties of the PTP parent. |
show ptp port interface interface slot/port |
Displays the status of the PTP port. |
show ptp time-property |
Displays the properties of the PTP clock. |
Configuration Examples for PTP
This example shows how to configure PTP globally on the device, specify the source IP address for PTP communications, and configure a preference level for the clock:
switch(config)# feature ptp
switch(config)# ptp source 10.10.10.1
switch(config)# ptp priority1 1
switch(config)# ptp priority2 1
switch(config)# show ptp brief
switch(config)# show ptp clock
PTP Device Type: Boundary clock
Clock Identity : 0:22:55:ff:ff:79:a4:c1
Offset (log variance) : 65535
Local clock time:Sun Jul 3 14:13:24 2011
This example shows how to configure PTP on an interface and configure the intervals for the announce, delay-request, and synchronization messages:
switch(config)# interface ethernet 2/1
switch(config-if)# ptp announce interval 3
switch(config-if)# ptp announce timeout 2
switch(config-if)# ptp delay-request minimum interval 4
switch(config-if)# ptp sync interval -1
switch(config-if)# show ptp brief
switch(config-if)# show ptp port interface ethernet 2/1
Port identity: clock identity: 0:22:55:ff:ff:79:a4:c1
Port identity: port number: 1028
Delay request interval(log mean): 4
Announce receipt time out: 2
Announce interval(log mean): 3
Sync interval(log mean): -1
Delay Mechanism: End to End
Peer delay request interval(log mean): 0
Additional References
For additional information related to implementing PTP, see the following sections:
Related Documents
|
|
PTP CLI commands |
Cisco Nexus 7000 Series NX-OS System Management Command Reference, Release 5.x |
Pong |
Cisco Nexus 7000 Series NX-OS Fundamentals Configuration Guide, Release 5.x |
Clock manager |
Cisco Nexus 7000 Series NX-OS Fundamentals Configuration Guide, Release 5.x |
VDCs |
Cisco Nexus 7000 Series NX-OS Virtual Device Context Configuration Guide, Release 5.x |
Feature History for PTP
Table 6-2 lists the release history for this feature.
Table 6-2 Feature History for PTP
|
|
|
PTP |
5.2(1) |
This feature was introduced. |