Skip to content

Commit 34bd1f7

Browse files
committed
Adding docs for 3 card T-GM
1 parent 38e8f7a commit 34bd1f7

16 files changed

+494
-38
lines changed

_topic_maps/_topic_map.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1515,10 +1515,10 @@ Topics:
15151515
- Name: Using Stream Control Transmission Protocol
15161516
File: using-sctp
15171517
Distros: openshift-enterprise,openshift-origin
1518-
- Name: Using Precision Time Protocol hardware
1518+
- Name: Using PTP hardware
15191519
Dir: ptp
15201520
Topics:
1521-
- Name: About Precision Time Protocol in OpenShift cluster nodes
1521+
- Name: About PTP in OpenShift cluster nodes
15221522
File: about-ptp
15231523
- Name: Configuring PTP devices
15241524
File: configuring-ptp
-179 KB
Binary file not shown.

images/holdover_in_t_gm.png

-59.1 KB
Binary file not shown.
466 KB
Loading
Loading
108 KB
Loading

modules/nw-ptp-configuring-linuxptp-services-as-grandmaster-clock-dual-nic.adoc

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,21 +4,22 @@
44

55
:_mod-docs-content-type: PROCEDURE
66
[id="configuring-linuxptp-services-as-grandmaster-clock-dual-nic_{context}"]
7-
= Configuring linuxptp services as a grandmaster clock for dual E810 NICs
7+
= Configuring linuxptp services as a grandmaster clock for 2 E810 NICs
88

9-
You can configure the `linuxptp` services (`ptp4l`, `phc2sys`, `ts2phc`) as a grandmaster clock (T-GM) for dual E810 NICs by creating a `PtpConfig` custom resource (CR) that configures the host NICs.
9+
You can configure the `linuxptp` services (`ptp4l`, `phc2sys`, `ts2phc`) as a grandmaster clock (T-GM) for 2 E810 NICs by creating a `PtpConfig` custom resource (CR) that configures the NICs.
1010

11-
You can configure the `linuxptp` services as a T-GM for the following dual E810 NICs:
11+
You can configure the `linuxptp` services as a T-GM for the following E810 NICs:
1212

13-
* Intel E810-XXVDA4T Westport Channel NICs
14-
* Intel E810-CQDA2T Logan Beach NICs
13+
* Intel E810-XXVDA4T Westport Channel NIC
14+
* Intel E810-CQDA2T Logan Beach NIC
1515
16-
For distributed RAN (D-RAN) use cases, you can configure PTP for dual-NICs as follows:
16+
For distributed RAN (D-RAN) use cases, you can configure PTP for 2 NICs as follows:
1717

18-
* NIC one is synced to the global navigation satellite system (GNSS) time source.
19-
* NIC two is synced to the 1PPS timing output provided by NIC one. This configuration is provided by the PTP hardware plugin in the `PtpConfig` CR.
18+
* NIC 1 is synced to the global navigation satellite system (GNSS) time source.
19+
* NIC 2 is synced to the 1PPS timing output provided by NIC one. This configuration is provided by the PTP hardware plugin in the `PtpConfig` CR.
2020
21-
The dual-NIC PTP T-GM configuration uses a single instance of `ptp4l` and one `ts2phc` process reporting two `ts2phc` instances, one for each NIC.
21+
The 2-card PTP T-GM configuration uses one instance of `ptp4l` and one instance of `ts2phc`.
22+
The `ptp4l` and `ts2phc` programs are each configured to operate on two PTP hardware clocks (PHCs), one for each NIC.
2223
The host system clock is synchronized from the NIC that is connected to the GNSS time source.
2324

