Time synchonization management
Connectivity
The grand master clock and the physical machines are usually connected via an L2 network (consisting of PTP switches) to the GMC (Grand Master Clock).
PTP traffic is usually sent in a VLAN.
Centralized Management with Timemaster
On a running SEAPATH host, time synchronization is controlled by timemaster (from the linuxptp package).
It wraps three components:
chrony – NTP client for the system clock.
ptp4l – PTP client for the hardware clock.
phc2sys – Keeps hardware and system clocks aligned.
timemaster can also run NTP by itself. With one configuration file you manage PTP and NTP together — no need to configure separate daemons.
Configuration File
Main file:
/etc/linuxptp/timemaster.confKey points:
The PTP settings are defined in one or more
[ptp_domain X]sections. This is where you telltimemasterwhich interfaces should join the PTP domain and what parameters to use.The NTP settings are defined in the
[chrony.conf]section (or[ntp.conf]if you usentpd). This is where you list your NTP servers and options.The IEC 61850 PTP profile isn’t a separate “profile” file — it’s achieved by setting the appropriate configuration items in
timemaster.conf(announce interval, sync interval, delay mechanism, etc.).
Service Management & Logs
Only
timemasteris enabled as a systemd service;chronyd,ptp4l, andphc2sysare disabled individually becausetimemasterstarts and supervises them.Check logs and status with:
journalctl -u timemaster systemctl status timemaster
Checking Current Synchronization
Because timemaster launches chrony under the hood, you can still use standard chrony commands to see the current state of synchronization.
For example:
chronyc sourcesThis shows which PTP or NTP source is currently selected, its offset, and how stable it is. It’s one of the fastest ways to confirm that time sync is working on a SEAPATH host.
Example timemaster.conf
Below is a simplified IEC 61850-style configuration showing how PTP and NTP are defined in one file.
# /etc/linuxptp/timemaster.conf
[ptp_domain 0]
# Interface(s) used for PTP
interfaces eno12419.800
# Optional NTP delay tweak for source selection:
ntp_poll 0
delay 1e-9
[timemaster]
ntp_program chronyd
# NTP configuration for chrony:
[chrony.conf]
include /etc/chrony/chrony.conf
server ntp.unice.fr iburst maxsamples 10 minsamples 10 maxpoll 6 minpoll 6
server 51.145.123.29 iburst maxsamples 10 minsamples 10 maxpoll 6 minpoll 6
# (If you prefer ntpd instead of chrony)
[ntp.conf]
includefile /etc/ntp.conf
# PTP client configuration (IEC 61850 profile)
[ptp4l.conf]
slaveOnly 1
network_transport L2
delay_mechanism P2P
domainNumber 0
logAnnounceInterval 0
logSyncInterval 0
logMinPdelayReqInterval 0
operLogPdelayReqInterval 0
announceReceiptTimeout 3
priority1 255
priority2 255
clockClass 248
tx_timestamp_timeout 10
# Paths to the daemons:
[chronyd]
path /usr/sbin/chronyd
[ntpd]
path /usr/sbin/ntpd
options -u ntp:ntp -g
[phc2sys]
path /usr/sbin/phc2sys
[ptp4l]
path /usr/sbin/ptp4l
options --step_threshold 0.00001 -l 4Troubleshooting
rogue peer delay response
When a switch is used between PTP grand master clock and the hypervisors, if the timemaster service returns an error rogue peer delay response, this is probably because the switch doesn’t support peer-to-peer PTP.
This error is particularly visible in a cluster : Connecting only one hypervisor is successful, but connecting another one fails.
To correct this behavior, you can
Connect the hypervisor and the grand master clock directly (without a switch)
Use a PTP compliant switch
Change the delay_mechanism in the ptp4l configuration from P2P to E2E (end-to-end). Please be aware that this configuration is not the one required by IEC-61850, however, it can be useful for testing.