Configuring Precision Time Protocol (PTP)

PTP configuration is supported from Cisco IOS XE Release 17.7.x.

Information About Precision Time Protocol

Precision Time Protocol (PTP) is defined in IEEE 1588 as Precision Clock Synchronization for Networked Measurements and Control Systems, and was developed to synchronize the clocks in packet-based networks that include distributed device clocks of varying precision and stability. PTP is designed specifically for industrial, networked measurement and control systems, and is optimal for use in distributed systems because it requires minimal bandwidth and little processing overhead.

A Network Advantage license is required to enable the PTP feature or to execute the CLIs on the router.

To configure the license level to network-advantage, use the following CLI:

license boot level network-advantage

Router#config terminal
Router(config)#license boot level network-advantage
Do you want to accept terms? Y

Why PTP?

Smart grid power automation applications such as peak-hour billing, virtual power generators, and outage monitoring and management, require extremely precise time accuracy and stability. Timing precision improves network monitoring accuracy and troubleshooting ability.

In addition to providing time accuracy and synchronization, the PTP message-based protocol can be implemented on packet-based networks, such as Ethernet networks. The benefits of using PTP in an Ethernet network include:

  • Low cost and easy setup in existing Ethernet networks

  • Limited bandwidth is required for PTP data packets

Message-Based Synchronization

To ensure clock synchronization, PTP requires an accurate measurement of the communication path delay between time source (grandmaster clock) and the time recipient. PTP sends messages between the time source and time recipient to determine the delay measurement. Then, PTP measures the exact message transmit and receive times and uses these times to calculate the communication path delay. PTP then adjusts current time information contained in network data for the calculated delay, resulting in more accurate time information.

This delay measurement principle determines path delay between devices on the network, and the local clocks are adjusted for this delay using a series of messages sent between time source and time recipient devices. The one-way delay time is calculated by averaging the path delay of the transmit and receive messages. This calculation assumes a symmetrical communication path; however, switched networks do not necessarily have symmetrical communication paths, due to the buffering process.

PTP provides a method, using transparent clocks, to measure and account for the delay in a time-interval field in network timing packets, making the switches temporarily transparent to the time source and time recipient nodes on the network. An end-to-end transparent clock forwards all messages on the network in the same way that a switch does.


Note


Cisco PTP supports multicast PTP messages only.


To read a detailed description of synchronization messages, refer to PTP Event Message Sequences. To learn more about how transparent clocks calculate network delays, refer to Transparent Clock.

The following figure shows a typical 1588 PTP network that includes grandmaster clocks, switches in boundary clock mode, and Intelligent Electronic Device (IEDs) such as a digital relays or protection devices. In this diagram, Time Source 1 is the grandmaster clock. If Time Source 1 becomes unavailable, the time recipient boundary clocks switch to Time Source 2 for synchronization.

Figure 1. PTP Network

PTP Event Message Sequences

This section describes the PTP event message sequences that occur during synchronization.

Synchronizing with Boundary Clocks

The ordinary and boundary clocks configured for the delay request-response mechanism use the following event messages to generate and communicate timing information:

  • Sync

  • Delay_Req

  • Follow_Up

  • Delay_Resp

These messages are sent in the following sequence:

  1. The time source sends a Sync message to the time recipient and notes the time (t1) at which it was sent.

  2. The time recipient receives the Sync message and notes the time of reception (t2).

  3. The time source conveys to the time recipient the timestamp t1 by embedding the timestamp t1 in a Follow_Up message.

  4. The time recipient sends a Delay_Req message to the time source and notes the time (t3) at which it was sent.

  5. The time source receives the Delay_Req message and notes the time of reception (t4).

  6. The time source conveys to the time recipient the timestamp t4 by embedding it in a Delay_Resp message.

After this sequence, the time recipient possesses all four timestamps. These timestamps can be used to compute the offset of the time recipient clock relative to the time source, and the mean propagation time of messages between the two clocks.

The offset calculation is based on the assumption that the time for the message to propagate from time source to time recipient is the same as the time required from time recipient to time source. This assumption is not always valid on an Ethernet network due to asymmetrical packet delay times.

Figure 2. Detailed Steps—Boundary Clock Synchronization

Synchronizing with Peer-to-Peer Transparent Clocks

When the network includes multiple levels of boundary clocks in the hierarchy, with non-PTP enabled devices between them, synchronization accuracy decreases.

The round-trip time is assumed to be equal to mean_path_delay/2, however this is not always valid for Ethernet networks. To improve accuracy, the resident time of each intermediary clock is added to the offset in the end-to-end transparent clock. Resident time, however, does not take into consideration the link delay between peers, which is handled by peer-to-peer transparent clocks.

Peer-to-peer transparent clocks measure the link delay between two clock ports implementing the peer delay mechanism. The link delay is used to correct timing information in Sync and Follow_Up messages.

Peer-to-peer transparent clocks use the following event messages:

  • Pdelay_Req

  • Pdelay_Resp

  • Pdelay_Resp_Follow_Up

These messages are sent in the following sequence:

  1. Port 1 generates timestamp t1 for a Pdelay_Req message.

  2. Port 2 receives and generates timestamp t2 for this message.

  3. Port 2 returns and generates timestamp t3 for a Pdelay_Resp message.

    To minimize errors due to any frequency offset between the two ports, Port 2 returns the Pdelay_Resp message as quickly as possible after the receipt of the Pdelay_Req message.

  4. Port 2 returns timestamps t2 and t3 in the Pdelay_Resp and Pdelay_Resp_Follow_Up messages respectively.

  5. Port 1 generates timestamp t4 after receiving the Pdelay_Resp message. Port 1 then uses the four timestamps (t1, t2, t3, and t4) to calculate the mean link delay.

Figure 3. Detailed Steps—Peer-to-Peer Transparent Clock Synchronization

Synchronizing the Local Clock

