Ian Gough
 · Co-Founder@Timebeat

Configure a PTP source to distribute IEEE-1588 PTP

Typically, you will want to configure your distributing sources in the Primary Clocks section; however, this location is not required; the configuration will also be applied in the secondary source section.

Below is the default PTP config information:

# PTP Config example
      - protocol:                 ptp
        domain:                   0
        #serve_unicast:           true
        #max_unicast_subscribers: 0
        #serve_multicast:         true
        #server_only:             true
        announce_interval:        1
        sync_interval:            0
        delayrequest_interval:    0
        disable:                  true  # Disable clock config
        #unicast_master_table:    ['1.2.3.4','2.3.4.5', '3.4.5.6']
        #delay_strategy:          e2e   # other options which can be used are: 'p2p'
        #hybrid_e2e:              false # Send delay requests as unicast (enterprise profile)
        #priority1:               128
        #priority2:               128
        #monitor_only:            false
        #use_layer2:              false      # Use ptp over ethernet instead of IP/UDP
        #interface:               enp2s0
        #group:                   ptp_feeds_from_venue
        #profile:                 'G.8275.2' # other options which can be used are: 'G.8275.1', 'G.8265.1', 'enterprise-draft' and 'iec-ieee-61850-9-3'
        #logsource:               'Grandmaster Clock in NY4' # configurable name for source included in all logging records for source
        #asymmetry_compensation:  0 # In nanoseconds. Static compensation for know asymmetry (+/- as the case maybe)
        #max_packets_per_second:  0 # If inbound packet rate exceeds this a WRED algorithm is used
        #peer_id:                 "Customer XYZ"
        #sptp_enable:             false

PTP can be distributed as Multicast, Unicast or Hybrid and have multiple profile specifications. This is a simplified guide on how to set up a PTP source to distribute.


How to configure PTP master in unicast mode:

# PTP Config example
      - protocol:                 ptp
        domain:                   0
        serve_unicast:           true
        #max_unicast_subscribers: 0
        #serve_multicast:         true
        server_only:             true
        announce_interval:        1
        sync_interval:            0
        delayrequest_interval:    0
        disable:                  false  # Disable clock config
        unicast_master_table:    ['INSERT IP ADDRESS OF INTERFACE']
        #delay_strategy:          e2e   # other options which can be used are: 'p2p'
        #hybrid_e2e:              false # Send delay requests as unicast (enterprise profile)
        #priority1:               128
        #priority2:               128
        #monitor_only:            false
        #use_layer2:              false      # Use ptp over ethernet instead of IP/UDP
        interface:               INSERT INTERFACE ID
        #group:                   ptp_feeds_from_venue
        #profile:                 'G.8275.2' # other options which can be used are: 'G.8275.1', 'G.8265.1', 'enterprise-draft' and 'iec-ieee-61850-9-3'
        #logsource:               'Grandmaster Clock in NY4' # configurable name for source included in all logging records for source
        #asymmetry_compensation:  0 # In nanoseconds. Static compensation for know asymmetry (+/- as the case maybe)
        #max_packets_per_second:  0 # If inbound packet rate exceeds this a WRED algorithm is used
        #peer_id:                 "Customer XYZ"
        #sptp_enable:             false

A couple of key items to note for Unicast PTP is that you will need to add the IP address of the Unicast master. In this case, as we are the master, this will be the IP of the interface you note in the interface section.

How to configure PTP master in Multicast mode:

# PTP Config example
      - protocol:                 ptp
        domain:                   0
        #serve_unicast:           true
        #max_unicast_subscribers: 0
        serve_multicast:         true
        server_only:             true
        announce_interval:        1
        sync_interval:            0
        delayrequest_interval:    0
        disable:                  false  # Disable clock config
        #unicast_master_table:    ['INSERT IP ADDRESS OF INTERFACE']
        #delay_strategy:          e2e   # other options which can be used are: 'p2p'
        #hybrid_e2e:              false # Send delay requests as unicast (enterprise profile)
        #priority1:               128
        #priority2:               128
        #monitor_only:            false
        #use_layer2:              false      # Use ptp over ethernet instead of IP/UDP
        interface:               INSERT INTERFACE ID
        #group:                   ptp_feeds_from_venue
        #profile:                 'G.8275.2' # other options which can be used are: 'G.8275.1', 'G.8265.1', 'enterprise-draft' and 'iec-ieee-61850-9-3'
        #logsource:               'Grandmaster Clock in NY4' # configurable name for source included in all logging records for source
        #asymmetry_compensation:  0 # In nanoseconds. Static compensation for know asymmetry (+/- as the case maybe)
        #max_packets_per_second:  0 # If inbound packet rate exceeds this a WRED algorithm is used
        #peer_id:                 "Customer XYZ"
        #sptp_enable:             false

A key item to note is that you will need to insert the Interface ID of the interface you are looking to distribute PTP from.

How to configure PTP master in Hybrid mode:

# PTP Config example
      - protocol:                 ptp
        domain:                   0
        #serve_unicast:           true
        #max_unicast_subscribers: 0
        serve_multicast:         true
        server_only:             true
        announce_interval:        0
        sync_interval:            0
        delayrequest_interval:    0
        disable:                  false  # Disable clock config
        #unicast_master_table:    ['INSERT IP ADDRESS OF INTERFACE']
        #delay_strategy:          e2e   # other options which can be used are: 'p2p'
        hybrid_e2e:              true # Send delay requests as unicast (enterprise profile)
        #priority1:               128
        #priority2:               128
        #monitor_only:            false
        #use_layer2:              false      # Use ptp over ethernet instead of IP/UDP
        interface:               INSERT INTERFACE ID
        #group:                   ptp_feeds_from_venue
        profile:                 'enterprise-draft' # other options which can be used are: 'G.8275.1', 'G.8265.1', 'enterprise-draft' and 'iec-ieee-61850-9-3'
        #logsource:               'Grandmaster Clock in NY4' # configurable name for source included in all logging records for source
        #asymmetry_compensation:  0 # In nanoseconds. Static compensation for know asymmetry (+/- as the case maybe)
        #max_packets_per_second:  0 # If inbound packet rate exceeds this a WRED algorithm is used
        #peer_id:                 "Customer XYZ"
        #sptp_enable:             false