Configuring Precision Time Protocol

Precision Time Protocol (PTP) is a protocol that defines a method to distribute time around a network. PTP support is based on the IEEE 1588-2008 standard.

This module describes the concepts around this protocol and details the various configurations involved. For information on PTP commands, see System Management Command Reference for Cisco ASR 9000 Series Routers.

This module contains the following topics:

Overview

The Precision Time Protocol (PTP), as defined in the IEEE 1588 standard, synchronizes with nanosecond accuracy the real-time clocks of the devices in a network. The clocks are organized into a server-client hierarchy. PTP identifies the port that is connected to a device with the most precise clock. This clock is referred to as the server clock. All the other devices on the network synchronize their clocks with the server and are referred to as members. Constantly-exchanged timing messages ensure continued synchronization. PTP ensures that the best available clock is selected as the source of time (the grandmaster clock) for the network and that other clocks in the network are synchronized to the grandmaster.

Table 1. PTP Clocks

Network Element

Description

Grandmaster (GM)

A network device physically attached to the primary time source. All clocks are synchronized to the grandmaster clock.

Ordinary Clock (OC)

An ordinary clock is a 1588 clock with a single PTP port that can operate in one of the following modes:

  • server mode—Distributes timing information over the network to one or more client clocks, thus allowing the client to synchronize its clock to the server.

  • client mode—Synchronizes its clock to a server clock. You can enable the client mode on up to two interfaces simultaneously in order to connect to two different server clocks.

Boundary Clock (BC)

The device participates in selecting the best server clock and can act as the server clock if no better clocks are detected.

Boundary clock starts its own PTP session with a number of downstream clients. The boundary clock mitigates the number of network hops and results in packet delay variations in the packet network between the Grandmaster and client.

Transparent Clock (TC)

A transparent clock is a device or a switch that calculates the time it requires to forward traffic and updates the PTP time correction field to account for the delay, making the device transparent in terms of time calculations.

PTP consists of two parts:

  • The port State machine and Best Master Clock Algorithm: This provides a method to determine the ports in the network that will remain passive (neither server nor client), run as a server (providing time to other clocks in the network), or run as clients (receiving time from other clocks in the network).

  • Delay-Request/Response mechanism and a Peer-delay mechanism: This provides a mechanisms for client ports to calculate the difference between the time of their own clocks and the time of their server clock.


    Note


    Cisco ASR 9000 Series routers do not support Peer-delay mechanism.


The implementation of PTP on Cisco IOS XR software is designed to operate effectively in Telecommunication networks, which are different from the networks for which PTP was originally designed.

PTP is configurable on Gigabit Ethernet interfaces (1G, 10G, 40G, and 100G), Bundle Ethernet interfaces, and sub-interfaces. PTP is not configurable on LAG Ethernet sub-interfaces.

Frequency and Time Selection

The selection of the source to synchronize the backplane clock frequency is made by frequency synchronization, and is outside of the scope of PTP. The Announce, Sync, and Delay-request frequencies must be the same on the server and client.

Delay-Response Mechanism

The Delay Request-response mechanism (defined in section 11.3 of IEEE Std 1588-2008) lets a client port estimate the difference between its own clock-time and the clock-time of its server. The following options are supported:

  • One-step mechanism - The timestamp for a Sync message is sent in the Sync message itself.

  • Two-step mechanism - The timestamp for a Sync message is sent later in a Follow-up message.

When running a port in client state, a router can send Delay-request messages and handle incoming Sync, Follow-up, and Delay-response messages. The timeout periods for both Sync and Delay-response messages are individually configurable.

Hybrid Mode

Your router allows the ability to select separate sources for frequency and time-of-day (ToD). Frequency selection can be between any source of frequency available to the router, such as: BITS, GPS, SyncE or IEEE 1588 PTP. The ToD selection is between the source selected for frequency and PTP, if available (ToD selection is from GPS, DTI or PTP). This is known as hybrid mode, where a physical frequency source (BITS or SyncE) is used to provide frequency synchronization, while PTP is used to provide ToD synchronization.

Frequency selection uses the algorithm described in ITU-T recommendation G.871, and is described in the Configuring Frequency Synchronization module in this document. The ToD selection is controlled using the time-of-day priority configuration. This configuration is found under the source interface frequency synchronization configuration mode and under the global PTP configuration mode. It controls the order for which sources are selected for ToD. Values in the range of 1 to 254 are allowed, with lower numbers indicating higher priority.

Port States

State machine indicates the behavior of each port. The possible states are:

State

Description

INIT

Port is not ready to participate in PTP.

LISTENING

First state when a port becomes ready to participate in PTP: In this state, the port listens to PTP servers for a (configurable) period of time.

PRE-MASTER

Port is ready to enter the Server state.

MASTER

Port provides timestamps for any client or boundary clocks that are listening.

UNCALIBRATED

Port receives timestamps from a server clock but, the router’s clock is not yet synchronized to the server.

SLAVE

Port receives timestamps from a server clock and the router’s clock is synchronized to the server.

PASSIVE

Port is aware of a better clock than the one it would advertise if it was in server state and is not a client clock to that server clock.

Leap Seconds

In prior releases, IOS-XR only offered a static and time-consuming solution to manage leap seconds. For every upcoming leap second inclusion, the number of leap seconds had to be hard-coded into a Software Maintenance Update (SMU) and also installed on the router for the same. It is a prolonged and tedious process to provide and install a SMU each time a new leap second is announced.

From Release 6.4.1 onward, Cisco IOS-XR supports leap-second configuration instead of SMU installations or reloads.

Time is measured using a common timescale. Leap second factor is used to adjust the current time to compensate for any drift from the common timescale. Leap seconds are introduced to dynamically adjust the UTC offset in response to leap second events. The two most relevant timescales are:

  • TAI - International Atomic Time : This is a notional passage of time determined by weighted average of readings across a large number of atomic clocks.

  • UTC - Universal Coordinated Time : This differs from TAI by an integer number of seconds to remain in synchronization with mean solar time. UTC is related to a notion of time called UT1, which represents the mean solar time at 0° longitude. Leap seconds are periodically inserted to ensure UTC and UT1 are never more than 0.9 seconds apart.

PTP uses TAI timescale. UTC time is derived using UTC offset. UTC offset and the number of seconds in the last minute of the current UTC day are sent in the PTP header of Announce messages.

UTC is calculated as: UTC = TAI - offset .

IOS-XR PTP implementation uses the following sources (in order of decreasing precedence) to determine the current UTC offset value:

  • The current grandmaster clock, if present.

  • UTC offset configuration, if present.

  • The previous grandmaster clock, if one exists.

  • The hardware (e.g. a locally connected GPS receiver), if available.

  • Zero, indicating that no UTC offset information is available.

If any upcoming leap second (being advertised at the time synchronization with a grandmaster) is lost, that too will be applied at the appropriate time while in holdover


Note


  • Leap seconds are generally added by including an extra second (23:59:60), either on June 30th or on December 31st.

  • UTC offset is + 37 seconds, as of 01 Jan 2017.


Multiple PTP Profile Interoperability

Communication between two different profiles was not possible previously due to various factors like, incompatible domain numbers, BMCA, or clock-class leading to drop in packets. Also, you cannot compare devices running different profiles in such configurations. For example, the domain number for G.8275.1 profile (24) is incompatible with the domain number for G.8275.2 profile (44).

Multiple PTP Profile Interoperability feature lets you develop a configuration to communicate with a peer device running a different PTP profile than the profile that is configured on the source router. This means that multiple profiles can interoperate on a single device in this implementation.

Interoperation is achieved by converting packets on ingress/egress so that it is acceptable to the profile configured on the receiving device. This prevents packet loss and allows comparison of different profiles. You can configure the interoperation using the interop command. Configuration details are described in a later section in this chapter. For command details, refer to Precision Time Protocol (PTP) Commands chapter in the System Management Command Reference for Cisco ASR 9000 Series Routers guide.


Note


  • Multiple ingress conversions are performed for interfaces configured with multiple servers.

  • Only G.8275.1 and G.8275.2 profiles can be configured to interoperate.


PTP Support Information

This table lists different types of support information related to PTP:

Transport Media

  • UDP over IPv4

  • Ethernet

  • IPv6

Messages

  • Signaling

  • Announce

  • Sync

  • Follow-up

  • Delay-request

  • Delay-response

  • Management

Transport Modes

  • Unicast: This is the default mode. All packets are sent as unicast messages.

  • Mixed: Announce and Sync messages are sent as multicast messages. Signaling, Delay-request, and Delay-response messages are sent as unicast messages.

  • Multicast: All packets are sent as multicast messages.

PTP Hardware Support Matrix


Note


The table also contains support details of upcoming releases. You can read this table in context of the current release and see relevant Release Notes for more information on supported features and hardware.

This table provides a detailed information on the supported hardware:

Hardware Variant

1588/PTP

Cisco IOS XR

Cisco IOS XR 64 bit

Comments

A9K-8X100GE-L-SE/TR (10GE and 100GE)

Default & G.8265.1

5.3.3