In an ideal PTP network, the time source and time recipient clocks operate at the same frequency. However, drift can occur on the network. Drift is the frequency difference between the time source and time recipient clocks. You can compensate for drift by using the time stamp information in the device hardware and follow-up messages (intercepted by the switch) to adjust the frequency of the local clock to match the frequency of the time source clock.

Best Master Clock Algorithm

The Best Master Clock Algorithm (BMCA) is the basis of PTP functionality. The BMCA specifies how each clock on the network determines the best time source clock in its subdomain of all the clocks it can see, including itself. The BMCA runs on the network continuously and quickly adjusts for changes in network configuration.

The BMCA uses the following criteria to determine the best time source clock in the subdomain:

  • Clock quality (for example, GPS is considered the highest quality)

  • Clock accuracy of the clock’s time base.

  • Stability of the local oscillator

  • Closest clock to the grandmaster

In addition to identifying the best time source clock, the BMCA also ensures that clock conflicts do not occur on the PTP network by ensuring that:

  • Clocks do not have to negotiate with one another

  • There is no misconfiguration, such as two time source clocks or no time source clocks, as a result of the time source clock identification process

PTP Clocks

A PTP network is made up of PTP-enabled devices and devices that are not using PTP. The PTP-enabled devices typically consist of the following clock types.

Grandmaster Clock

The grandmaster clock is a network device physically attached to the server time source. All clocks are synchronized to the grandmaster clock.

Within a PTP domain, the grandmaster clock is the primary source of time for clock synchronization using PTP. The grandmaster clock usually has a very precise time source, such as a GPS or atomic clock. When the network does not require any external time reference and only needs to be synchronized internally, the grandmaster clock can free run.

Ordinary Clock

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.

Ordinary clocks are the most common clock type on a PTP network because they are used as end nodes on a network that is connected to devices requiring synchronization.

Boundary Clock

A boundary clock in a PTP network operates in place of a standard network switch or router. Boundary clocks have more than one PTP port, and each port provides access to a separate PTP communication path. Boundary clocks provide an interface between PTP domains. They intercept and process all PTP messages, and pass all other network traffic. The boundary clock uses the BMCA to select the best clock seen by any port. The selected port is then set to non-master mode. The master port synchronizes the clocks connected downstream, while the non-master port synchronizes with the upstream master clock.

Transparent Clock

The role of transparent clocks in a PTP network is to update the time-interval field that is part of the PTP event message. This update compensates for switch delay and has an accuracy of within one picosecond.

There are two types of transparent clocks:

End-to-end (E2E) transparent clocks measure the PTP event message transit time (also known as resident time ) for SYNC and DELAY_REQUEST messages. This measured transit time is added to a data field (correction field) in the corresponding messages:

  • The measured transit time of a SYNC message is added to the correction field of the corresponding SYNC or the FOLLOW_UP message.

  • The measured transit time of a DELAY_REQUEST message is added to the correction field of the corresponding DELAY_RESPONSE message.

The time recipient uses this information when determining the offset between the time recipient’s and the time source's time. E2E transparent clocks do not provide correction for the propagation delay of the link itself.

Peer-to-peer (P2P) transparent clocks measure PTP event message transit time in the same way E2E transparent clocks do, as described above. In addition, P2P transparent clocks measure the upstream link delay. The upstream link delay is the estimated packet propagation delay between the upstream neighbor P2P transparent clock and the P2P transparent clock under consideration.

These two times (message transit time and upstream link delay time) are both added to the correction field of the PTP event message, and the correction field of the message received by the time recipient contains the sum of all link delays. In theory, this is the total end-to-end delay (from time source to time recipient) of the SYNC packet.

The following figure illustrates PTP clocks in a time source-time recipient hierarchy within a PTP network.

Figure 4. PTP Clock Hierarchy

PTP Profiles

This section describes the following PTP profiles available on the router:

  • Default Profile

  • Power Profile

  • 802.1AS Profile

Cisco IOS-XE Release 17.7.1 supports Power Profile-2011. It is defined in PC37.238-2011 - IEEE Draft Standard Profile for Use of IEEE 1588 Precision Time Protocol in Power System Applications. This documentation uses the terms Power Profile mode and Default Profile mode when referring to this IEEE 1588 profile and its associated configuration values.

Beginning in Cisco IOS-XE Release 17.8.1, two Power Profiles are supported: Power Profile-2011 and Power Profile-2017. Power Profile-2017 is defined in IEEE Standard C37.238™-2017 (Revision of IEEE Std C37.238-2011) for use of IEEE 1588 Precision Time Protocol in Power System Applications.

The IEEE 1588 definition of a PTP profile is the set of allowed PTP features applicable to a device. A PTP profile is usually specific to a particular type of application or environment and defines the following values:

  • Best master clock algorithm options

  • Configuration management options

  • Path delay mechanisms (peer delay or delay request-response)

  • Range and default values of all PTP configurable attributes and data set members

  • Transport mechanisms that are required, permitted, or prohibited

  • Node types that are required, permitted, or prohibited

  • Options that are required, permitted, or prohibited

Default Profile Mode

The default PTP profile mode on the router is Default Profile mode. In this mode:

  • IR8340 supports ordinary clock (OC)- slave, boundary clock (BC), and transparent clock (TC) on default profile.

  • IR8340 doesn’t support OC-master.

  • All PTP profiles over bundles or port-channels are not supported on IR8340.

Power Profile Mode

The IEEE Power Profile defines specific or allowed values for PTP networks used in power substations. The defined values include the optimum physical layer, the higher level protocol for PTP messages, and the preferred best master clock algorithm. The Power Profile values ensure consistent and reliable network time distribution within substations, between substations, and across wide geographic areas.

The router is optimized for PTP in these ways:

  • Hardware—The router uses FPGA and PHY for the PTP function. The PHY time stamps the Fast Ethernet and Gigabit Ethernet ports.

  • Software—In Power Profile mode, the router uses the configuration values defined in the IEEE 1588 Power Profile standard.

The following table lists the configuration values defined by the IEEE 1588 Power Profile and the values that the router uses for each PTP profile mode.

Table 1. Configuration Values for the IEEE PTP Power Profile and Router Modes