2425
[NOTE]
Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
// Module included in the following assemblies:
2+
//
3+
// * networking/ptp/configuring-ptp.adoc
4+
5+
:_mod-docs-content-type: PROCEDURE
6+
[id="configuring-linuxptp-services-as-grandmaster-clock-three-nic_{context}"]
7+
= Configuring linuxptp services as a grandmaster clock for 3 E810 NICs
8+
9+
You can configure the `linuxptp` services (`ptp4l`, `phc2sys`, `ts2phc`) as a grandmaster clock (T-GM) for 3 E810 NICs by creating a `PtpConfig` custom resource (CR) that configures the NICs.
10+
11+
You can configure the `linuxptp` services as a T-GM with 3 NICs for the following E810 NICs:
12+
13+
* Intel E810-XXVDA4T Westport Channel NIC
14+
* Intel E810-CQDA2T Logan Beach NIC
15+
16+
For distributed RAN (D-RAN) use cases, you can configure PTP for 3 NICs as follows:
17+
18+
* NIC 1 is synced to the Global Navigation Satellite System (GNSS)
19+
* NICs 2 and 3 are synced to NIC 1 with 1PPS faceplate connections
20+
21+
Use the following example `PtpConfig` CRs as the basis to configure `linuxptp` services as a 3-card Intel E810 T-GM.
22+
23+
.Prerequisites
24+
25+
* For T-GM clocks in production environments, install 3 Intel E810 NICs in the bare-metal cluster host.
26+
27+
* Install the OpenShift CLI (`oc`).
28+
29+
* Log in as a user with `cluster-admin` privileges.
30+
31+
* Install the PTP Operator.
32+
33+
.Procedure
34+
35+
. Create the `PtpConfig` CR. For example:
36+
37+
.. Save the following YAML in the `three-nic-grandmaster-clock-ptp-config.yaml` file:
38+
+
39+
.PTP grandmaster clock configuration for 3 E810 NICs
40+
[%collapsible]
41+
====
42+
[source,yaml]
43+
----
44+
include::snippets/ptp_PtpConfigThreeCardGmWpc.yaml[]
45+
----
46+
====
47+
+
48+
[NOTE]
49+
====
50+
Set the value for `ts2phc.nmea_serialport` to `/dev/gnss0`.
51+
====
52+
53+
.. Create the CR by running the following command:
54+
+
55+
[source,terminal]
56+
----
57+
$ oc create -f three-nic-grandmaster-clock-ptp-config.yaml
58+
----
59+
60+
.Verification
61+
62+
. Check that the `PtpConfig` profile is applied to the node.
63+
64+
.. Get the list of pods in the `openshift-ptp` namespace by running the following command:
65+
+
66+
[source,terminal]
67+
----
68+
$ oc get pods -n openshift-ptp -o wide
69+
----
70+
+
71+
.Example output
72+
[source,terminal]
73+
----
74+
NAME READY STATUS RESTARTS AGE IP NODE
75+
linuxptp-daemon-74m3q 3/3 Running 3 4d15h 10.16.230.7 compute-1.example.com
76+
ptp-operator-5f4f48d7c-x6zkn 1/1 Running 1 4d15h 10.128.1.145 compute-1.example.com
77+
----
78+
79+
.. Check that the profile is correct. Run the following command, and examine the logs of the `linuxptp` daemon that corresponds to the node you specified in the `PtpConfig` profile:
80+
+
81+
[source,terminal]
82+
----
83+
$ oc logs linuxptp-daemon-74m3q -n openshift-ptp -c linuxptp-daemon-container
84+
----
85+
+
86+
.Example output
87+
[source,terminal]
88+
----
89+
ts2phc[2527.586]: [ts2phc.0.config:7] adding tstamp 1742826342.000000000 to clock /dev/ptp11 <1>
90+
ts2phc[2527.586]: [ts2phc.0.config:7] adding tstamp 1742826342.000000000 to clock /dev/ptp7 <1>
91+
ts2phc[2527.586]: [ts2phc.0.config:7] adding tstamp 1742826342.000000000 to clock /dev/ptp14 <1>
92+
ts2phc[2527.586]: [ts2phc.0.config:7] nmea delay: 56308811 ns
93+
ts2phc[2527.586]: [ts2phc.0.config:6] /dev/ptp14 offset 0 s2 freq +0 <2>
94+
ts2phc[2527.587]: [ts2phc.0.config:6] /dev/ptp7 offset 0 s2 freq +0 <2>
95+
ts2phc[2527.587]: [ts2phc.0.config:6] /dev/ptp11 offset 0 s2 freq -0 <2>
96+
I0324 14:25:05.000439 106907 stats.go:61] state updated for ts2phc =s2
97+
I0324 14:25:05.000504 106907 event.go:419] dpll State s2, gnss State s2, tsphc state s2, gm state s2,
98+
I0324 14:25:05.000906 106907 stats.go:61] state updated for ts2phc =s2
99+
I0324 14:25:05.001059 106907 stats.go:61] state updated for ts2phc =s2
100+
ts2phc[1742826305]:[ts2phc.0.config] ens4f0 nmea_status 1 offset 0 s2
101+
GM[1742826305]:[ts2phc.0.config] ens4f0 T-GM-STATUS s2 <3>
102+
----
103+
<1> `ts2phc` is updating the PTP hardware clock.
104+
<2> Estimated PTP device offset between PTP device and the reference clock is 0 nanoseconds.
105+
The PTP device is in sync with the leader clock.
106+
<3> T-GM is in a locked state (s2).