6.3.2

6.4.1

PTP over Ethernet does not work on 100G ports on Cisco IOS XR until 6.4.1. Support was introduced in 6.4.1.

G.8275.1 & G.8275.2

6.2.1

6.3.2

6.4.1

G.8273.2

6.2.1

6.3.2

PTP Multiprofile

6.5.1

6.5.1

A9K-RSP880-SE/TR

1588/PTP

Default & G.8265.1

5.3.3

6.3.2

6.4.1

-

1588/PTP

G.8275.1 & G.8275.2

6.2.1

6.3.2

6.4.1

1588/PTP

G.8273.2

6.2.1

6.3.2

6.4.1

PTP Multiprofile

6.5.1

6.5.1

A9K-8X100GE-L-SE/TR (40-GE)

1588/PTP

Default & G.8265.1

6.0.1

6.3.2

6.4.1

-

1588/PTP

G.8275.1 & G.8275.2

6.2.1

6.3.2

6.4.1

1588/PTP

G.8273.2

NA

NA

PTP Multiprofile

6.5.1

6.5.1

A9K-4X100GE-SE/TR

A9K-8X100GE-SE/TR

1588/PTP

Default & G.8265.1

6.2.1

6.4.1

PTP over Ethernet does not work on 100G ports on Cisco IOS XR until 6.4.1. Support was introduced in 6.4.1.

In 6.2.1, only G.8275.1 PTP profile is supported on the cards; No support for G.8273.2 PTP profile.

1588/PTP

G.8275.1 & G.8275.2

6.2.1

6.4.1

1588/PTP

G.8273.2

6.4.1

6.4.1

PTP Multiprofile

6.5.1

6.5.1

A9K-MOD400-SE/TR & A9K-MOD200-SE/TR with Legacy MPAs

1588/PTP

Default & G.8265.1

6.1.3

6.4.1

-

1588/PTP

G.8275.1 & G.8275.2

6.2.2

6.4.1

-

1588/PTP

G.8273.2

-

-

-

PTP Multiprofile

6.5.1

6.5.1

-

A9K-MOD400-SE/TR & A9K-MOD200-SE/TR with MPA 20x10GE , A9K-MPA-1X100GE and A9K-MPA-2X100GE

1588/PTP

Default & G.8265.1

6.1.3

6.4.1

PTP over Ethernet does not work on 100G ports on Cisco IOS XR until 6.4.1. Support was introduced in 6.4.1.

In 6.2.2, only G.8275.1 PTP profile is supported on the cards. No support for G.8273.2 PTP profile until 6.5.1.

1588/PTP

G.8275.1 & G.8275.2

6.2.2

6.4.1

1588/PTP

G.8273.2

6.5.1

6.5.1

PTP Multiprofile

6.5.1

6.5.1

A9K-24X10GE-1G-SE/TR

A9K-48X10GE-1G-SE/TR

1588/PTP

Default & G.8265.1

6.2.2

6.3.1

6.3.2

-

1588/PTP

G.8275.1 & G.8275.2

6.2.2

6.3.1

6.3.2

1588/PTP

G.8273.2

6.3.1

6.3.2

PTP Multiprofile

6.5.1

6.5.1

A99-RSP-SE/TR (Cisco ASR 9910 Series Routers)

1588/PTP

Default & G.8265.1

6.3.1

6.3.2

-

1588/PTP

G.8275.1 & G.8275.2

6.3.1

6.3.2

1588/PTP

G.8273.2

6.4.1

6.3.2

PTP Multiprofile

6.5.1

6.5.1

A9K-RSP880-LT-SE/TR

1588/PTP

Default & G.8265.1

6.2.2

6.4.1

-

1588/PTP

G.8275.1 & G.8275.2

6.2.2

6.4.1

1588/PTP

G.8273.2

6.4.1

6.4.1

PTP Multiprofile

6.5.1

6.5.1

A9K-RSP440-TR/SE

A99-RP-SE

Enhanced Ethernet Linecards

1588/PTP

Default & G.8265.1

4.3.4

NA

Enhanced Ethernet linecards do not support G.8273.2 with G.8275.1 PTP profile. .

1588/PTP

G.8275.1 & G.8275.2

NA

NA

1588/PTP

G.8273.2

NA

NA

A99-RP2-TR/SE

1588/PTP

Default & G.8265.1

5.3.3

6.3.2

6.4.1

-

1588/PTP

G.8275.1 & G.8275.2

6.2.1

6.3.2

6.4.1

1588/PTP

G.8273.2

NA

NA

Cisco ASR 9001 Series Routers

1588/PTP

Default & G.8265.1

4.3.4

NA

Enhanced Ethernet based hardware does not support G.8273.2 with G.8275.1 PTP profile.

1588/PTP

G.8275.1 & G.8275.2

NA

NA

1588/PTP

G.8273.2

NA

NA

Cisco ASR 9901 Series Routers

1588/PTP

Default & G.8265.1

NA

6.4.1

-

1588/PTP

G.8275.1 & G.8275.2

NA

6.4.1

1588/PTP

G.8273.2

NA

6.6.1

PTP Multiprofile

NA

6.5.1

A99-RSP-SE/TR (Cisco ASR 9906 Series Routers)

1588/PTP

Default & G.8265.1

6.3.1

6.3.2

-

1588/PTP

G.8275.1 & G.8275.2

6.3.1

6.3.2

1588/PTP

G.8273.2

6.4.1

6.3.2

PTP Multiprofile

6.5.1

6.5.1

A9K-RSP5-SE

1588/PTP Default & G.8265.1

NA

6.5.15

-

1588/PTP G.8275.2

NA

6.5.15

1588/PTP G.8275.1 & G.8273.2

NA

6.6.1

PTP Multiprofile

NA

6.5.15

A9K-RSP5-TR

1588/PTP Default & G.8265.1

NA

6.5.15

-

1588/PTP G.8275.2

NA

6.5.15

1588/PTP G.8275.1 & G.8273.2

NA

6.6.1

PTP Multiprofile

NA

6.5.15

A99-RP3-SE

1588/PTP Default & G.8265.1

NA

6.5.15

-

1588/PTP G.8275.2

NA

6.5.15

1588/PTP G.8275.1 & G.8273.2

NA

6.6.1

PTP Multiprofile

NA

6.5.15

A99-RP3-TR

1588/PTP Default & G.8265.1

NA

6.5.15

-

1588/PTP G.8275.2

NA

6.5.15

1588/PTP G.8275.1 & G.8273.2

NA

6.6.1

PTP Multiprofile

NA

6.5.15

A9K-8X100GE-X-TR

1588/PTP Default & G.8265.1

NA

6.5.15

-

1588/PTP G.8275.2

NA

6.5.15

1588/PTP G.8275.1 & G.8273.2

NA

6.6.1

PTP Multiprofile

NA

6.5.15

A9K-16X100GE-TR

1588/PTP Default & G.8265.1

NA

6.5.15

NA

1588/PTP G.8275.2

NA

6.5.15

1588/PTP G.8275.1 & G.8273.2

NA

6.6.1

PTP Multiprofile

NA

6.5.15

A99-16X100GE-X-SE

A99-32X100GE-TR/CM

1588/PTP Default & G.8265.1

NA

6.6.1

NA

1588/PTP G.8275.2

NA

6.6.1

1588/PTP G.8275.1 & G.8273.2

NA

6.6.1

PTP Multiprofile

NA

6.6.1

A9K-32X100GE-TR

1588/PTP Default & G.8265.1

NA

6.5.15

-

1588/PTP G.8275.2

NA

6.5.15

1588/PTP G.8275.1 & G.8273.2

NA

6.6.1

PTP Multiprofile

NA

6.5.15

Cisco ASR 9903 Series Routers

1588/PTP Default & G.8265.1

NA

7.1.3

You must configure ‘one-step’ clock operation on the PTP master interface.

1588/PTP G.8275.2

NA

7.1.3

1588/PTP G.8275.1 & G.8273.2

NA

7.1.3

PTP Multiprofile

NA

NA

A9903-20HG-PEC

1588/PTP Default & G.8265.1

NA

7.1.3

1588/PTP G.8275.2

NA

7.1.3

1588/PTP G.8275.1 & G.8273.2

NA

7.1.3

PTP Multiprofile

NA

NA

A99-32X100GE-X-SE/TR

1588/PTP Default & G.8265.1

NA

7.1.15

1588/PTP G.8275.2

NA

7.1.15

1588/PTP G.8275.1 & G.8273.2

NA

7.1.15

PTP Multiprofile

NA

NA

A9K-8HG-FLEX-SE/TR

1588/PTP Default & G.8265.1

NA

7.1.15

You must configure ‘one-step’ clock operation on the PTP master interface.

1588/PTP G.8275.2

NA

7.1.15

1588/PTP G.8275.1 & G.8273.2

NA

7.1.15

PTP Multiprofile

NA

NA

A9K-20HG-FLEX-SE/TR

1588/PTP Default & G.8265.1

NA

7.1.15

You must configure ‘one-step’ clock operation on the PTP master interface.