PTP Field

Router Configuration Value

Power Profile Mode

Default Profile Mode

Message transmission

Access Ports–Untagged Layer 2 packets.

Trunk Ports–802.1Q tagged Layer 2 packets. PTP packets are tagged with the PTP VLAN. If the PTP VLAN is not configured, packets go untagged over the native VLAN.

Layer 3 packets. By default, 802.1q tagging is disabled.
MAC address– Non-peer delay messages 01-00-5e-00-01-81. Default profile uses L3 transport multicast address 224.0.1.129 for all PTP messages. Equivalent mac address is 01-00-5e-00-01-81
MAC address– Peer delay messages 01-80-C2-00-00-0E. Not applicable to this mode.
Domain number 0. 0.
Path delay calculation Peer-to-peer transparent clocks using the peer_delay mechanism. End-to-end transparent clocks using the delay_request mechanism.
BMCA Enabled. Enabled.
Clock type Two-step. Two-step.
Time scale Epoch. Epoch.
Grandmaster ID and local time determination PTP-specific TLV to indicate Grandmaster ID. PTP-specific type, length, and value to indicate Grandmaster ID.
Time accuracy over network hops Over 16 hops, slave device synchronization accuracy is within 1 usec (1 microsecond). Not applicable in this mode.

802.1AS Profile

The IEEE 802.1AS standard "Timing and Synchronization for Time-Sensitive Applications in Bridged Local Area Networks" specifies the protocol and procedures used to ensure that synchronization requirements are met for time-sensitive applications across bridged and virtual bridged local area networks.

802.1AS specifies the use of IEEE 1588 (PTP) specifications where applicable in the context of IEEE Std 802.1D -2004 and IEEE Std 802.1Q -2005.1. The 802.1AS standard is one of three 802.1 AVB draft standards. 802.1AS over Ethernet (802.3) qualifies as a Profile of IEEE 1588-2008. It simplifies IEEE 1588 and defines synchronization over different types of media.


Note


802.1 AS can be configured with domain 0 only on IR8340 platform.


Key characteristics of 802.1AS are:

  • For Ethernet full-duplex links, it uses the peer delay mechanism.

  • All devices in the domain need to be 802.1AS capable.

  • Transportation of 802.1AS packets is L2 multicast only, with no VLAN tag.

  • It requires two-step processing (use of Follow_Up and Pdelay_Resp_Follow_Up messages to communicate timestamps).

  • There is only a single active grandmaster in a time-aware network. That is, there is only a single 802.1AS domain.

  • The BMCA (Best Master Clock Algorithm) is same as that used in IEEE 1588 with the following exceptions:

    • Announce messages received on a time recipient port that were not sent by the receiving time-aware system are used immediately; that is, there is no foreign-time source qualification.

    • A port that the BMCA determines should be a time source port enters the time source state immediately; that is, there is no pre-time source state.

    • The uncalibrated state is not needed and therefore not used.

    • All time-aware systems are required to participate in best master selection (even if the system is not grandmaster capable).

802.1AS is used in the Time Sensitive Network (TSN) feature. However, as a precise timing distribution mechanism, 802.1AS runs by itself without TSN configuration or inputs. The 802.1AS feature software implementation is based on the existing time stamping functionality of FPGA and has no new requirement on hardware beyond other PTP profiles.

The end-to-end time-synchronization performance of 802.1AS is as follows:

  • Any two time-aware systems separated by six or fewer time-aware systems (that is, seven or fewer hops) will be synchronized to within 1 μs peak-to-peak of each other during steady-state operation.

  • Performance beyond 7 hops is not defined.

PTP Profile Comparison

Table 2. Comparison of PTP Profiles on IE Switches
Profile Default (*) Power Profile-2011

Power Profile-2017

802.1AS
Standard IEEE1588 v2 (J.3) IEEE C37.238-2011

IEEE C37.238-2017

IEEE802.1AS
Mode Boundary End-to-End transparent Boundary Peer-to-Peer transparent

Peer-to-Peer transparent

**
Path Delay Delay req/res Delay req/res Peer delay req/res Peer delay req/res

Peer delay req/res

Peer delay req/res
Non-PTP device allowed in PTP domain Yes Yes No No

No

No
Transport UDP over IP (multicast) L2 Multicast

L2 Multicast

L2 Multicast

* Delay Request-Response Default PTP profile (as defined in IEEE1588 J.3).

** There is no mode setting for 802.1AS. Mathematically it is equivalent to P2P transparent, but it works differently from a transparent clock.

Tagging Behavior for PTP Packets

The following table describes the switch tagging behavior in Power Profile and Default Profile modes.

Table 3. Tagging Behavior for PTP Packets

Switch Port Mode

Configuration

Power Profile Mode

Default Profile Mode

Behavior

Priority

Behavior

Priority

Trunk Port vlan dot1q tag native enabled Switch tags packets 7 Switch tags packets 7
Trunk Port vlan dot1q tag native disabled PTP software tags packets 4 Untagged None
Access Port N/A Untagged None Untagged None

PTP Clock Modes Supported on the IR8340 Router

PTP synchronization behavior depends on the PTP clock mode that you configure on the router. You can configure the router for one of the following global modes.

See Guidelines and Limitations for guidelines for configuring each of the clock modes.

IR8340 supports the following PTP device types:

  • OC-slave , boundary clock, and transparent clock on Default Profile/IEEE 1588.

  • Boundary clock and transparent clock on Power profile.

  • Boundary clock on Dot1as profile.


Note


Currently all above profiles support two-step mode and don't support one-step mode on IR8340.


Configurable Boundary Clock Synchronization Algorithm

You can configure the BC synchronization algorithm to accommodate various PTP use cases, depending on whether you need to prioritize filtering of input time errors or faster convergence. A PTP algorithm that filters packet delay variation (PDV) converges more slowly than a PTP algorithm that does not.

