TimeKeeper client with PTP and NTP

Below is an example of clients syncing to sources in this order:

  1. PTP (multicast) to a local GM on domain 0
  2. NTP to a nearby NTP server
  3. PTP (hybrid) to a local GM on domain 1 on a specific NIC
  4. PTP (unicast) to a remote GM on domain 3

Network wise this might look similar to:

A timekeeper.conf file reflecting this would look like:

# Get PTP locally from Grandmaster A (domain 0, full multicast)
SOURCE0() { PTPCLIENTVERSION=2; PTPDOMAIN=0; }
# Get NTP locally from Grandmaster A
SOURCE1() { NTPSERVER=grandmaster_a_hostname; }
# Get PTP locally from Grandmaster B (domain 1, hybrid mode)
SOURCE2() { PTPCLIENTVERSION=2; PTPDOMAIN=1; UNICAST=1; }
# Get PTP from remote Grandmaster C (domain 2, full unicast)
SOURCE3() { PTPCLIENTVERSION=2; PTPDOMAIN=3; PTPSERVER=grandmaster_c_hostname; }