1588/PTP G.8275.2

NA

7.1.15

1588/PTP G.8275.1 & G.8273.2

NA

7.1.15

PTP Multiprofile

NA

NA

A99-10X400GE-X-SE/TR

1588/PTP Default & G.8265.1

NA

7.3.2

You must configure ‘one-step’ clock operation on the PTP master interface.

Class B Performance (Applicable to 1588/PTP G.8275.1 & G.8273.2)

1588/PTP G.8275.2

NA

7.3.2

1588/PTP G.8275.1 & G.8273.2

NA

7.3.2

PTP Multiprofile

NA

NA

A99-12x100GE

A99-12X100GE-CM

1588/PTP Default & G.8265.1

NA

7.4.1

1588/PTP G.8275.2

NA

7.4.1

1588/PTP G.8275.1 & G.8273.2

NA

7.4.1

Class B Performance

PTP Multiprofile

NA

7.4.1

A99-8X100GE-SE/TR/CM

A9K-8X100GE-CM

A9K-8X100G-LB-SE/TR

A9K-400G-DWDM-TR

A99-48X10GE-1G-SE/TR

1588/PTP Default & G.8265.1

6.2.2

6.2.2

1588/PTP G.8275.2

6.2.2

6.2.2

1588/PTP G.8275.1 & G.8273.2

6.2.2

6.2.2

PTP Multiprofile

6.2.2

6.2.2

A9K-4X100GE

1588/PTP Default & G.8265.1

NA

7.4.1

1588/PTP G.8275.2

NA

7.4.1

1588/PTP G.8275.1 & G.8273.2

NA

7.4.1

Class B Performance

PTP Multiprofile

NA

NA

A9K-400GE-SE/TR

1588/PTP Default & G.8265.1

NA

7.4.1

1588/PTP G.8275.2

NA

7.4.1

1588/PTP G.8275.1 & G.8273.2

NA

7.4.1

Class B Performance

PTP Multiprofile

NA

NA

A99-400GE-SE/TR

1588/PTP Default & G.8265.1

NA

7.4.1

1588/PTP G.8275.2

NA

7.4.1

1588/PTP G.8275.1 & G.8273.2

NA

7.4.1

Class B Performance

PTP Multiprofile

NA

NA

ASR 9902

1588/PTP Default & G.8265.1

NA

7.4.1

Port 12 to Port 35 provides Class B Performance and requires two-step clock operation on PTP master interface

Port 0 to port 11 and port 36 to port 47 provide Class C performance and requires one-step clock operation on PTP master interface.

1588/PTP G.8275.2

NA

7.4.1

1588/PTP G.8275.1 & G.8273.2

NA

7.4.1

PTP Multiprofile

NA

NA

ASR-9903

1588/PTP Default & G.8265.1

NA

7.4.1

You must configure ‘one-step’ clock operation on the PTP master interface.

1588/PTP G.8275.2

NA

7.4.1

1588/PTP G.8275.1 & G.8273.2

NA

7.4.1

PTP Multiprofile

NA

NA

A9K-4HG-FLEX-SE/TR

1588/PTP Default & G.8265.1

NA

7.4.1

You must configure ‘one-step’ clock operation on the PTP master interface.

1588/PTP G.8275.2

NA

7.4.1

1588/PTP G.8275.1 & G.8273.2

NA

7.4.1

PTP Multiprofile

NA

7.4.1

A99-4HG-FLEX-SE/TR

1588/PTP Default & G.8265.1

NA

7.4.1

You must configure ‘one-step’ clock operation on the PTP master interface.

1588/PTP G.8275.2

NA

7.4.1

1588/PTP G.8275.1 & G.8273.2

NA

7.4.1

PTP Multiprofile

NA

7.4.1


Note


The following 2nd generation line cards support all IEEE-1588 PTP telecom profiles (Default, G.8265.1, G.8275.2, G.8275.1, G.8273.2, and PTP Multiprofile) in Cisco IOS XR 32 bit:

Table 2. 2nd Generation Line Cards Supporting IEEE-1588 PTP

Hardware Variant

Hardware Variant

Hardware Variant

A9K-2X100GE-SE/TR

A9K-40GE-SE/TR

A9K-40GE-SE/TR

A9K-1X100GE-SE/TR

A9K-MOD160-SE/TR

A9K-VSM-500

A9K-36X10GE-SE/TR

A9K-MOD80-SE/TR

A9K-SIP-700

A9K-4T16GE-SE/TR

A9K-4T16GE-SE/TR


Restrictions

  • PTP Grandmaster (GM) is not supported with all the PTP profiles.

  • RSP IEEE 1588 port on RSP/RP is not supported.

  • Two-step clock operation is recommended over one-step clock operation for a PTP server.

  • If PTP clock operation CLI is not configured, the default clock operation is two-step on all ASR9000 hardware variants.

  • Due to the difference in PTP timestamp unit, which involves the PHY injecting the timestamp instead of the NPU, you must configure PTP clock operation one-step on the PTP master interface of the line cards which are explicitly specified in the PTP Hardware Support Matrix. Rest of the line cards only support PTP clock operation two-step on the PTP master interface.

  • PTP clock operation one-step or two-step restriction is only for PTP master interface. PTP slave interface can operate in either one-step or two-step.

  • Cisco ASR 9000 Series Routers do not support Class B 1 Pulse Per Second (PPS) performance with Forward Error Correction (FEC) enabled optics.

  • G.8275.1 and G.8275.2 profiles are not supported on Cisco ASR 9001 chassis, Cisco ASR 9000 Ethernet line cards, Cisco ASR 9000 Enhanced Ethernet line cards, and A9K-400G-DWDM-SE/TR line cards.

  • As recommended in Appendix VI of ITU-T G.8275.1 document, G.8275.1 profile is supported only on Bundle Link Aggregation (LAG) member links and not supported on a bundle interface.

  • G.8273.2 Telecom Boundary Clock (T-BC) performance is not supported on 40G interfaces.

  • The G.8273.2 Class B performance is observed when the same type of line card is used for both PTP server and PTP client ports. Class A performance is observed when different types of line cards are used for PTP server and PTP client on T-BC.

  • G.8275.2 profile is supported on Cisco ASR 9000 Series Routers. However, the performance standards of this profile are not aligned with any of the ITU-T standards because performance specifications for G.8275.2 profile has not yet been made available by ITU-T.

  • Transparent Clock (TC) is not supported.

  • PTP Multiprofile is not supported for G.8273.2 Class B performance.

  • Platform Fault Manager (PFM) alarms for the 10MHz port are not supported on A9K-RSP5-SE, A9K-RSP5-TR, A99-RP3-SE, and A99-RP3-TR.

  • Select 5th generation line cards (A9K-20HG-FLEX-xx and A9K-8HG-FLEX-xx) will support PTP Telecom Profile G.8275.2 in combination with transit G.8265.1/G.8275.2 packets, in a future version of these cards.


Note


Forwarding PTP packets as IP or MPLS isn’t possible without the redirecting device not being PTP-aware. If each node across the PTP path isn’t performing the T-BC function, timing accuracy can’t be maintained.


ITU-T Telecom Profiles for PTP

Cisco IOS XR software supports ITU-T Telecom Profiles for PTP as defined in the ITU-T recommendation. A profile consists of PTP configuration options applicable only to a specific application.

Separate profiles can be defined to incorporate PTP in different scenarios based on the IEEE 1588-2008 standard. A telecom profile differs in several ways from the default behavior defined in the IEEE 1588-2008 standard and the key differences are mentioned in the subsequent sections.

The following sections describe the ITU-T Telecom Profiles that are supported for PTP.

G.8265.1 Profile

G.8265.1 profile fulfills specific frequency-distribution requirements in telecom networks. Features of G.8265.1 profile are:

  • Clock advertisement: G.8265.1 profile specifies changes to values used in Announce messages for advertising PTP clocks. The clock class value is used to advertise the quality level of the clock, while the other values are not used.

  • Clock Selection: G.8265.1 profile also defines an alternate Best Master Clock Algorithm (BMCA) to select port states and clocks is defined for the profile. This profile also requires to receive Sync messages (and optionally, Delay-Response messages) to qualify a clock for selection.

  • Port State Decision: The ports are statically configured to be Master or Slave instead of using FSM to dynamically set port states.

  • Packet Rates: The packet rates higher than rates specified in the IEEE 1588-2008 standard are used. They are:

    • Sync/Follow-Up Packets: Rates from 128 packets-per-second to 16 seconds-per-packet.

    • Delay-Request/Delay-Response Packets: Rates from 128 packets-per-second to 16 seconds-per-packet.

    • Announce Packets: Rates from 8 packets-per-second to 64 packets-per-second.

  • Transport Mechanism: G.8265.1 profile only supports IPv4 PTP transport mechanism.

  • Mode: G.8265.1 profile supports transport of data packets only in unicast mode.

  • Clock Type: G.8265.1 profile only supports Ordinary Clock-type (a clock with only one PTP port).

  • Domain Numbers: The domain numbers that can be used in a G.8265.1 profile network ranges from 4 to 23. The default domain number is 4.

  • Port Numbers: All PTP port numbers can only be 1 because all clocks in a this profile network are Ordinary Clocks.