By default, the BC uses a linear feedback controller (that is, a servo) to set the BC's time output to the next clock. The linear servo provides a small amount of PDV filtering and converges in an average amount of time. For improved convergence time, BCs can use the TC feedforward algorithm to measure the delay added by the network elements forwarding plane (the disturbance) and use that measured delay to control the time output.

While the feedforward BC dramatically speeds up the boundary clock, the feedforward BC does not filter any PDV. The adaptive PDV filter provides high quality time synchronization in the presence of PDV over wireless access points (APs) and enterprise switches that do not support PTP and that add significant PDV.

Three options are available for BC synchronization (all are compliant with IEEE 1588-2008):

  • Feedforward—For very fast and accurate convergence; no PDV filtering.

  • Adaptive—Filters as much PDV as possible, given a set of assumptions about the PDV characteristics, the hardware configuration, and the environmental conditions.


    Note


    With the adaptive filter, the switch does not meet the time performance requirements specified in ITU-T G.8261.


  • Linear—Provides simple linear filtering (the default).

Adaptive mode (ptp transfer filter adaptive ) is not available in Power Profile mode.

NTP to PTP Time Conversion

NTP to PTP Time Conversion allows you to use Network Time Protocol (NTP) as a time source for PTP. Customers who use PTP for very precise synchronization within a site can use NTP across sites, where precise synchronization is not required.

NTP is the traditional method of synchronizing clocks across packet based networks. NTP uses a two-way time transfer mechanism, between a time source and an end device. NTP is capable of synchronizing a device within a few 100 milliseconds across the Internet, and within a few milliseconds in a tightly controlled LAN. The ability to use NTP as a time source for PTP allows customers to correlate data generated in their PTP network with data in their enterprise data centers running NTP.

The following figure shows an example of an industrial network based on the Industrial Automation and Control System Reference Model. The enterprise zone and demilitarized zone run NTP, and the manufacturing zone and cell/area zone run PTP with NTP as the time source. The switch with the NTP to PTP conversion feature can be either the Layer 2 Switch or the Distribution Switch in the Cell/Area Zone.

Figure 5. Industrial Network with NTP and PTP

Clock Manager

The clock manager is the component in the Cisco NTP to PTP software architecture that keeps track of the various time services and selects the clock that actively provides time. The clock manager notifies the time services of important changes, such as state changes, leap seconds, or daylight saving time.

The clock manager selects the NTP or manually-set clock first, followed by PTP and the real-time clock if NTP is not active. The following table shows the results of the clock selection process.

Table 4. Time Service Selection
NTP (Active) or Manually Set PTP (Active) Real-Time Clock Selected Output
True Don’t care Don’t care NTP or Manually Set
False True Don’t care PTP
False False True Real-Time Clock

In general, the clock manager ensures that the time displayed in the Cisco IOS commands show ptp lan clock and show clock match. The show clock command always follows this priority, but there are two corner cases where the show ptp lan clock time may differ:

  • The router is either a TC or a BC, and there is no other active reference on the network. To preserve backwards compatibility, the TC and BC never take their time from the clock manager, only from the network’s PTP GMC. If there is no active PTP GMC, then the time displayed in the show clock and the show ptp lan clock command output may differ.

  • The router is a syntonizing TC, a BC with a slave port, or a GMC-BC with slave port, and the time provided by the PTP GMC does not match the time provided by NTP or the user (that is, manually set). In this case, the PTP clock must forward the time from the PTP GMC. If the PTP clock does not follow the PTP GMC, then the PTP network will end up with two different time bases, which would break any control loops or sequence of event applications using PTP.

The following table shows how the Cisco IOS and PTP clocks behave given the various configurations. Most of the time, the two clocks match. Occasionally, the two clocks are different; those configurations are highlighted in the table.

Table 5. Expected Time Flow
IOS Clock Configuration PTP Clock Configuration IOS Clock Source PTP Clock Source

Calendar

PTP BC, E2E TC, or GMC-BC in BC Mode

PTP

PTP

Manual PTP BC, E2E TC, or GMC-BC in BC Mode Manual PTP
NTP PTP BC, E2E TC, or GMC-BC in BC Mode NTP PTP
Calendar GMC-BC in GM Mode Calendar Calendar
Manual GMC-BC in GM Mode Manual Manual
NTP GMC-BC in GM Mode NTP NTP

GMC Block

GMC Block protects an existing network from any rogue GMC that might try to synchronize with the devices inside the network. This feature is supported for all PTP clock modes except Forward mode. After the feature is enabled on an interface, only the egress Announce, Sync, and Followup PTP packets are allowed and all ingress Announce, Sync, and Followup packets are dropped on this interface. This prevents the port state transition to time recipient.

Information about a rogue GMC is retrieved from the packets before dropping them. However, egress PTP packets are still allowed from this interface, so it can act as a GMC. To identify the rogue device, details such as IP address and clock ID are stored and displayed for the interface. Two Syslog messages are also generated to notify the presence and clearance of rogue devices.

You can configure PTP gmc-block on multiple ports, if you suspect multiple foreign networks are connected to your existing system. Per-port Syslog messages are displayed after an interval of 30 seconds of receiving rogue packets and after 180 -240 seconds when packets stop coming. Relay minor alarms and SNMP traps are also generated to notify of the presence of foreign rogue devices.

Packet Flow

The following figure shows an example of a PTP network topology with the GMC Block feature configured on an interface.

PTP packets originate in the GMC of the foreign network in an attempt to sync with the existing network. When the PTP packets reach the port configured with GMC Block, the packets are dropped after the system retrieves the required information from them.

Because packets from the foreign network are restricted, the system syncs with the local GMC present in the existing system. PTP packets originated on the port configured with GMC Block are still allowed to egress from this interface, which allows devices in the existing network to be GMC.

Packet Flow

The following figure shows an example of a PTP network topology with the GMC Block feature configured on an interface.

PTP packets originate in the GMC of the foreign network in an attempt to sync with the existing network. When the PTP packets reach the port configured with GMC Block, the packets are dropped after the system retrieves the required information from them.