modules/nw-ptp-grandmaster-clock-class-reference.adoc

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,6 @@ For example, the PRTC is traceable to a GNSS time source.
2525
|T-GM clock is in `HOLDOVER` mode, and within holdover specification.
2626
The clock source might not be traceable to a category 1 frequency source.
2727

28-
|`gm.ClockClass 140`
29-
|T-GM clock is in `HOLDOVER` mode, is out of holdover specification, but it is still traceable to the category 1 frequency source.
30-
3128
|`gm.ClockClass 248`
3229
|T-GM clock is in `FREERUN` mode.
3330
|====

modules/nw-ptp-holdover-in-a-grandmaster-clock.adoc

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ Holdover allows the grandmaster (T-GM) clock to maintain synchronization perform
1010

1111
You can define the holdover behavior by configuring the following holdover parameters in the `PTPConfig` custom resource (CR):
1212

13-
`MaxInSpecOffset`:: Specifies the maximum allowed offset in nanoseconds. If the T-GM clock exceeds the `MaxInSpecOffset` value, it transitions to the `FREERUN` state (clock class state `gm.ClockClass 248`).
13+
`MaxInSpecOffset`:: Specifies the maximum allowed offset in nanoseconds. If the T-GM clock exceeds the `MaxInSpecOffset` value, it transitions to the `FREERUN` state (clock class state `gm.ClockClass 248`).
1414
`LocalHoldoverTimeout`:: Specifies the maximum duration, in seconds, for which the T-GM clock remains in the holdover state before transitioning to the `FREERUN` state.
1515
`LocalMaxHoldoverOffSet`:: Specifies the maximum offset that the T-GM clock can reach during the holdover state in nanoseconds.
1616

@@ -23,7 +23,7 @@ If the `LocalMaxHoldoverOffSet` value is less than the `MaxInSpecOffset` value,
2323

2424
For information about clock class states, see "Grandmaster clock class sync state reference" document.
2525

26-
The T-GM clock uses the holdover parameters `LocalMaxHoldoverOffSet` and `LocalHoldoverTimeout` to calculate the slope. Slope is the rate at which the phase offset changes over time. It is measured in nanoseconds per second, where the set value indicates how much the offset increases over a given time period.
26+
The T-GM clock uses the holdover parameters `LocalMaxHoldoverOffSet` and `LocalHoldoverTimeout` to calculate the slope. Slope is the rate at which the phase offset changes over time. It is measured in nanoseconds per second, where the set value indicates how much the offset increases over a given time period.
2727

2828
The T-GM clock uses the slope value to predict and compensate for time drift, so reducing timing disruptions during holdover. The T-GM clock uses the following formula to calculate the slope:
2929

@@ -43,9 +43,9 @@ The phase offset is converted from picoseconds to nanoseconds. As a result, the
4343
The following figure illustrates the holdover behavior in a T-GM clock with GNSS as the source:
4444

4545
.Holdover in a T-GM clock with GNSS as the source
46-
image::holdover_in_t_gm.png[Holdover in a T-GM clock with GNSS as the source]
46+
image::openshift-ptp-holdover-tgm-clock-with-gnss.png[Holdover in a T-GM clock with GNSS as the source]
4747

48-
image:darkcircle-1.png[20,20] The GNSS signal is lost, causing the T-GM clock to enter the `HOLDOVER` mode. The T-GM clock maintains time accuracy using its internal clock.
48+
image:darkcircle-1.png[20,20] The GNSS signal is lost, causing the T-GM clock to enter the `HOLDOVER` mode. The T-GM clock maintains time accuracy by using its internal clock.
4949

5050
image:darkcircle-2.png[20,20] The GNSS signal is restored and the T-GM clock re-enters the `LOCKED` mode. When the GNSS signal is restored, the T-GM clock re-enters the `LOCKED` mode only after all dependent components in the synchronization chain, such as `ts2phc` offset, digital phase-locked loop (DPLL) phase offset, and GNSS offset, reach a stable `LOCKED` mode.
5151

@@ -55,4 +55,4 @@ image:darkcircle-4.png[20,20] The time error exceeds the `MaxInSpecOffset` thres
5555

5656
image:darkcircle-5.png[20,20] The GNSS signal is restored, and the T-GM clock resumes synchronization. The time error starts to decrease.
5757

58-
image:darkcircle-6.png[20,20] The time error decreases and falls back within the `MaxInSpecOffset` threshold.
58+
image:darkcircle-6.png[20,20] The time error decreases and falls back within the `MaxInSpecOffset` threshold.

0 commit comments

Comments
 (0)