G.8265.1 profile defines an alternate algorithm to select between different master clocks based on the local priority given to each master clock and their quality levels (QL). This profile also defines Packet Timing Signal Fail (PTSF) conditions to identify the master clocks that do not qualify for selection. They are:

  • PTSF-lossSync condition: Raised for master clocks that do not receive a reliable stream of Sync and Delay-Resp messages. Cisco IOS XR software requests Sync and Delay-Resp grants for each configured master clock to track the master clock with this condition.

  • PTSF-lossAnnounce condition: Raised for master clocks that do not receive a reliable stream of Announce messages.

  • PTSF-unusable condition: Raised for master clocks that receives a reliable stream of Announce, Sync, and Delay-Resp messages, but not usable by slave clocks. Cisco IOS XR software does not use this condition.

Hardware variant-specific behavior

The profile G8265.1 displays the following behavior on these hardware variants A9K-RSP5-SE, A9K-RSP5-TR, A99-RP3-SE, and A99-RP3-TR:

  • Configuring either a master or slave clock type is mandatory.

  • G.8265.1 is only a frequency synchronization profile and the servo state is displayed as FREQ_LOCKED and the PTP slave interface remains as slave. Phase synchronization is not supported.

  • G.8265.1 profile supports only PTP pure mode and not PTP hybrid mode.

G.8275.1 Profile

G.8275.1 profile fulfills the time-of-day and phase synchronization requirements in telecom networks with all network devices participating in the PTP protocol. G.8275.1 profile with SyncE provides better frequency stability for the time-of-day and phase synchronization.

Features of G.8275.1 profile are:

  • Synchronization Model: G.8275.1 profile adopts hop-by-hop synchronization model. Each network device in the path from master to slave synchronizes its local clock to upstream devices and provides synchronization to downstream devices.

  • Clock Selection: G.8275.1 profile also defines an alternate BMCA that selects a clock for synchronization and port state for the local ports of all devices in the network is defined for the profile. The parameters defined as a part of the BMCA are:

    • Clock Class

    • Clock Accuracy

    • Offset Scaled Log Variance

    • Priority 2

    • Clock Identity

    • Steps Removed

    • Port Identity

    • notSlave flag

    • Local Priority

  • Port State Decision: The port states are selected based on the alternate BMCA algorithm. A port is configured to a master-only port state to enforce the port to be a master for multicast transport mode.

  • Packet Rates: The nominal packet rate for Announce packets is 8 packets-per-second and 16 packets-per-second for Sync/Follow-Up and Delay-Request/Delay-Response packets.

  • Transport Mechanism: G.8275.1 profile only supports Ethernet PTP transport mechanism.

  • Mode: G.8275.1 profile supports transport of data packets only in multicast mode. The forwarding is done based on forwardable or non-forwardable multicast MAC address.

  • Clock Type: G.8275.1 profile supports the following clock types:

    • Telecom Grandmaster (T-GM): Provides timing for other network devices and does not synchronize its local clock to other network devices.

    • Telecom Time Slave Clock (T-TSC): A slave clock synchronizes its local clock to another PTP clock, but does not provide PTP synchronization to any other network devices.

    • Telecom Boundary Clock (T-BC): Synchronizes its local clock to a T-GM or an upstream T-BC clock and provides timing information to downstream T-BC or T-TSC clocks.

  • Domain Numbers: The domain numbers that can be used in a G.8275.1 profile network ranges from 24 to 43. The default domain number is 24.

Hardware variant-specific behavior

The profile G8275.1 displays the following behavior on these hardware variants A9K-RSP5-SE, A9K-RSP5-TR, A99-RP3-SE, and A99-RP3-TR:

  • SyncE input is mandatory as only PTP hybrid mode is supported.

  • The frequency is derived from the SyncE interface and phase adjustments are based on PTP.

  • If you configure SyncE before you configure PTP, the Servo state is set to FREQ_LOCKED by default.

  • After the Servo is in PHASE_LOCKED state, if the SyncE input is lost or removed, the Servo transitions to HOLDOVER state.

  • After the Servo is in PHASE_LOCKED state, if the PTP input is lost or removed, the Servo transitions to FREQ_LOCKED state.


Note


For the hardware variants A9K-8X100GE-X-TR, A9K-16X100GE-TR and A9K-32X100GE-TR you are not required to shut the 100 GE link to configure this profile.


G.8275.2 Profile

G.8275.2 profile fulfills the time-of-day and phase synchronization requirements in telecom networks with partial timing support from the network. Features of G.8275.2 profile are:

  • Clock Selection: G.8275.2 profile also defines an alternate BMCA that selects a clock for synchronization and port state for the local ports of all devices in the network is defined for the profile. The parameters defined as a part of the BMCA are:

    • Clock Class

    • Clock Accuracy

    • Offset Scaled Log Variance

    • Priority 2

    • Clock Identity

    • Steps Removed

    • Port Identity

    • notSlave flag

    • Local Priority


    Note


    See ITU-T G.8275.2 document to determine the valid values for Clock Class parameter.
  • Port State Decision: The port states are selected based on the alternate BMCA algorithm. A port is configured to a master-only port state to enforce the port to be a master for unicast transport mode.

  • Packet Rates:

    • Synchronization/Follow-Up—minimum is one packet-per-second and maximum of 128 packets-per-second.

    • Packet rate for Announce packets—minimum of one packet-per-second and maximum of eight packets-per-second.

    • Delay-Request/Delay-Response packets—minimum is one packet-per-second and maximum of 128 packets-per-second

  • Transport Mechanism: G.8275.2 profile supports only IPv4 and IPv6 PTP transport mechanism.

  • Mode: G.8275.2 profile supports transport of data packets only in unicast mode.

  • Clock Type: G.8275.2 profile supports the following clock types:

    • Telecom Grandmaster (T-GM): Provides timing for other network devices and does not synchronize its local clock to other network devices.

    • Telecom Time Slave Clock (T-TSC): A slave clock synchronizes its local clock to another PTP clock, but does not provide PTP synchronization to any other network devices.

    • Telecom Boundary Clock (T-BC): Synchronizes its local clock to a T-GM or an upstream T-BC clock and provides timing information to downstream T-BC or T-TSC clocks.

  • Domain Numbers: The domain numbers that can be used in a G.8275.2 profile network ranges from 44 to 63. The default domain number is 44.

Hardware variant-specific behavior

The profile G8275.2 displays the following behavior on these hardware variants A9K-RSP5-SE, A9K-RSP5-TR, A99-RP3-SE, and A99-RP3-TR:

  • Hybrid PTP and pure PTP are supported on this profile.

  • The physical-layer-frequency command must be used to configure Hybrid PTP.

  • To switch from Hybrid PTP to Pure PTP, you must remove the physical-layer-frequency configuration and frequency synchronization configuration to remove SyncE inputs from line card interfaces and RSP clock-interfaces.

Configuring PTP

Prerequisite

You must be in a user group associated with a task group that includes the proper task IDs. The command reference guides include the task IDs required for each command. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance.

PTP Interface and Profile Configuration

When a global PTP profile is attached to an interface, its values are used as default settings for that interface. When additional settings are configured under an interface itself, these settings override the defaults in that profile. When no profile is attached to an interface, the configuration on the interface is used to determine the PTP settings for that interface.

When configuring PTP, use one of the following approaches:

  • Create a profile (or multiple profiles) containing all the default settings to use on all PTP interfaces. Override any settings that differ for particular interfaces by using the interface configuration under the interfaces themselves.

  • Configure all settings separately for each interface, without using any global profiles. Use this approach if the interfaces do not have consistent settings, or if you are configuring only a small number of PTP interfaces.

Configuring Frequency Synchronization and Quality Settings for PTP

This procedure describes the steps involved to configure frequecy and quality settings for PTP on a router.

  1. To enable frequency synchronization on the router, use frequency synchronization command in the configuration mode.

    
     RP/0/RSP0/CPU0:router(config)# frequency synchronization
    
  2. To configure ITU-T quality parameters, use quality itu-t option option generation number command in the frequency synchronization configuration mode.

    • option 1: Includes PRC, SSU-A, SSU-B, SEC, and DNU. This is the default option.

    • option 2 generation 1: Includes PRS, STU, ST2, ST3, SMC, and DUS.

    • option 2 generation 2: Includes PRS, STU, ST2, ST3, TNC, ST3E, SMC, and DUS.


    Note


    The quality option configured here must match the quality option specified in the quality receive and quality transmit commands.
    
    RP/0/RSP0/CPU0:router(config-freqsync)# quality itu-t 
    option 2 generation 2 
    

Verification

To display the frequency synchronization selection, use show frequency synchronization selection command.