Because packets from the foreign network are restricted, the system syncs with the local GMC present in the existing system. PTP packets originated on the port configured with GMC Block are still allowed to egress from this interface, which allows devices in the existing network to be GMC.

Guidelines and Limitations

PTP Messages

  • The Cisco PTP implementation supports only the two-step clock and not the one-step clock.

  • Cisco PTP supports multicast PTP messages only.

PTP Mode and Profile

  • The router and the grandmaster clock must be in the same PTP domain.

  • When Power Profile mode is enabled, the router drops the PTP announce messages that do not include these two Types, Length, Value (TLV) message extensions: Organization_extension and Alternate_timescale.

    If the grandmaster clock is not compliant with PTP and sends announce messages without these TLVs, configure the router to process the announce message by entering the following command:

    ptp clock boundary domain 1 profile power
    allow-without-tlv
    
  • When the router is in Power Profile mode, only the peer_delay mechanism is supported.

    To enable power profile boundary mode and associate interfaces using the clock-port suboption, enter the following command:

    ptp clock boundary domain 1 profile power
    clock-port 1
    transport ethernet multicast interface gi0/1/1
    
  • To disable power profile transparent mode, enter the following command, which returns the router to forward mode.

    no ptp clock transparent domain x profile power
    
  • To enable the E2E transparent clock, use the following command:

    ptp clock transparent domain x profile default
  • In Default Profile mode, only the delay_request mechanism is supported.

    To enable default profile boundary clock mode and interfaces associated with clock-port suboption, enter the following command:

    ptp clock boundary domain 1 profile default
    clock-port 1
    transport ipv4 multicast interface gi0/1/1
    
  • The 802.1AS profile does not have a clock mode setting.

Packet Format

  • The packet format for PTP messages can be 802.1q tagged packets or untagged packets.

  • The router does not support 802.1q QinQ tunneling.

  • In Power Profile mode:

    • When the PTP interface is configured as an access port, PTP messages are sent as untagged, Layer 2 packets.

    • When the PTP interface is configured as a trunk port, PTP packets are sent as 802.1q tagged Layer 2 packets over the port native VLAN.

  • Time recipient IEDs must support tagged and untagged packets.

  • When PTP packets are sent on the native VLAN in E2E Transparent Clock Mode, they are sent as untagged packets. To configure the switch to send them as tagged packets, enter the global vlan dot1q tag native command.

VLAN Configuration

  • Sets the PTP VLAN on a trunk port. The range is from 1 to 4094. The default is the native VLAN of the trunk port.

  • In boundary mode, only PTP packets in PTP VLAN will be processed, PTP packets from other VLANs will be dropped.

  • Before configuring the PTP VLAN on an interface, the PTP VLAN must be created and allowed on the trunk port.

  • Most grandmaster clocks use the default VLAN 0. In Power Profile mode, the router default VLAN is VLAN 1 and VLAN 0 is reserved. When you change the default grandmaster clock VLAN, it must be changed to a VLAN other than 0.

  • When VLAN is disabled on the grandmaster clock, the PTP interface must be configured as an access port.

Clock Configuration

  • All PHY PTP clocks are synchronized to the grandmaster clock. The router system clock is not synchronized as part of PTP configuration and processes.

  • When VLAN is enabled on the grandmaster clock, it must be in the same VLAN as the native VLAN of the PTP port on the router.

  • Grandmaster clocks can drop untagged PTP messages when a VLAN is configured on the grandmaster clock. To force the router to send tagged packets to the grandmaster clock, enter the global vlan dot1q tag native command.

PTP Interaction with Other Features

  • IR8340 does not support PTP over Port Channels.

  • The following PTP clock modes only operate on a single VLAN:

    • e2etransparent

    • p2ptransparent

NTP to PTP Conversion

  • The NTP to PTP feature supports the Default E2E Profile and Power Profile.

Default Settings

  • PTP is enabled on the router by default.

  • By default, the router uses configuration values defined in the Default Profile (Default Profile mode is enabled).

  • The router default PTP clock mode is E2E Transparent Clock Mode.

  • The default BC synchronization algorithm is linear filter.

Configuring GMC Mode

The following sections provide steps for configuring GMC mode for default and power profiles.

Configuring GMC Mode for a Default Profile

Follow these steps to configure GMC mode for a default profile:

SUMMARY STEPS

  1. ptp clock boundary domain domain-number profile default
  2. gmc-bc default
  3. clock-port port-name
  4. transport ipv4 multicast interface-type interface-number

DETAILED STEPS

  Command or Action Purpose

Step 1

ptp clock boundary domain domain-number profile default

Example:

router(config)# ptp clock boundary domain 0 profile default 

Enable the default profile boundary mode.

Step 2

gmc-bc default

Example:

router(config-ptp-clk)# gmc-bc default

Enable the GMC boundary clock.

Step 3

clock-port port-name

Example:

router(config-ptp-clk)# clock-port port1

Define a new clock port.

Step 4

transport ipv4 multicast interface-type interface-number

Example:

router(config-ptp-port)# transport ipv4 multicast interface Gi0/1/1

Specify the transport mechanism for clocking traffic.

Configuring GMC Mode for a Power Profile

Complete the steps in this section to configure GMC mode for a power profile.

SUMMARY STEPS

  1. ptp clock boundary domain domain-number profile power
  2. gmc-bc default
  3. clock-port port-name
  4. transport ethernet multicast interface-type interface-number

DETAILED STEPS

  Command or Action Purpose

Step 1

ptp clock boundary domain domain-number profile power

Example:

router(config)# ptp clock boundary domain 0 profile power 

Enable the power profile boundary mode.

Step 2

gmc-bc default

Example:

router(config-ptp-clk)# gmc-bc default

Enable the GMC boundary clock.

Step 3

clock-port port-name

Example:

routerrouter(config-ptp-clk)# clock-port port1

Defines a new clock port.

Step 4

transport ethernet multicast interface-type interface-number

Example:

router(config-ptp-port)# transport ethernet multicast interface gi0/1/1

