IEEE 1588-2008 (PTPv2)
The IEEE 1588-2008 (PTPv2) module offers interoperability with a wide range of 3rd party devices. It has been specifically designed to work as PTP master while supporting the following profiles:
- Default
- Telecom profiles:
- G.8265.1
- Power profiles:
- IEEE C37.238-2017
- IEEE 61850-9-3
License
Note: PTP License: A specific license must be purchased in order to get full access to the IEEE 1588-2008 (PTPv2) module. When no license is provided, the PTP instance will start with default profile and parameters. The user will only be allowed to configure the Role of the port (Master, Slave & Disabled).
The following table compares the configuration of IEEE-1588 (PTP) when using or not a valid license.
IEEE 1588 configuration with/without license
PTP | With License | Without License |
---|---|---|
Mode | Auto, Master, Slave, Disabled | Master, Slave or Disabled |
Transfer mode | Multicast, Unicast, or Hybrid | Multicast |
Unicast Negotiation | Enabled or Disabled | Disabled |
Delay Mechanism | End to End (E2E) or Peer to Peer (P2P) | End to End (E2E) |
Network mode | IPv4 or Ethernet (layer 2) | IPv4 |
Domain | 0-255 | 0 |
Announce ratio | [1 msg/128s, 16 msg/s] ([-7,4]) | 1 msg/sec |
Sync ratio | [1 msg/128s,128 msg/s] ([-7,7]) | 1 msg/sec |
Delay Req ratio | [1 msg/128s,128 msg/s] ([-7,7]) | 1 msg/sec |
Advanced Settings | ||
Offset correction | Any number (in nanoseconds) | 0 |
Servo Fit Algorithm | Normal, Soft, Hard, Hardx2 | Normal |
PTP license management
All the topics related to PTP license management such as purchasing, activating and checking are explained within the Licenses section (Licenses).
Once the license is activated (see image below) the web interface should allow the user to configure these settings as explained in Configuration.
Unlicensed VS Licensed PTP daemon
Note: The CLI tool allows to modify and save all the parameters listed in IEEE 1588 configuration with/without license even without license. However, they will not be Applied/Loaded until the PTP license is validated.
Configuration
Note: Master/Slave port configuration: The role of the port is given by the Preset (Presets) and cannot be modified directly from the PTPv2 configuration tab. The section Custom should be read in case the user needs to modify the role for a specific port.
Note: PTP provides many options to support a wide range of applications. Then, the PTP profiles restrain some specific settings in order to limit compatibility to only a subset of PTP. The user should thus consider these restrictions when configuring PTP for a specific profile.
The parameters associated to PTP are listed below:
OID | Name | Value Type | Description |
---|---|---|---|
19.xx13.x | net/<iface>/1/cfg | Configuration of the corresponding <iface> port instance. | |
19.xx13.8 | Profile | 0. Default
1. Custom 2. Telecom 8265.1 3. C37.238-2017 Power 4. 61850-9-3 Power |
Profile selected (Default, telecom...) with a set of options pre-configured. Default: Default profile. |
19.xx13.9 | Transport Protocol |
5. Layer 2
Default: Layer 2 |
Define the network layer that delivers the PTP packets. |
19.xx13.10 | Delay Mechanism |
0. E2E
Default: E2E |
Path delay measuring mechanism used by the PTP Port {E2E (End to End delay request-response mechanism), P2P (Peer to Peer delay mechanism) }. |
19.xx13.11 | Transport Mode |
0. Multicast
|
By default, multicast is used to automatically discover the PTP peers. When unicast mode is selected, the PTP topology must be pre-defined by filling unicast destination. The hybrid mode will send delay request and response packets via unicast and the others via multicast. |
19.xx13.12 | Unicast Negotiation | <Bool> Default: No | Enable unicast negotiation support. This option is needed by ITU-T G8265.1 When Unicast is enabled, this parameter will be activated automatically. |
19.xx13.13 | Unicast Destination | <String> Default: empty | IPv4 address (or coma separated list of IPv4 addresses). Mandatory for slave unicast as they must request to a predefined GM(s). Mandatory for GMs with unicast negotiation disabled as they must deliver to a pre-configured group of slaves. |
19.xx13.14 | Domain | <Integer> [0-255] Default: 0 | Domain number associated to the PTP transactions. Several domains can work simultaneously. PTP profiles can restrict the value of domain number (i.e., 8265.1) |
19.xx13.20 | Announce Rate | <Enums> Default: 1 packet/s | Rate of announce messages transmitted to be used by BMCA/FOCA. From 1 packet each [2,4,8,16,32,128] seconds to [1,2,4,8,16] packets per second. |
19.xx13.21 | Sync Rate | <Enums> Default: 1 packet/s | Rate of sync (and follow-up) messages from master to slave (Figure IEEE 1588-2008 (PTPv2)). From 1 packet each [2,4,8,16,32,128] seconds to [1,2,4,8,16,32,61,128] packets per second. |
19.xx13.22 | Delay Req Rate | <Enums> Default: 1 packet/s | Rate of delay request from slave to master. From 1 packet each [2,4,8,16,32,128] seconds to [1,2,4,8,16,32,61,128] packets per second. |
19.xx13.23 | Peer Delayreq Rate | <Enums> Default: 1 packet/s | Rate of Peer delay request when operating in P2P mode. From 1 packet each [2,4,8,16,32,128] seconds to [1,2,4,8,16,32,61,128] packets per second. |
19.xx13.18 | User offset | <Integer>
Default: Hardware version-dependent. |
User offset to compensate internal PTP delay. The devices are calibrated for each release and it is not recommended to change the default value. |
19.xx13.24 | PTP Timescale | <Enum>
1. PTP 2. ARB Defaul: PTP |
Since we only support hardware timestamping, PTP Timescale will always be set to "PTP". ARB (arbitrary) timescale should not be selected. |
Note: Ensure you configure announce, delay request, and delay response rates identically in both the master and slave devices to achieve correct PTP synchronization.
Configuration of PTP Profiles
A valid license is needed to perform the configuration of PTP profiles. If your presets allow a valid MASTER or SLAVE port state, then you will be able to configure your PTP profiles for each port by navigating to Configuration > IEEE 1588-2008 (PTP).
Selecting PTP Profiles
Then if some advanced settings need to be modified the user can click on the Advanced View button to expand the configuration of a given interface.
If a profile is selected but the configuration is out of range for the selected profile, the profile will be changed to Custom automatically.
Note: Custom Profile: In case some (advanced) settings are modified not accordingly to the specification of the selected profile the web interface will automatically change to use the Custom profile. It will not restrict the user to any configuration.
The tables below summarize the limitation of the configuration for the different PTP profiles supported by the WR-ZEN device. Worth mentioning that some of the settings have no default value but must fit with a specific range. Strikethrough settings are ignored by the profile and can be left empty or with previous value.
Telecom ITU-T 8265.1
The objective of this profile is to distribute frequency within 16 ppb over a network with some non-aware PTP nodes.
OID | Name | Default Value | Range | Note | |
---|---|---|---|---|---|
Min | Max | ||||
19.xx13.x | net/<iface>/1/cfg | ||||
19.xx13.9 | Transport Protocol | IPv4/UDP | - | - | Only IPv4/UDP allowed. IP address must be set before selecting this profile. |
19.xx13.10 | Delay Mechanism | E2E | - | - | Only E2E allowed |
19.xx13.14 | Domain | 4 | 4 | 23 | |
19.xx13.11 | Transport Mode | Unicast | - | - | Only Unicast allowed |
19.xx13.12 | Unicast Negotiation | True | Always True for this profile | ||
19.xx13.13 | Unicast Destination | <IP> | |||
19.xx13.20 | Announce Rate | 1/2 | 1/16 | 8 | |
19.xx13.21 | Sync Rate | 1/16 | 1/16 | 128 | |
19.xx13.22 | Delay Req Rate | 1/16 | 1/16 | 128 | |
19.xx13.24 | PTP Timescale | PTP |
Power Profile: IEEE C37.238-2017
This profile has been created to target Power Systems Applications.
OID | Name | Default Value | Range | Note | |
---|---|---|---|---|---|
Min | Max | ||||
19.xx13.x | net/<iface>/1/cfg | ||||
19.xx13.9 | Transport Protocol | Layer 2 (IEEE802.3) | - | - | Only Layer 2 is allowed |
19.xx13.10 | Delay Mechanism | P2P | - | - | Only P2P allowed |
19.xx13.14 | Domain | 254 | 0 | 127 | The range also includes the single default value 254 ([0, 127] and 254). |
19.xx13.11 | Transport Mode | Multicast | - | - | Only Multicast allowed. |
19.xx13.20 | Announce Rate | 1 | - | - | Only 1 packet/s allowed |
19.xx13.21 | Sync Rate | 1 | - | - | Only 1 packet/s allowed |
19.xx13.23 | Peer Delay req Rate | 1 | - | - | Only 1 packet/s allowed |
19.xx13.24 | PTP Timescale | PTP | |||
19.xx13.74 | Device Time Inaccuracy | 11 | 0 | 65535 | This parameter is added to the C37 inaccuracy LV in each PTP hop. If changed, it is required to save the new configuration and reboot the device. |
Power Utility Profile: IEEE 61850-9-3
This profile has been created to target Power Utility applications .
OID | Name | Default Value | Range | Note | |
---|---|---|---|---|---|
Min | Max | ||||
19.xx13.x | net/<iface>/1/cfg | ||||
19.xx13.9 | Transport Protocol | Layer 2 (IEEE802.3) | - | - | Only Layer 2 is allowed |
19.xx13.10 | Delay Mechanism | P2P | - | - | Only P2P allowed |
19.xx13.14 | Domain | 0 | 0 | 255 | |
19.xx13.11 | Transport Mode | Multicast | - | - | Only Multicast allowed. |
19.xx13.20 | Announce Rate | 1 | - | - | Only 1 packet/s allowed |
19.xx13.21 | Sync Rate | 1 | - | - | Only 1 packet/s allowed |
19.xx13.23 | Peer Delay req Rate | 1 | - | - | Only 1 packet/s allowed |
19.xx13.24 | PTP Timescale | PTP |
Default Profile
This profile has default settings.
OID | Name | Default Value | Range | Note | |
---|---|---|---|---|---|
Min | Max | ||||
19.xx13.x | net/<iface>/1/cfg | ||||
19.xx13.9 | Transport Protocol | UDP/IPv4 | IP address must be set before setting transport protocol to UDP/IPv4. Layer 2 is also supported. | ||
19.xx13.10 | Delay Mechanism | E2E | E2E and P2P are supported. | ||
19.xx13.14 | Domain | 0 | 0 | 255 | |
19.xx13.11 | Transport Mode | Multicast | Multicast, Unicast and Hybrid modes are allowed. | ||
19.xx13.20 | Announce Rate | 1 | 1/128 | 16 | |
19.xx13.21 | Sync Rate | 8 | 1/128 | 128 | |
19.xx13.22 | Delay req Rate | 8 | 1/128 | 128 | |
19.xx13.23 | Peer Delay req Rate | 8 | 1/128 | 128 | |
19.xx13.24 | PTP Timescale | PTP | - | - | We only support PTP as "PTP Timescale" |
Info/Overview
Each PTP port runs its own PTP instance independently on a specific process. The information about the instance can be obtained from command line, using for example the following command for the first port (wr0):
gpa_ctrl wptpd net/wr0/1/info/
Or through the web interface as shown below, where each port is displayed by a row (see the table PTP information for a port interface for more details on the provided parameters). The PTP Overview page is located at Overview > Timing > IEEE-1588-2008 (PTPV2).
PTP Overview Menu
PTP information for a port interface
OID | Name | Value Type | Description |
---|---|---|---|
19.xx12.x | net/<iface>/1/info | Information on the corresponding <iface> port instance. | |
19.xx12.2 | Port State | <Enum>
0. None 1. Initializing 2. Faulty 3. Disabled 4. Listening 5. Pre-Master 6. Master 7. Passive 8. Uncalibrated 9. Slave |
Current state of the port that changes according to the PTP protocol events.
• If this port is configured as a timing source, it can be Slave (active) or Passive (only handle announce messages) Color: Blue. • The port state is Disabled when the link is down or when the port has been configured with WR instead of PTP. • The port state will be Master if it distributes PTP timing (Color: Purple). Finally, the other states are transition states (mainly used by BMCA) or error states. |
19.xx12.15 | Sync Mode | <Enum>
0. Two Step 1. One Step 2. Disabled |
Reports the current mode of operation received from the master. We currently only support Two Step PTP. |
19.xx12.26 | Rx Sync Packets | <Integer> | Number of received sync messages (Incrementing for Slave instances) |
19.xx12.31 | Tx Sync Packets | <Integer> | Number of transmitted sync messages (Incrementing for Master instances) |
19.xx12.28 | Rx DelayReq Packets | <Integer> | Number of received delay request message (Incrementing for Master instances) |
19.xx12.33 | Tx DelayReq Packets | <Integer> | Number of received delay request message (Incrementing for Slave instances) |
19.xx12.64 | Rx PeerDelayReq Packets | <Integer> | Number of received peer delay request messages (Incrementing for Slave instances when a PTP exchange is completed) |
19.xx12.67 | Tx PeerDelayReq Packets | <Integer> | Number of transmitted peer delay request messages (Incrementing for Slave instances when a PTP exchange is completed) |
Then if a specific interface is not disabled (Port State ≠ None), by clicling on the (+) a user will expand the interface to its Advanced View to get more information about the PTP exchange. The bi-directional exchanges of PTP is resumed in IEEE 1588-2008 (PTPv2), where the number of packets for each type of messages is provided by the parameters in advanced view (see the table below).
Advanced PTP information for a port instance
19.xx12.x | net/<iface>/1/info | Information on the corresponding <iface> port instance. | |
19.xx12.2 | Offset from Master | <Decimal> (f64) | The value represents the actual offset (in seconds) between master and slave. It is calculated from the retrieved timestamps with corrections from calibrations & asymmetries settings. |
19.xx12.3 | One-Way Delay | <Decimal> (f64) | One-way path delay in seconds (equivalent to delay_MS) |
19.xx12.26 | Rx Sync Packets | <Integer> | Number of received sync messages (Incrementing for Slave instances) |
19.xx12.28 | Rx DelayReq Packets | <Integer> | Number of received delay request message (Incrementing for Master instances) |
19.xx12.25 | Rx Announce Packets | <Integer> | Number of received announce messages (Incrementing for Slave/Passive instances) |
19.xx12.27 | Rx FollowUp Packets | <Integer> | Number of received Follow up messages (Incrementing for Slave instances with Two Steps) |
19.xx12.29 | Rx DelayResponse Packets | <Integer> | Number of received Delay Response messages (Incrementing for Slave instances when a PTP exchange is completed) |
19.xx12.64 | Rx PeerDelayReq Packets | <Integer> | Number of received peer delay request messages (Incrementing for Slave instances when a PTP exchange is completed) |
19.xx12.65 | Rx PeerDelayResp Packets | <Integer> | Number of received peer delay response messages (Incrementing for Slave instances when a PTP exchange is completed) |
19.xx12.66 | Rx PeerDelayRespFUp Packets | <Integer> | Number of received peer delay response follow up messages (Incrementing for Slave instances when a PTP exchange is completed) |
19.xx12.31 | Tx Sync Packets | <Integer> | Number of transmitted sync messages (Incrementing for Master instances) |
19.xx12.33 | Tx DelayReq Packets | <Integer> | Number of received delay request message (Incrementing for Slave instances) |
19.xx12.30 | Tx Announce Packets | <Integer> | Number of transmitted announce messages (Incrementing for Master instances) |
19.xx12.32 | Tx FollowUp Packets | <Integer> | Number of transmitted Follow up messages (Incrementing for Slave instances with Two Steps) |
19.xx12.34 | Rx DelayResp Packets | <Integer> | Number of transmitted Delay Response messages (Incrementing for Master instances each time a DelayReq is received) |
19.xx12.67 | Tx PeerDelayReq Packets | <Integer> | Number of transmitted peer delay request messages (Incrementing for Slave instances when a PTP exchange is completed) |
19.xx12.68 | Tx PeerDelayResp Packets | <Integer> | Number of transmitted peer delay response messages (Incrementing for Slave instances when a PTP exchange is completed) |
19.xx12.69 | Tx PeerDelayRespFUp Packets | <Integer> | Number of transmitted peer delay response follow up messages (Incrementing for Slave instances when a PTP exchange is completed) |