RP/0/RSP0/CPU0:router# show frequency synchronization selection 
Node 0/RSP1/CPU0:
==============
Selection point: T0-SEL-B (3 inputs, 1 selected)
  Last programmed 06:49:27 ago, and selection made 06:49:15 ago
  Next selection points
    SPA scoped    : None
    Node scoped   : T4-SEL-C CHASSIS-TOD-SEL
    Chassis scoped: LC_TX_SELECT
    Router scoped : None
  Uses frequency selection
  Used for local line interface output
  S  Input                     Last Selection Point         QL  Pri  Status
  == ========================  ========================  =====  ===  ===========
  1  Sync1 [0/RSP1/CPU0]       n/a                         PRC    1  Locked     
     HundredGigE0/5/0/2        0/5/CPU0 ETH_RXMUX 1        PRC    1  Available  
     Internal0 [0/RSP1/CPU0]   n/a                         SEC  255  Available  

Selection point: T4-SEL-A (1 inputs, 1 selected)
  Last programmed 06:49:27 ago, and selection made 06:49:15 ago
  Next selection points
    SPA scoped    : None
    Node scoped   : T4-SEL-C
    Chassis scoped: None
    Router scoped : None
  Uses frequency selection
  S  Input                     Last Selection Point         QL  Pri  Status
  == ========================  ========================  =====  ===  ===========
  1  HundredGigE0/5/0/2        0/5/CPU0 ETH_RXMUX 1        PRC    1  Available  

Selection point: T4-SEL-C (2 inputs, 1 selected)
  Last programmed 06:49:15 ago, and selection made 06:49:15 ago
  Next selection points
    SPA scoped    : None
    Node scoped   : None
    Chassis scoped: None
    Router scoped : None
  Uses frequency selection
  Used for local clock interface output
  S  Input                     Last Selection Point         QL  Pri  Status
  == ========================  ========================  =====  ===  ===========
  1  Sync1 [0/RSP1/CPU0]       0/RSP1/CPU0 T0-SEL-B 1      PRC    1  Locked     
     HundredGigE0/5/0/2        0/RSP1/CPU0 T4-SEL-A 1      PRC    1  Available  

Selection point: CHASSIS-TOD-SEL (1 inputs, 1 selected)
  Last programmed 6d04h ago, and selection made 6d04h ago
  Next selection points
    SPA scoped    : None
    Node scoped   : None
    Chassis scoped: None
    Router scoped : None
  Uses time-of-day selection
  S  Input                     Last Selection Point      Pri  Time  Status
  == ========================  ========================  ===  ====  ===========
  1  Sync1 [0/RSP1/CPU0]       0/RSP1/CPU0 T0-SEL-B 1    100  Yes   Available  

Node 0/3/CPU0:
==============
Selection point: ETH_RXMUX (0 inputs, 0 selected)
  Last programmed 9w6d ago, and selection made 9w6d ago
  Next selection points
    SPA scoped    : None
    Node scoped   : None
    Chassis scoped: T0-SEL-B T4-SEL-A
    Router scoped : None
  Uses frequency selection

Selection point: LC_TX_SELECT (1 inputs, 1 selected)
  Last programmed 9w6d ago, and selection made 9w6d ago
  Next selection points
    SPA scoped    : None
    Node scoped   : None
    Chassis scoped: None
    Router scoped : None
  Uses frequency selection
  Used for local line interface output
  S  Input                     Last Selection Point         QL  Pri  Status
  == ========================  ========================  =====  ===  ===========
  24 Sync1 [0/RSP1/CPU0]       0/RSP1/CPU0 T0-SEL-B 1      PRC    1  Available  

Node 0/5/CPU0:
==============
Selection point: ETH_RXMUX (1 inputs, 1 selected)
  Last programmed 06:49:27 ago, and selection made 06:49:27 ago
  Next selection points
    SPA scoped    : None
    Node scoped   : None
    Chassis scoped: T0-SEL-B T4-SEL-A
    Router scoped : None
  Uses frequency selection
  S  Input                     Last Selection Point         QL  Pri  Status
  == ========================  ========================  =====  ===  ===========
  1  HundredGigE0/5/0/2        n/a                         PRC    1  Available  
          
Selection point: LC_TX_SELECT (1 inputs, 1 selected)
  Last programmed 6d04h ago, and selection made 6d04h ago
  Next selection points
    SPA scoped    : None
    Node scoped   : None
    Chassis scoped: None
    Router scoped : None
  Uses frequency selection
  Used for local line interface output
  S  Input                     Last Selection Point         QL  Pri  Status
  == ========================  ========================  =====  ===  ===========
  24 Sync1 [0/RSP1/CPU0]       0/RSP1/CPU0 T0-SEL-B 1      PRC    1  Available
 

Configuring Global Profile

This procedure describes the steps involved to create a global configuration profile for a PTP interface that can then be assigned to any interface as required.


Note


Prior to Cisco IOS XR Software Release 6.3.3, the default PTP timers for G2875.1 were not set to standard values. This could lead to interoperability issues with other routers running the timers with updated values. Hence, to prevent such issues arising due to difference in packet rates, you must explicitly configure the announce interval value to 8, sync frequency value to 16 and delay-request frequency value to 16 while configuring global g.2875.1 profile.


  1. To enter the PTP configuration mode, use ptp command in the configuration mode.

    
     RP/0/RSP0/CPU0:router(config)# ptp
  2. To configure a PTP profile, use profile command in the ptp configuration mode.

    
    RP/0/RSP0/CPU0:router(config-ptp)# profile tp64
  3. To configure frequency for a Sync message for the given PTP profile, use sync frequency rate command in the ptp-profile configuration mode.

    
    RP/0/RSP0/CPU0:router(config-ptp-profile)# sync frequency 16
  4. To configure delay-request frequency for the given PTP profile, use delay-request frequency rate command in the ptp-profile configuration mode.

    
    RP/0/RSP0/CPU0:router(config-ptp-profile)# delay-request frequency 16

Verification

To display the configured PTP profile details, use show run ptp command.


RP/0/RSP0/CPU0:router# show run ptp 
   
Wed Feb 28 11:16:05.943 UTC
ptp
clock
  domain 24
  profile g.8275.1 clock-type T-BC
!
profile slave
  transport ethernet
  sync frequency 16
  announce interval 1
  delay-request frequency 16
!
profile master
  transport ethernet
  sync frequency 16
  announce interval 1
  delay-request frequency 16
!
profile slave1
  transport ethernet
  sync frequency 64
  announce interval 1
  delay-request frequency 64
!

Configuring PTP Slave Interface

This procedure describes the steps involved to configure a PTP interface to be a Slave.

  1. To configure an interface, use interface type interface-path-id command in the configuration mode.

    
     RP/0/RSP0/CPU0:router(config)# interface TenGigE 0/1/0/5
  2. To enter the PTP configuration mode for the given interface, use ptp command in the interface configuration mode.

    
     RP/0/RSP0/CPU0:router(config-if)# ptp
  3. To configure a PTP profile (or specify a previously defined profile), use profile name command in the ptp interface configuration mode.


    Note


    Any additional commands entered in ptp-interface configuration mode overrides the global profile settings.
    
    RP/0/RSP0/CPU0:router(config-if-ptp)# profile tp64
  4. To configure the transport mode for all PTP messages in the given PTP profile, use transport mode_type command in the ptp interface configuration mode.

    
    RP/0/RSP0/CPU0:router(config-if-ptp)# transport ipv4
  5. To configure timeout for PTP announce messages in the given PTP profile, use announce interval interval-value command in the ptp interface configuration mode.

    
    RP/0/RSP0/CPU0:router(config-if-ptp)# announce interval 1
  6. To configure the port state, use port state command in the ptp interface configuration mode.

    
    RP/0/RSP0/CPU0:router(config-if-ptp)# port state slave-only
  7. To configure IPv4 or IPv6 address for PTP master, use master ipv4|ipv6 address command in the ptp interface configuration mode.

    
    RP/0/RSP0/CPU0:router(config-if-ptp)# master ipv4 192.168.2.1
    
    RP/0/RSP0/CPU0:router(config-if-ptp)# master ipv6 2001:DB8::1
  8. To return to the interface configuration mode, use exit command.

    
    RP/0/RSP0/CPU0:router(config-if-ptp)# exit 
  9. To configure a gateway for the given interface, use ipv4 address address mask command in the interface configuration mode.

    
    RP/0/RSP0/CPU0:router(config-if)# ipv4 address 1.7.1.2 255.255.255.0

Verification

To verify the port state details, use show run interface interface-name command.


RP/0/RSP0/CPU0:router# show run interface TenGigE 0/1/0/5 

Fri Aug  3 19:57:14.184 UTC
interface TenGigE 0/1/0/5
 ptp
  profile tp64
  transport ipv4
  port state slave-only
  master ipv4 192.168.2.1
  !
  announce interval 1
  !
 ipv4 address 1.7.1.1 255.255.255.0
!
   

Configuring PTP Master Interface