Specifies the transport mechanism for clocking traffic.

Configuring PTP Default Profile

This section describes how to configure the router to operate in Default Profile mode.

Configuring an Ordinary Clock Client

Follow these steps to configure the router as an ordinary clock client:

SUMMARY STEPS

  1. enable
  2. configure terminal
  3. ptp clock ordinary domain domain-number profile default
  4. clock-port port-name {master | slave }
  5. transport ipv4 multicast interface interface-type interface-number
  6. (Optional) vlan vlan-id

DETAILED STEPS

  Command or Action Purpose

Step 1

enable

Example:

Router> enable

Enables privileged EXEC mode.

  • Enter your password if prompted.

Step 2

configure terminal

Example:

Router# configure terminal

Enters configuration mode.

Step 3

ptp clock ordinary domain domain-number profile default

Example:

Router(config)# ptp clock ordinary domain 0  profile default

Configures the PTP clock. You can create the following clock types:

  • ordinary—A 1588 clock with a single PTP port that can operate in Server or Client mode.

  • boundary—Terminates PTP session from Grandmaster and acts as PTP Server or Client clocks downstream.

  • transparent—Updates the PTP time correction field to account for the delay in forwarding the traffic. This helps improve the acuracy of 1588 clock at client.

Step 4

clock-port port-name {master | slave }

Example:

Router(config-ptp-clk)# clock-port slave slave

Defines a new clock port and sets the port to PTP Server or Client mode; in client mode, the port exchanges timing packets with a PTP server clock.

Step 5

transport ipv4 multicast interface interface-type interface-number

Example:

Router(config-ptp-port)# transport ipv4 multicast interface Gi0/1/11

Specifies the transport mechanism for clocking traffic.

Step 6

(Optional) vlan vlan-id

Example:

vlan 100

Configure VLAN for tagged packets.

Example

Example of Untagged

ptp clock ordinary domain 0  profile default
 clock-port slave slave
  transport ipv4 multicast interface Gi0/1/11

Example of Tagged

ptp clock ordinary domain 0  profile default
 clock-port slave slave
  transport ipv4 multicast interface Gi0/1/11
  vlan 100

Configuring a Boundary Clock

If an interface is not added as part of BC clock, it will be in forward mode exchanging PTP packets, which will cause instability in PTP operation. To avoid this, it is recommended to disable PTP on all such interfaces using the no ptp enable command.

Follow these steps to configure the router as a boundary clock:

SUMMARY STEPS

  1. enable
  2. configure terminal
  3. ptp clock boundary domain domain-number profile default
  4. clock-port port-name
  5. transport ipv4 multicast interface interface-type interface-number
  6. (Optional) vlan vlan-id

DETAILED STEPS

  Command or Action Purpose

Step 1

enable

Example:

Router> enable

Enables privileged EXEC mode.

  • Enter your password if prompted.

Step 2

configure terminal

Example:

Router# configure terminal

Enters configuration mode.

Step 3

ptp clock boundary domain domain-number profile default

Example:

Router(config)# ptp clock boundary domain 0  profile default

Configures the PTP clock. You can create the following clock types:

  • ordinary—A 1588 clock with a single PTP port that can operate in Server or Client mode.

  • boundary—Terminates PTP session from Grandmaster and acts as PTP Server or Client clocks downstream.

  • transparent—Updates the PTP time correction field to account for the delay in forwarding the traffic. This helps improve the acuracy of 1588 clock at client.

Step 4

clock-port port-name

Example:

Router(config-ptp-clk)# clock-port dyn1

Defines a new clock port.

Step 5

transport ipv4 multicast interface interface-type interface-number

Example:

Router(config-ptp-port)# transport ipv4 multicast interface Gi0/1/0

Specifies the transport mechanism for clocking traffic.

Step 6

(Optional) vlan vlan-id

Example:

vlan 100

Configure VLAN for tagged packets.

Example

Example of Untagged

ptp clock boundary domain 0  profile default
 clock-port dyn1
  transport ipv4 multicast interface Gi0/1/0
 clock-port dyn2
  transport ipv4 multicast interface Gi0/1/2

Example of Tagged

ptp clock boundary domain 0  profile default
 clock-port dyn1
  transport ipv4 multicast interface Gi0/1/0
  vlan 100
 clock-port dyn2
  transport ipv4 multicast interface Gi0/1/2
  vlan 200

Configuring a Transparent Clock

All interfaces will be part of TC mode once configured.

Follow these steps to configure the router as a transparent clock.

SUMMARY STEPS

  1. enable
  2. configure terminal
  3. ptp clock transparent domain domain-number profile default
  4. (Optional) vlan vlan-id

DETAILED STEPS

  Command or Action Purpose

Step 1

enable

Example:

Router> enable

Enables privileged EXEC mode.

  • Enter your password if prompted.

Step 2

configure terminal

Example:

Router# configure terminal

Enters configuration mode.

Step 3

ptp clock transparent domain domain-number profile default

Example:

Router(config)# ptp clock transparent domain 0  profile default

Configures the PTP clock. You can create the following clock types:

  • ordinary—A 1588 clock with a single PTP port that can operate in Server or Client mode.

  • boundary—Terminates PTP session from Grandmaster and acts as PTP Server or Client clocks downstream.

  • transparent—Updates the PTP time correction field to account for the delay in forwarding the traffic. This helps improve the acuracy of 1588 clock at client.

Step 4

(Optional) vlan vlan-id

Example:

vlan 100

Configure VLAN for tagged packets.

Example

Example of Untagged

ptp clock transparent domain 0  profile default

Example of Tagged

ptp clock transparent domain 0  profile default
vlan 100

Example of not Including TLV Extensions: Power Profile-2011

ptp clock transparent domain 0 profile power
allow-without-tlv

Example of not Including TLV Extensions: Power Profile-2017

ptp clock transparent domain 0 profile power-2017
allow-without-tlv

Configuring PTP Power Profile

This section describes how to configure the router to use the PTP Power Profile.

