PTP-only documentation improvements#1188
Conversation
This commit introduces a new SVG file that visually represents the architecture of the Precision Time Protocol (PTP) with Synchronous Ethernet (SyncE). The diagram illustrates the flow of time and frequency distribution from a Grand Master clock to Boundary Clocks and Ordinary Clocks, highlighting the roles and connections involved in the process.
5a8a6f2 to
3a6131c
Compare
…ary Clock propagation
ac1534a to
e571ffd
Compare
e571ffd to
f9b8eb1
Compare
ranjinimn
left a comment
There was a problem hiding this comment.
@alknopfler I had a few comments. please let me know if you have any questions.
| Only the configuration files change between these PTP scenarios, so a single generic | ||
| example is used here and each scenario provides its specific values. |
There was a problem hiding this comment.
| Only the configuration files change between these PTP scenarios, so a single generic | |
| example is used here and each scenario provides its specific values. | |
| Since only the configuration files change between these PTP scenarios, this section provides a single generic template followed by the specific values for each scenario. |
| This approach is convenient only if the hardware in the cluster is uniform and the | ||
| same PTP configuration is needed on all hosts, interface name included. The Boundary | ||
| Clock scenarios that rely on `ts2phc` or on-board DPLL routing require additional | ||
| files and services on top of this base example, described in the next section. |
There was a problem hiding this comment.
| files and services on top of this base example, described in the next section. | |
| files and services in addition to the base example, which are described in the next section. |
| add-in cards with `ts2phc`, wires the on-board DPLL at boot and forwards the Grand Master | ||
| parameters periodically. The provisioning therefore extends the base example with several | ||
| configuration files, scripts and `systemd` units, all deployed through the same | ||
| `RKE2ControlPlane` Ignition block. The bodies of every file and unit are the ones listed in |
There was a problem hiding this comment.
Here, bodies refer to the contents?
| `RKE2ControlPlane` Ignition block. The bodies of every file and unit are the ones listed in | |
| `RKE2ControlPlane` Ignition block. The contents of every file and unit are the ones listed in |
| The GNR-D units are custom (a DPLL setup service, one templated `ptp4l` instance per PHC and | ||
| a Grand Master forwarding timer), so they are both deployed and enabled through the Ignition | ||
| block below rather than through the EIB `systemd.enable` list. The EIB image only needs the |
There was a problem hiding this comment.
| The GNR-D units are custom (a DPLL setup service, one templated `ptp4l` instance per PHC and | |
| a Grand Master forwarding timer), so they are both deployed and enabled through the Ignition | |
| block below rather than through the EIB `systemd.enable` list. The EIB image only needs the | |
| The GNR-D units require a custom setup: a DPLL service, one templated `ptp4l` instance per PHC, and a Grandmaster forwarding timer. Consequently, you must deploy and enable them via the Ignition block below instead of using the EIB `systemd.enable` list.The EIB image only needs the |
| *Deploy the files and units through Cluster API* | ||
|
|
||
| The `RKE2ControlPlane` object below deploys the GNR-D files and units. It follows the same | ||
| approach as the standard example: the file bodies are provided as placeholders and taken from |
There was a problem hiding this comment.
For my understanding, what are file bodies? Can we replace that with file contents?
| . Align the add-in cards' PHCs with `ts2phc`. | ||
| + | ||
| Refer to <<gnrd-ptp4l-config-aics>> for the content of the configuration files. | ||
| `ts2phc` ("time stamp to PHC") aligns the add-in cards' PHCs to a reference clock. Here the |
There was a problem hiding this comment.
| `ts2phc` ("time stamp to PHC") aligns the add-in cards' PHCs to a reference clock. Here the | |
| `ts2phc` ("time stamp to PHC") aligns the add-in cards' PHCs to a reference clock. Here, the |
| ==== | ||
| To prevent conflicts and enable the next step, each of these instances must use different control and read-only sockets. | ||
| [#gnrd-ts2phc-config] | ||
| .`/etc/ts2phc-cf-all.cfg` |
There was a problem hiding this comment.
Is this a file? Can you please label the example more clearly?
| integrated instance, `250` on the add-in cards) act as a G.8275.x BMCA tie-breaker: they are | ||
| compared only after `clockClass`, `clockAccuracy`, variance and `priority2`, and a lower value | ||
| is preferred. Keeping the default `128` on the integrated instance makes it outrank the add-in | ||
| instances (`250`), which keeps the master/receiver ordering within the node deterministic and |
There was a problem hiding this comment.
Can master/received be changed to anything else? Just checking because master/slave is not used unless it is for legal protocol.
| synchronized to a GM: | ||
| + | ||
| [#gnrd-pmc-forward] | ||
| .`04-ptp-forward-GM.sh` |
There was a problem hiding this comment.
Can you please label this example clearly?
| The effect is visible by querying an add-in `ptp4l` instance on the BC: before the forwarding | ||
| it advertises its file defaults, and after it advertises the grandmaster's real values (which |
There was a problem hiding this comment.
| The effect is visible by querying an add-in `ptp4l` instance on the BC: before the forwarding | |
| it advertises its file defaults, and after it advertises the grandmaster's real values (which | |
| The effect is visible by querying an add-in `ptp4l` instance on the BC: Before forwarding, the node advertises its file defaults; after forwarding begins, it advertises the Grandmaster's actual values.(which |
Improvements for the following scenarios:
Scenario 1 - Ordinary Clock (PTP-only)
Scenario 2 - Ordinary Clock (PTP & SyncE) -> it will be filled in a separate PR
Scenario 3 - Boundary Clock (PTP-only) with Multiport Single NIC including propagation to Ordinary Clock server
Scenario 4 - Boundary Clock (PTP-only) Multi-NIC with internal timing module (DPLL GNR-D based)
Scenario 4 - Boundary Clock (PTP & SyncE) Multi-NIC with internal timing module (DPLL GNR-D based) - it will be filled in a separate PR