This procedure describes the steps involved to configure a PTP interface to be a Master.

  1. To configure an interface, use interface type interface-path-id command in the configuration mode.

    
     RP/0/RSP0/CPU0:router(config)# interface TenGigE 0/1/0/5
  2. To enter the PTP configuration mode for the given interface, use ptp command in the interface configuration mode.

    
     RP/0/RSP0/CPU0:router(config-if)# ptp
  3. To configure a PTP profile (or specify a previously defined profile), use profile name command in the ptp interface configuration mode.


    Note


    Any additional commands entered in PTP interface configuration mode override settings in this profile.


    
    RP/0/RSP0/CPU0:router(config-if-ptp)# profile tp64
  4. To configure the transport mode for all PTP messages in the given PTP profile, use transport mode_type command in the ptp interface configuration mode.

    
    RP/0/RSP0/CPU0:router(config-if-ptp)# transport ipv4
  5. To configure timeout for PTP announce messages in the given PTP profile, use announce interval interval-value command in the ptp interface configuration mode.

    
    RP/0/RSP0/CPU0:router(config-if-ptp)# announce interval 1
  6. To return to the interface configuration mode, use exit command.

    
    RP/0/RSP0/CPU0:router(config-if-ptp)# exit 
  7. To configure a gateway for the given interface, use ipv4 address address mask command in the interface configuration mode.

    
    RP/0/RSP0/CPU0:router(config-if)# ipv4 address 1.7.1.2 255.255.255.0

Verification

To verify the port state details, use show run interface interface-name command.


RP/0/RSP0/CPU0:router# show run interface TenGigE 0/1/0/5 

Fri Aug  3 13:57:44.366 PST
interface TenGigE 0/1/0/5
 ptp
  profile tp64
  transport ipv4
  !
  announce interval 1
  !
  ipv4 address 1.7.1.2 255.255.255.0
 !
   

Configuring PTP Hybrid Mode

This procedure describes the steps involved to configure router in a hybrid mode. You can do this by selecting PTP for Time-of-Day (ToD) and another source for frequency.

  1. To enable frequency synchronization on the router, use frequency synchronization command in the configuration mode.

    
     RP/0/RSP0/CPU0:router(config)# frequency synchronization
    
  2. To configure a SyncE source, create an interface to be a SyncE input. This can be configured using interface command in the configuration mode.


    Note


    The time-of-day-priority setting specifies that SyncE to be used as a ToD source if there is no source available with a lower priority.
    
    RP/0/RSP0/CPU0:router(config)# interface GigabitEthernet 0/1/0/0
    RP/0/RSP0/CPU0:router(config-if)# frequency synchronization
    RP/0/RSP0/CPU0:router(config-if-freqsync)# selection input
    RP/0/RSP0/CPU0:router(config-if-freqsync)# time-of-day-priority 100
    RP/0/RSP0/CPU0:router(config-if-freqsync)# commit
      
  3. To configure PTP as the source for ToD, enable PTP on the router using ptp command in command in the configuration mode. ToD priority values can range from 1 (highest priority) to 254 (lowest priority).

    
    RP/0/RSP0/CPU0:router(config)# ptp
    RP/0/RSP0/CPU0:router(config-ptp)# time-of-day-priority 1
    RP/0/RSP0/CPU0:router(config)# commit
      
  4. To confiure a PTP interface, use interface command in configuration mode. To enable this interface as a PTP Master, use master command in ptp-interface configuration mode.

    
    RP/0/RSP0/CPU0:router(config)# interface gigabitEthernet 0/1/0/1
    RP/0/RSP0/CPU0:router(config-if)# ipv4 address 10.0.0.1/24
    RP/0/RSP0/CPU0:router(config-if)# ptp
    RP/0/RSP0/CPU0:router(config-if-ptp)# master ipv4 10.0.0.2
    RP/0/RSP0/CPU0:router(config-if-ptp)# commit
      

Verification

To display the frequency synchronization selection, use show frequency synchronization selection command.


RP/0/RSP0/CPU0:router# show frequency synchronization selection 
Node 0/RSP1/CPU0:
==============
Selection point: T0-SEL-B (3 inputs, 1 selected)
  Last programmed 06:49:27 ago, and selection made 06:49:15 ago
  Next selection points
    SPA scoped    : None
    Node scoped   : T4-SEL-C CHASSIS-TOD-SEL
    Chassis scoped: LC_TX_SELECT
    Router scoped : None
  Uses frequency selection
  Used for local line interface output
  S  Input                     Last Selection Point         QL  Pri  Status
  == ========================  ========================  =====  ===  ===========
  1  Sync1 [0/RSP1/CPU0]       n/a                         PRC    1  Locked     
     HundredGigE0/5/0/2        0/5/CPU0 ETH_RXMUX 1        PRC    1  Available  
     Internal0 [0/RSP1/CPU0]   n/a                         SEC  255  Available  

Selection point: T4-SEL-A (1 inputs, 1 selected)
  Last programmed 06:49:27 ago, and selection made 06:49:15 ago
  Next selection points
    SPA scoped    : None
    Node scoped   : T4-SEL-C
    Chassis scoped: None
    Router scoped : None
  Uses frequency selection
  S  Input                     Last Selection Point         QL  Pri  Status
  == ========================  ========================  =====  ===  ===========
  1  HundredGigE0/5/0/2        0/5/CPU0 ETH_RXMUX 1        PRC    1  Available  

Selection point: T4-SEL-C (2 inputs, 1 selected)
  Last programmed 06:49:15 ago, and selection made 06:49:15 ago
  Next selection points
    SPA scoped    : None
    Node scoped   : None
    Chassis scoped: None
    Router scoped : None
  Uses frequency selection
  Used for local clock interface output
  S  Input                     Last Selection Point         QL  Pri  Status
  == ========================  ========================  =====  ===  ===========
  1  Sync1 [0/RSP1/CPU0]       0/RSP1/CPU0 T0-SEL-B 1      PRC    1  Locked     
     HundredGigE0/5/0/2        0/RSP1/CPU0 T4-SEL-A 1      PRC    1  Available  

Selection point: CHASSIS-TOD-SEL (1 inputs, 1 selected)
  Last programmed 6d04h ago, and selection made 6d04h ago
  Next selection points
    SPA scoped    : None
    Node scoped   : None
    Chassis scoped: None
    Router scoped : None
  Uses time-of-day selection
  S  Input                     Last Selection Point      Pri  Time  Status
  == ========================  ========================  ===  ====  ===========
  1  Sync1 [0/RSP1/CPU0]       0/RSP1/CPU0 T0-SEL-B 1    100  Yes   Available  

Node 0/3/CPU0:
==============
Selection point: ETH_RXMUX (0 inputs, 0 selected)
  Last programmed 9w6d ago, and selection made 9w6d ago
  Next selection points
    SPA scoped    : None
    Node scoped   : None
    Chassis scoped: T0-SEL-B T4-SEL-A
    Router scoped : None
  Uses frequency selection

Selection point: LC_TX_SELECT (1 inputs, 1 selected)
  Last programmed 9w6d ago, and selection made 9w6d ago
  Next selection points
    SPA scoped    : None
    Node scoped   : None
    Chassis scoped: None
    Router scoped : None
  Uses frequency selection
  Used for local line interface output
  S  Input                     Last Selection Point         QL  Pri  Status
  == ========================  ========================  =====  ===  ===========
  24 Sync1 [0/RSP1/CPU0]       0/RSP1/CPU0 T0-SEL-B 1      PRC    1  Available  

Node 0/5/CPU0:
==============
Selection point: ETH_RXMUX (1 inputs, 1 selected)
  Last programmed 06:49:27 ago, and selection made 06:49:27 ago
  Next selection points
    SPA scoped    : None
    Node scoped   : None
    Chassis scoped: T0-SEL-B T4-SEL-A
    Router scoped : None
  Uses frequency selection
  S  Input                     Last Selection Point         QL  Pri  Status
  == ========================  ========================  =====  ===  ===========
  1  HundredGigE0/5/0/2        n/a                         PRC    1  Available  
          
Selection point: LC_TX_SELECT (1 inputs, 1 selected)
  Last programmed 6d04h ago, and selection made 6d04h ago
  Next selection points
    SPA scoped    : None
    Node scoped   : None
    Chassis scoped: None
    Router scoped : None
  Uses frequency selection
  Used for local line interface output
  S  Input                     Last Selection Point         QL  Pri  Status
  == ========================  ========================  =====  ===  ===========
  24 Sync1 [0/RSP1/CPU0]       0/RSP1/CPU0 T0-SEL-B 1      PRC    1  Available
 

Configuring Leap Seconds