The Power Profile defines a subset of PTP which is intended to run over layer 2 networks, that is, Ethernet, but no Internet Protocol.


Note


Power Profile-2017 is supported only in Transparent Clock mode.


Configuring an Ordinary Clock

Follow these steps to configure the router as an ordinary clock:

SUMMARY STEPS

  1. enable
  2. configure terminal
  3. ptp clock ordinary domain domain-number profile power
  4. clock-port port-name {master | slave }
  5. transport ipv4 multicast interface interface-type interface-number
  6. (Optional) vlan vlan-id

DETAILED STEPS

  Command or Action Purpose

Step 1

enable

Example:

Router> enable

Enables privileged EXEC mode.

  • Enter your password if prompted.

Step 2

configure terminal

Example:

Router# configure terminal

Enters configuration mode.

Step 3

ptp clock ordinary domain domain-number profile power

Example:

Router(config)# ptp clock ordinary domain 0  profile power

Configures the PTP clock. You can create the following clock types:

  • ordinary—A 1588 clock with a single PTP port that can operate in Server or Client mode.

  • boundary—Terminates PTP session from Grandmaster and acts as PTP Server or Client clocks downstream.

  • transparent—Updates the PTP time correction field to account for the delay in forwarding the traffic. This helps improve the acuracy of 1588 clock at client.

Step 4

clock-port port-name {master | slave }

Example:

Router(config-ptp-clk)# clock-port slave slave

Defines a new clock port and sets the port to PTP Server or Client mode; in client mode, the port exchanges timing packets with a PTP server clock.

Step 5

transport ipv4 multicast interface interface-type interface-number

Example:

Router(config-ptp-port)# transport ipv4 multicast interface Gi0/1/11

Specifies the transport mechanism for clocking traffic.

Step 6

(Optional) vlan vlan-id

Example:

vlan 100

Configure VLAN for tagged packets.

Example

Example of Untagged

ptp clock ordinary domain 0  profile power
 clock-port slave slave
  transport ipv4 multicast interface Gi0/1/11

Example of Tagged

ptp clock ordinary domain 0  profile power
 clock-port slave slave
  transport ipv4 multicast interface Gi0/1/11
  vlan 100

Configuring a Boundary Clock

If an interface is not added as part of BC clock, it will be in forward mode exchanging PTP packets, which will cause instability in PTP operation. To avoid this, it is recommended to disable PTP on all such interfaces using the no ptp enable command.

Follow these steps to configure the router as a boundary clock:

SUMMARY STEPS

  1. enable
  2. configure terminal
  3. ptp clock boundary domain domain-number profile power
  4. clock-port port-name
  5. transport ethernet multicast interface interface-type interface-number
  6. (Optional) vlan vlan-id

DETAILED STEPS

  Command or Action Purpose

Step 1

enable

Example:

Router> enable

Enables privileged EXEC mode.

  • Enter your password if prompted.

Step 2

configure terminal

Example:

Router# configure terminal

Enters configuration mode.

Step 3

ptp clock boundary domain domain-number profile power

Example:

Router(config)# ptp clock boundary domain 0  profile default

Configures the PTP clock. You can create the following clock types:

  • boundary—Terminates PTP session from Grandmaster and acts as PTP Server or Client clocks downstream.

  • transparent—Updates the PTP time correction field to account for the delay in forwarding the traffic. This helps improve the acuracy of 1588 clock at client.

Step 4

clock-port port-name

Example:

Router(config-ptp-clk)# clock-port dyn1

Defines a new clock port.

Step 5

transport ethernet multicast interface interface-type interface-number

Example:

Router(config-ptp-port)# transport ethernet multicast interface Gi0/1/0

Specifies the transport mechanism for clocking traffic.

Step 6

(Optional) vlan vlan-id

Example:

vlan 100

Configure VLAN for tagged packets.

Example

Example of Untagged

ptp clock boundary domain 0  profile power
 clock-port dyn1
  transport ethernet multicast interface Gi0/1/0
 clock-port dyn2
  transport ethernet multicast interface Gi0/1/2

Example of Tagged

ptp clock boundary domain 0  profile power
 clock-port dyn1
  transport ethernet multicast interface Gi0/1/0
  vlan 100
 clock-port dyn2
  transport ethernet multicast interface Gi0/1/2
  vlan 100

Configuring a Transparent Clock

Follow these steps to configure the router as a transparent clock.

SUMMARY STEPS

  1. enable
  2. configure terminal
  3. ptp clock transparent domain domain-number profile power
  4. (Optional) vlan vlan-id

DETAILED STEPS

  Command or Action Purpose

Step 1

enable

Example:

Router> enable

Enables privileged EXEC mode.

  • Enter your password if prompted.

Step 2

configure terminal

Example:

Router# configure terminal

Enters configuration mode.

Step 3

ptp clock transparent domain domain-number profile power

Example:

Router(config)# ptp clock transparent domain 0  profile power

Configures the PTP clock. You can create the following clock types:

  • boundary—Terminates PTP session from Grandmaster and acts as PTP Server or Client clocks downstream.

  • transparent—Updates the PTP time correction field to account for the delay in forwarding the traffic. This helps improve the acuracy of 1588 clock at client.

Step 4

(Optional) vlan vlan-id

Example:

vlan 100

Configure VLAN for tagged packets.

Example

Example of Untagged

ptp clock transparent domain 0  profile power

Example of Tagged

ptp clock transparent domain 0  profile power
vlan 100

Example of not Including TLV Extensions: Power Profile-2011

ptp clock transparent domain 0 profile power
allow-without-tlv

Example of not Including TLV Extensions: Power Profile-2017

ptp clock transparent domain 0 profile power-2017
allow-without-tlv

Configuring 802.1AS Profile

This section describes how to configure the router to use the 802.1AS Profile.

Generalized Precision Time Protocol (gPTP) is an IEEE 802.1AS standard, which provides a mechanism to synchronize clocks of the bridges and end point devices in an AVB network. It defines the mechanism to elect the grandmaster clock (BMCA) among the time-aware bridges and talker and listener. The grandmaster is the root of the timing hierarchy that gets established in the time-aware network and distributes time to nodes below to enable synchronization.

A gPTP domain, hereafter referred to as simply a domain, consists of one or more time-aware systems and links that meet the requirements of this standard and communicate with each other as defined by the IEEE 802.1AS protocol. A gPTP domain defines the scope of gPTP message communication, state, operations, data sets, and timescale.

The domain number of a gPTP domain shall be 0.

There are two types of time-aware systems used in a gPTP domain, as follows:

  • time-aware end station

  • time-aware Bridge


Note


Dot1as profile supports BC type only. It does not support TC and OC-slave.



Note


Dot1as profile is not supported when GNSS is enabled on the device.


Configuring a Boundary Clock

If an interface is not added as part of BC clock, it will be in forward mode exchanging PTP packets, which will cause instability in PTP operation. To avoid this, it is recommended to disable PTP on all such interfaces using the no ptp enable command.

Follow these steps to configure the router as a boundary clock:

SUMMARY STEPS

  1. enable
  2. configure terminal
  3. ptp clock boundary domain domain-number profile dot1as
  4. clock-port port-name
  5. transport ethernet multicast interface interface-type interface-number

DETAILED STEPS

  Command or Action Purpose

Step 1

enable

Example:

Router> enable

Enables privileged EXEC mode.

  • Enter your password if prompted.

Step 2

configure terminal

Example:

Router# configure terminal

Enters configuration mode.

Step 3

ptp clock boundary domain domain-number profile dot1as

Example:

Router(config)# ptp clock boundary domain 0  profile dot1as

Configures the PTP clock. You can create the following clock type:

  • boundary—Terminates PTP session from Grandmaster and acts as PTP Server or Client clocks downstream.

Step 4

clock-port port-name

Example:

Router(config-ptp-clk)# clock-port dyn1

Defines a new clock port.

Step 5

transport ethernet multicast interface interface-type interface-number

Example:

Router(config-ptp-port)# transport ethernet multicast interface Gi0/1/0

Specifies the transport mechanism for clocking traffic.

Example

ptp clock boundary domain 0  profile dot1as
 clock-port dyn1
  transport ethernet multicast interface Gi0/1/0
 clock-port dyn2
  transport ethernet multicast interface Gi0/1/2

Disable PTP

Complete the steps in this section to disable PTP on an interface.


Note


The following procedure applies to both default and power modes.


SUMMARY STEPS

  1. interface interface-id
  2. no ptp enable

DETAILED STEPS

  Command or Action Purpose

Step 1

interface interface-id

Example:

router(config)# interface gi0/1/1

Enter interface configuration mode.

Step 2

no ptp enable

Disable PTP on the interface.

PTP Multidomain

IR8340 can configure up to 4 different clock domains. All domains can be of different profiles and roles. There is a restriction of supporting only one TC at a time, but you can have multiple BC/OC domains.

DUT1#show run | sec ptp
ptp clock boundary domain 1  profile default
 clock-port 1
  transport ipv4 multicast interface Gi0/1/0
ptp clock boundary domain 2  profile power
 clock-port mas
  transport ethernet multicast interface Gi0/1/1 
ptp clock ordinary domain 3  profile default
 clock-port sl slave
  transport ipv4 multicast interface Gi0/1/2
ptp clock transparent domain 4  profile power

GMC COMMANDS:

ptp clock boundary domain 2  profile power|default
Gmc-bc source 0 ntp or Gmc-bc source 0 ptp domain 1 --- we can specifically mention sources
Gmc-bc default --- This command will take NTP|Handset based on availability and class value.

Verifying the Configuration

You can use the following commands to verify the PTP configuration:

  • show ptp clock dataset parent

  • show ptp clock dataset current

  • show ptp clock dataset time-properties

  • show ptp clock dataset default

  • show ptp clock running

  • show ptp port dataset port

  • show ptp lan clock

  • show ptp lan port counters messages

  • show ptp lan port counters errors

  • show ptp lan foreign-master-record

  • show ptp lan rogue-master-record

  • show ptp lan histogram ?

    delay—Show PTP histogram of mean path delay

    offset—Show PTP histogram of offset

    time-error—Show PTP history of time error (last 15 days)

  • show ptp lan history ?

    delay—Show PTP history of mean path delay (last 15 days)

    offset—Show PTP history of offset (last 15 days)

    time-error—Show PTP history of time error (last 15 days)

The following example shows the Default Profile configuration:

DUT1#show ptp lan clock running 
                      PTP Boundary Clock [Domain 0]  [Profile: default]
         State          Ports          Pkts sent      Pkts rcvd      Redundancy Mode
         PHASE_ALIGNED  1              7340           13877          Hot standby
                               PORT SUMMARY
                                                                      PTP Master
Name  Tx Mode      Role         Transport    State        Sessions     Port Addr
1     mcast        negotiated   Gi0/1/0     Slave        1            UNKNOWN
DUT1#

The following example shows the Power Profile configuration:

DUT1#show ptp clock running
                      PTP Boundary Clock [Domain 0]  [Profile: power]
         State          Ports          Pkts sent      Pkts rcvd      Redundancy Mode
         PHASE_ALIGNED  1              193            46             Hot standby
                               PORT SUMMARY
                                                                 		      PTP Master
Name  Tx Mode      Role         Transport    State        Sessions     Port Addr
1     mcast        negotiated   Ethernet     Slave        1            UNKNOWN
DUT1#

The following example shows the 802.1AS Profile configuration:

DUT1#show ptp clock running
                      PTP Boundary Clock [Domain 0]  [Profile: dot1as]
         State          Ports          Pkts sent      Pkts rcvd      Redundancy Mode
         PHASE_ALIGNED  1              1193            1146             Hot standby
                               PORT SUMMARY
                                                                 		      PTP Master
Name  Tx Mode      Role         Transport    State        Sessions     Port Addr
1     mcast        negotiated   Ethernet     Slave        1            UNKNOWN
DUT1#