This procedure describes the steps involved in leap second configuration. The configuration can be executed in two ways:

  • By directly providing the UTC offset value in the command.

  • By providing the path to a file in the command, where the UTC offset information is stored (or available).

  1. To enter the PTP configuration mode, use ptp command in the configuration mode.

    
     RP/0/RSP0/CPU0:router(config)# ptp
  2. To configure the UTC offset information by providing the offset value directly, use { utc-offset {baseline | date } { offset-value } } command in the ptp configuration mode.

    • Using the baseline keyword, enter a positive number for the offset-value (it is assumed that a negative UTC offset will not be required).

    • OR provide a date (in YYYY-MM-DD format) and the offset-value . UTC offset used by PTP will be updated on this date. If you do not specify a date, the configuration is applied for the current day, at midnight.


    Note


    In both cases, providing the UTC offset-value directly in the command is mandatory.


    
    RP/0/RSP0/CPU0:router(config-ptp)# utc-offset baseline 37
    
    RP/0/RSP0/CPU0:router(config-ptp)# utc-offset 2018-07-01 38
  3. To configure UTC offset information by providing the path to a file containing the UTC offset information, use { utc-offset leap-second-file { file-path } } [ poll-frequency days ] command in the ptp configuration mode. Optionally, you can provide a polling frequency in days, at which to poll the file for changes. If a frequency for polling is not specified, the file will polled on the day the file is set to expire.


    Note


    The format of this file must be based on the canonical list present at http://www.ietf.org/timezones/data/leap-seconds.list.
    
    RP/0/RSP0/CPU0:router(config-ptp)# utc-offset leap-second-file http://<remote-url>
    
    RP/0/RSP0/CPU0:router(config-ptp)# utc-offset leap-second-file file://<local-path> poll-frequency 7

Verification

To display the current UTC offset value, use show ptp utc-offset command.


RP/0/RSP0/CPU0:router# show ptp utc-offset 

Current offset: +36 seconds (not valid)
Pending leap seconds:
 From 2017-01-01 offset will be +37 seconds
 From 2018-07-01 offset will be +38 second
 From 2019-07-01 offset will be +39 seconds
Source: User-configured

To display the current UTC offset value and related details, use show ptp utc-offset detail command.


RP/0/RSP0/CPU0:router# show ptp utc-offset detail 

Current offset: +36 seconds (valid)
Known leap seconds:
From 1996-01-01 offset was +30 seconds
From 1997-07-01 offset was +31 seconds
From 1999-01-01 offset was +32 seconds
From 2006-01-01 offset was +33 seconds
From 2009-01-01 offset was +34 seconds
From 2012-07-01 offset was +35 seconds
From 2015-07-01 offset was +36 seconds
From 2017-01-01 offset will be +37 seconds
Source: file:///test/xxxuser/leapsec/test/list-leap-seconds.list
Expiry date: 2017-12-28

Configuring Multiple PTP Profile Interoperability

This procedure describes the steps involved in configuring interoperability for PTP profiles.

  1. To configure an interface and then enter the PTP configuration mode, use interface and ptp commands respectively.

    
     RP/0/RSP0/CPU0:router(config)# interface tenGigE 0/0/0/9
    
     RP/0/RSP0/CPU0:router(config-if)# ptp
  2. To configure PTP profile, use profile command in the interface-ptp configuration mode.

    
     RP/0/RSP0/CPU0:router(config-if-ptp)# profile interop-slave
  3. To configure interoperability, use interop command in the interface-ptp configuration mode.

    
    RP/0/RSP0/CPU0:router(config-if-ptp)# interop
  4. To configure the Telecom profile and domain number to interoperate with, use profile {profile-type} and domain domain-number commands in the interface-ptp-interop configuration mode.

    
    RP/0/RSP0/CPU0:router(config-if-ptp-interop)# profile g.8275.2 
    
    RP/0/RSP0/CPU0:router(config-if-ptp-interop)# domain 44
  5. To enable conversion of packets on ingress, use ingress-conversion command in the interface-ptp-interop configuration mode. The ingress-conversion command, converts the packets received from the incoming Announce messages.

    
    RP/0/RSP0/CPU0:router(config-if-ptp-interop)# 
    ingress-conversion 
    
  6. To explicitly configure the other related parameters, use the respective commands in the interop-ingress submode.


    Note


    Default values are used for parameters that are not explicitly configured during ingress-conversion. For example, default values will be used for parameters like ClockAccuracy or OffsetScaledLogVariance if they are not explicitly configured.


    
    RP/0/RSP0/CPU0:router(config-if-ptp-interop-ingress)# 
    priority1 10
    priority2 10
    
  7. To enable conversion of packets on egress, use egress-conversion command in the interface-ptp-interop configuration mode. The egress-conversion command converts the packets sent through the outgoing Announce messages. The configuration is the same as for ingress conversion.

    
    RP/0/RSP0/CPU0:router(config-if-ptp-interop)# 
    egress-conversion
    

Verification

To display the interop conversions, use show ptp interop command.


RP/0/RSP0/CPU0:router# show ptp interop tenGigE 0/0/0/9 
Egress Conversions:
    Profile:                    Default -> G.8275.2
    Domain:                           0 -> 10
    Priority1:                        1 -> 128
    Priority2:                      100 -> 100
    ClockClass:                      52 -> 140
    ClockAccuracy:                    0 -> 0x21
    OffsetScaledLogVariance:          0 -> 0x4e5d

  Ingress Conversions:
    Profile:                   G.8275.2 -> Default
    Domain:                          10 -> 0
    Master 51.51.51.51:
      Priority1:                      1 -> 100
      Priority2:                      2 -> 254
      ClockClass:                     3 -> 13
      ClockAccuracy:               0x20 -> 0x20
      OffsetScaledLogVariance:   0x4e5d -> 0x4e5d

Configuring PTP Telecom Profile Interface

This procedure describes the steps involved to create an interface for PTP ITU-T Telecom Profiles.


Note


It is also possible to make these definitions within a global PTP profile and attach them to the interface using the profile command in PTP interface configuration mode.
  1. To configure an interface, use interface type interface-path-id command in the configuration mode.

    
     RP/0/RSP0/CPU0:router(config)# interface gigabitethernet 0/1/0/1
  2. To enter the PTP configuration mode for the given interface, use ptp command in the interface configuration mode.

    
     RP/0/RSP0/CPU0:router(config-if)# ptp
  3. To configure a PTP profile (or specify a previously defined profile), use profile name command in the ptp-interface configuration mode.


    Note


    Any additional commands entered in ptp-interface configuration mode overrides the global profile settings.
    
    RP/0/RSP0/CPU0:router(config-if-ptp)# profile tele64
  4. To configure frequency for Sync or Delay-request messages for the given ptp interface, use sync frequency rate command or delay-request frequency rate command appropriately in the ptp-interface configuration mode. The valid configurable values are 2, 4, 8, 16, 32, 64 or 128.

    
    RP/0/RSP0/CPU0:router(config-if-ptp)# sync frequency 128
    
    RP/0/RSP0/CPU0:router(config-if-ptp)# delay-request frequency 128
  5. To configure duration for different PTP messages, use one of the following commands in the ptp-interface configuration mode: announce grant-duration duration , sync grant-duration duration , or delay-response grant-duration duration . The duration value can be between 60 and 1000 seconds.


    Note


    This duration value represents the length of grant that is requested for a port in Slave state and represents the maximum grant-duration allowed when the port is in Master state.
    
    RP/0/RSP0/CPU0:router(config-if-ptp)# announce grant-duration 120
    
    RP/0/RSP0/CPU0:router(config-if-ptp)# sync grant-duration 120
    
    RP/0/RSP0/CPU0:router(config-if-ptp)# delay-response grant-duration 120
  6. To configure a timeout value, length of time by when a PTP message must be received (before PTSF-lossSync is raised), use one of the following commands in the ptp-interface configuration mode: sync timeout timeout or delay-response timeout timeout . The timeout value can be between 100 to 10000 micro seconds.

    
    RP/0/RSP0/CPU0:router(config-if-ptp)# sync timeout 120
    
    RP/0/RSP0/CPU0:router(config-if-ptp)# delay-response timeout 120
  7. To configure a response for unicast-grant invalid-request, use unicast-grant invalid-request {reduce | deny} command. The response for requests with unacceptable parameters would either be denied or granted with reduced parameters.

    RP/0/RSP0/CPU0:router(config-if-ptp)# unicast-grant 
    invalid-request reduce
  8. To configure IPv4 or IPv6 address for a PTP master, use master {ipv4 | ipv6} ip-address command in the ptp-interface configuration mode.

    RP/0/RSP0/CPU0:router(config-if-ptp)# master ipv4 192.168.2.1
    
    RP/0/RSP0/CPU0:router(config-if-ptp)# master ipv6 2001:DB8::1
  9. To override the clock-class received in Announce messages from the specified Master, use clock-class class command in the ptp-master-interface configuration mode. The class values can range from 0 to 255.

    RP/0/RSP0/CPU0:router(config-if-ptp-master)# clock-class 2

Verification

To display the PTP interface details, use show ptp interfaces brief command.


RP/0/RSP0/CPU0:router# show ptp interfaces brief
Fri Feb  9 11:16:45.248 UTC
Intf              Port         Port                  Line
Name              Number       State        Encap    State         Mechanism
--------------------------------------------------------------------------------
BE1               1            Slave        IPv4     up            2-step DRRM
Gi0/0/0/40        2            Master       IPv4     up            2-step DRRM

To verify the configured profile details, use show run interface interface-name command.


RP/0/RSP0/CPU0:router# show run interface Gi0/0/0/33 

Wed Feb 28 11:49:16.940 UTC
interface GigabitEthernet0/0/0/33
ptp
  profile slave
  multicast target-address ethernet 01-1B-19-00-00-00
  transport ethernet
  port state slave-only
  clock operation two-step
!
ipv4 address 21.1.1.2 255.255.255.0
frequency synchronization
  selection input
  priority 5
  wait-to-restore 0
!
  

Configuring PTP Telecom Profile Clock

This procedure describes the steps involved to configure PTP clock and its settings to be consistent with ITU-T Telecom Profiles for Frequency.

  1. To enter the PTP configuration mode, use ptp command in the configuration mode.

    
     RP/0/RSP0/CPU0:router(config)# ptp
  2. To enter the PTP-clock configuration mode, use clock command in the ptp-configuration mode.

    
     RP/0/RSP0/CPU0:router(config-ptp)# clock
  3. To configure the domain-number for a PTP profile, use domain number command in the ptp-configuration mode. The allowed domain number range for G.8265.1 profile is between 4 and 23 and the range for G.8275.1 profile is between 24 and 43.

    
     RP/0/RSP0/CPU0:router(config-ptp)# domain 24
  4. To configure timescale, use timescale source command in the ptp-clock configuration mode.

    
    RP/0/RSP0/CPU0:router(config-ptp-clock)# timescale PTP
  5. To configure the time-source that will be advertised in Announce messages, use time-source source command in the ptp-clock configuration mode. The allowed options are: atomic-clock, GPS, hand-set, internal-oscillator, NTP, other, PTP, and terrestrial-radio.

    
    RP/0/RSP0/CPU0:router(config-ptp-clock)# time-source GPS
  6. To exit the ptp-clock configuration mode, use exit command.

    
    RP/0/RSP0/CPU0:router(config-ptp-clock)# exit 
  7. To configure the desired telecom profile and the clock type for the profile, use clock profile { g.8265.1 | g.8275.1 | g.8275.2} clock-type {T-GM | T-BC | T-TSC} command in the ptp configuration mode.


    Note


    The clock-selection telecom-profile and clock-advertisement telecom-profile commands are deprecated from Release 6.1.2. They are replaced by the clock profile command.
    
    RP/0/RSP0/CPU0:router(config-ptp)# clock profile g.8275.1 clock-type T-BC
    

Verification

To display the configured PTP clock profile details, use show run ptp command.


RP/0/RSP0/CPU0:router# show run ptp !
ptp
clock
  domain 24
  profile g.8275.1 clock-type T-BC
!
profile slave
  sync frequency 16
  announce frequency 8
  delay-request frequency 16
!
profile master
  sync frequency 16
  announce frequency 8
  delay-request frequency 16
!
log
  servo events
  best-master-clock changes
!
!            

To verify that PTP has been enabled on the router and the device is in LOCKED Phase, use show ptp platform servo command.

RP/0/RSP0/CPU0:router # show ptp platform servo

Fri Feb  9 11:16:54.568 UTC
Servo status: Running
Servo stat_index: 2
Device status: PHASE_LOCKED
Servo log level: 0
Phase Alignment Accuracy: 1 ns
Sync timestamp updated: 111157
Sync timestamp discarded: 0
Delay timestamp updated: 111157
Delay timestamp discarded: 0
Previous Received Timestamp T1: 1518155252.263409770  T2: 1518155252.263410517  T3: 1518155252.287008362  T4: 1518155252.287009110 
Last Received Timestamp T1: 1518155252.325429435  T2: 1518155252.325430194  T3: 1518155252.348938058  T4: 1518155252.348938796 
Offset from master:  0 secs, 11 nsecs
Mean path delay   :  0 secs, 748 nsecs
setTime():2  stepTime():1  adjustFreq():10413 adjustFreqTime():0
Last setTime: 1.000000000 flag:1  Last stepTime:-736216, Last adjustFreq:465

Configuration Examples

Slave Configuration Example

The following example shows a PTP slave configuration:


 interface TenGigE 0/1/0/5
 ptp
  profile tp64
  transport ipv4
  port state slave-only
  master ipv4 1.7.1.2
  !
  announce interval 1
  !
 ipv4 address 1.7.1.1 255.255.255.0
!

Master Configuration Example

This example shows a PTP master configuration:


 ptp
  profile tp64
  transport ipv4
  announce interval 1
 !
 ipv4 address 1.7.1.2 255.255.255.0
 !
  

PTP Hybrid Mode Configuration Example

This example shows the configuration of PTP hybrid mode:


ptp
 time-of-day priority 10
 !
interface GigabitEthernet0/1/1/0
 ptp
  transport ipv4
  port state slave-only
  master ipv4 192.168.52.38
  !
  sync frequency 64
  announce interval 1
  delay-request frequency 64
 !
interface GigabitEthernet 0/1/0/1
 ipv4 address 192.168.52.41 255.255.255.0
 speed 100
 frequency synchronization
  selection input
  priority 10
  wait-to-restore 0
  ssm disable
  time-of-day-priority 100
 !
  

ITU-T Telecom Profiles Configuration Examples

Master global configuration for the telecom profile:


-- For G.8265.1 profile --

ptp
 clock
 domain 4
 profile g.8265.1
 !
  profile master
  transport ipv4
  sync frequency 16
  announce interval 1
  delay-request frequency 16
interface gi 0/2/0/4
 ptp
  profile master
  transport ipv4
  clock operation two-step
 !
 ipv4 address 17.1.1.1/24

-- For G.8275.1 profile --

ptp
 clock
 domain 24
 profile g.8275.1 	
 !
  profile master
  transport ethernet
  sync frequency 16
  announce interval 1
  delay-request frequency 16
interface gi 0/2/0/4
 ptp
  profile master
  transport ethernet
  multicast target-address ethernet 01-1B-19-00-00-00
  clock operation two-step
 !
 ipv4 address 17.1.1.1/24

  

Slave global configuration for the telecom profile:


-- For G.8265.1 profile --

ptp
 clock
 domain 4
 profile g.8265.1
 !
  profile slave
  transport ipv4
  sync frequency 16
  announce interval 1
  delay-request frequency 16
interface gi 0/1/0/0
 ptp
  profile slave
  transport ipv4
  Master ipv4 18.1.1.1
  port state slave-only
  !
  clock operation two-step
  !
 ipv4 address 18.1.1.2/24

-- For G.8275.1 profile --

ptp
 clock
 domain 24
 profile g.8275.1 clock-type T-TSC
 !
  profile slave
  transport ethernet
  sync frequency 16
  announce interval 1
  delay-request frequency 16
interface gi 0/1/0/0
 ptp
  profile slave
  transport ethernet
  multicast target-address ethernet 01-1B-19-00-00-00
  !
  clock operation two-step
  !
 ipv4 address 18.1.1.2/24


-*- For G.8275.2 profile -*-


ptp
 clock
  domain 44
  profile g.8275.2 clock-type T-TSC
 !
 profile slave
  transport ipv6
  port state slave-only
  sync frequency 64
  announce frequency 8
  unicast-grant invalid-request deny
  delay-request frequency 64
 !
 log
  servo events
  best-master-clock changes
 !        
!
interface GigabitEthernet0/2/0/12
 ptp
  profile slave
  master ipv6 30::2
  !
 !
 ipv6 address 30::1/64
!


Global configuration with clock type as T-Boundary Clock (T-BC) for the telecom profile:


-- For G.8275.1 profile --

ptp
 clock
 domain 24
 profile g.8275.1 clock-type T-BC
 !
  profile master
  transport ethernet
  sync frequency 16
  announce interval 1
  delay-request frequency 16
  exit
  profile slave
  transport ethernet
  sync frequency 16
  announce interval 1
  delay-request frequency 16
  exit
interface gi 0/2/0/4
 ptp
  profile slave
  transport ethernet
  multicast target-address ethernet 01-1B-19-00-00-00
  !
  clock operation two-step
  !
 ipv4 address 17.1.1.2/24
interface gi 0/2/0/0
 ptp
  profile master
  transport ethernet
  multicast target-address ethernet 01-1B-19-00-00-00
  clock operation two-step
  !
 ipv4 address 18.1.1.1/24


Note


When G.8275.1 profile is configured on a 100G interface, keywords commit replace and rollback config last 1 does not work and the router configuration rollback fails entirely. Use rollback config last 1 best-effort instead.



-*- For G.8275.2 profile -*-
ptp
 clock
  domain 44
  profile g.8275.2 clock-type T-BC
 !
 profile slave
  transport ipv6
  port state slave-only
  sync frequency 64
  announce frequency 8
  unicast-grant invalid-request deny
  delay-request frequency 64
 !
 profile master
  transport ipv6
  sync frequency 64
  announce frequency 8
  unicast-grant invalid-request deny
  delay-request frequency 64
 !
 log
  servo events
  best-master-clock changes
 !        
!


interface GigabitEthernet0/2/0/11
 ptp
  profile master
 !
 ipv6 address 30::1/64
!

interface GigabitEthernet0/2/0/12
 ptp
  profile slave
  master ipv6 40::2
  !
 !
 ipv6 address 40::1/64
!