Merge "All fields of GRANDMASTER_SETTINGS_NP need to be set based on G.8275.1 standards. (dsr8)"
This commit is contained in:
commit
fee58f21ad
@ -51,6 +51,7 @@
|
||||
.. |DSCP| replace:: :abbr:`DSCP (Differentiated Services Code Point)`
|
||||
.. |DVR| replace:: :abbr:`DVR (Distributed Virtual Router)`
|
||||
.. |EMS| replace:: :abbr:`EMS (Element Management System)`
|
||||
.. |ePRTC| replace:: :abbr:`ePRTC (Enhanced Primary Reference Time Clock)`
|
||||
.. |FEC| replace:: :abbr:`FEC (Forward Error Correction)`
|
||||
.. |FPGA| replace:: :abbr:`FPGA (Field Programmable Gate Array)`
|
||||
.. |FQDN| replace:: :abbr:`FQDN (Fully Qualified Domain Name)`
|
||||
@ -125,6 +126,7 @@
|
||||
.. |PMU| replace:: :abbr:`PMU (Performance Monitor Unit)`
|
||||
.. |PQDN| replace:: :abbr:`PDQN (Partially Qualified Domain Name)`
|
||||
.. |PQDNs| replace:: :abbr:`PQDNs (Partially Qualified Domain Names)`
|
||||
.. |PRTC| replace:: :abbr:`PRTC (Primary Reference Time Clock)`
|
||||
.. |PSA| replace:: :abbr:`PSA (Pod Security Admission)`
|
||||
.. |PSP| replace:: :abbr:`PSP (Pod Security Policy)`
|
||||
.. |PSPs| replace:: :abbr:`PSPs (Pod Security Policies)`
|
||||
|
@ -9,3 +9,199 @@ Advanced PTP Configuration
|
||||
Parameters are written to the ``ptp4l`` configuration file without error
|
||||
checking. Caution must be taken to ensure that parameter names and values
|
||||
are correct as errors will cause ``ptp4l`` launch failures.
|
||||
|
||||
|
||||
Configure ITU-T G.8275.1 Grandmaster Settings Fields
|
||||
----------------------------------------------------
|
||||
|
||||
Users can configure ``ptp4l`` instances to set the |PTP| Announce messages
|
||||
fields in conformance with the ITU-T G.8275.1/Y.1369.1 |PTP| profile. This
|
||||
configuration is recommended for nodes that are configured as a T-GM or T-BC
|
||||
and using the G.8275.1 |PTP| profile.
|
||||
|
||||
.. rubric:: |prereq|
|
||||
|
||||
- The system should be configured with at least one ``ptp4l`` instance. See
|
||||
:ref:`configuring-ptp-service-using-the-cli` for more information.
|
||||
|
||||
- Any ``ptp4l`` instances using the G.8275.1 profile must be configured with
|
||||
the ``dataset_comparison=G.8275.x`` instance parameter. This parameter
|
||||
enables the G.8275.1 |PTP| profile for the ``ptp4l`` instance.
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
~(keystone_admin)]$ system ptp-instance-parameter-add <ptp4l instance> dataset_comparison=G.8275.x
|
||||
|
||||
|
||||
.. rubric:: |context|
|
||||
|
||||
The following section provides additional details about the relevant Announce
|
||||
message fields and how to configure their value.
|
||||
|
||||
.. code-block::
|
||||
|
||||
507c6f.fffe.21bb24-0 seq 0 RESPONSE MANAGEMENT GRANDMASTER_SETTINGS_NP
|
||||
clockClass 6
|
||||
clockAccuracy 0x20
|
||||
offsetScaledLogVariance 0x4e5d
|
||||
currentUtcOffset 37
|
||||
leap61 0
|
||||
leap59 0
|
||||
currentUtcOffsetValid 1
|
||||
ptpTimescale 1
|
||||
timeTraceable 1
|
||||
frequencyTraceable 1
|
||||
timeSource 0x20
|
||||
|
||||
|
||||
Each of the fields are explained below:
|
||||
|
||||
``clockClass``
|
||||
This field is dynamically set by |prod| based on the state of the Primary
|
||||
Reference Time Clock (PRTC) used by the ``ptp4l`` instance. No user
|
||||
configuration is required.
|
||||
|
||||
|
||||
``clockAccuracy``
|
||||
Default value (not locked to |PRTC|): ``0xfe``
|
||||
|
||||
Default value (locked to |PRTC|): ``0x20``
|
||||
|
||||
When a ``ptp4l`` instance is locked to a |PRTC|, the value will be
|
||||
dynamically updated to 0x20.
|
||||
|
||||
If the ``ptp4l`` instance is connected to an Enhanced Primary Reference Time
|
||||
Clock (ePRTC), the locked value can be changed by using a ``ptp4l`` instance
|
||||
parameter.
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
~(keystone_admin)]$ system ptp-instance-parameter-add <ptp4l instance> clockAccuracy=0x21
|
||||
|
||||
|
||||
``offsetScaledLogVariance``
|
||||
Default value (not locked to |PRTC|): ``0xffff``
|
||||
|
||||
Default value (locked to |PRTC|): ``0x4e5d``
|
||||
|
||||
The ``offsetScaledLogVariance`` attribute characterizes the stability of the
|
||||
clock. If the ``ptp4l`` instance is connected to an |ePRTC|, the locked
|
||||
value can be changed by using a ``ptp4l`` instance parameter.
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
~(keystone_admin)]$ system ptp-instance-parameter-add <ptp4l instance> offsetScaledLogVariance=0x4b32
|
||||
|
||||
|
||||
``currentUtcOffset``
|
||||
Default value: ``37``
|
||||
|
||||
The current offset between TAI and UTC. This value does not need to be
|
||||
altered unless IERS introduces a new leapsecond into UTC. If necessary, the
|
||||
value can be altered for testing purposes using a ``ptp4l`` instance
|
||||
parameter.
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
~(keystone_admin)]$ system ptp-instance-parameter-add <ptp4l instance> utc_offset=37
|
||||
|
||||
``leap61``
|
||||
Default value: ``0``
|
||||
|
||||
This attribute is used to handle the addition of a new leapsecond. |prod|
|
||||
does not currently support altering the **leap61** attribute.
|
||||
|
||||
|
||||
``leap59``
|
||||
Default value: ``0``
|
||||
|
||||
This attribute is used to handle the addition of a new leapsecond. |prod|
|
||||
does not currently support altering the **leap59** attribute.
|
||||
|
||||
|
||||
``currentUtcOffsetValid``
|
||||
Default value: ``0``
|
||||
|
||||
This value should be set to 1 in order to indicate that ``currentUtcOffset``
|
||||
value is correct and suitable for use by downstream nodes. The attribute can
|
||||
be altered using a ``ptp4l`` instance parameter.
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
~(keystone_admin)]$ system ptp-instance-parameter-add <ptp4l instance> currentUtcOffsetValid=1
|
||||
|
||||
|
||||
``ptpTimescale``
|
||||
Default value: ``1``
|
||||
|
||||
This attribute should always be set to 1 according to the G.8275.1 |PTP|
|
||||
profile.
|
||||
|
||||
|
||||
``timeTraceable``
|
||||
Default value: ``0``
|
||||
|
||||
This attribute is dynamically set by |prod| based on the ``ptp4l``
|
||||
instance's connection to a |PRTC|. When a |PRTC| is connected to the
|
||||
``ptp4l`` instance, **timeTraceable** will be set to 1.
|
||||
|
||||
|
||||
``frequencyTraceable``
|
||||
Default value: ``0``
|
||||
|
||||
This attribute is dynamically set by |prod| based on the ``ptp4l``
|
||||
instance's connection to a |PRTC|. When a |PRTC| with frequency information
|
||||
is connected to the ``ptp4l`` instance, **frequencyTraceable** will be set
|
||||
to 1.
|
||||
|
||||
|
||||
``timeSource``
|
||||
Default value: ``0xa0``
|
||||
|
||||
This attribute describes the type of clock used for the |PRTC|. The default
|
||||
value of ``0xa0`` indicates the use of an internal oscillator on the PTP
|
||||
|NIC|. |prod| will automatically update this value to ``0x20`` (GPS) if it
|
||||
detects that the ``ptp4l`` instance is utilizing a GPS time source.
|
||||
|
||||
Users can change this attribute using a ``ptp4l`` instance parameter. For a
|
||||
comprehensive list of time source types and their respective values, consult
|
||||
the G.8275.1 standard.
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
~(keystone_admin)]$ system ptp-instance-parameter-add <ptp4l instance> timeSource=0x20
|
||||
|
||||
|
||||
Apply PTP configuration
|
||||
~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
After assigning ``ptp4l`` instance parameters, apply the new |PTP|
|
||||
configuration using ``system ptp-instance-apply``.
|
||||
|
||||
Verify Announce Message Attributes
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The |PTP| Announce Message Attributes can be viewed using the `pmc` tool.
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
sudo pmc -u -b 0 -f /etc/linuxptp/ptpinstance/<ptp4l instance config file> 'GET GRANDMASTER_SETTINGS_NP'
|
||||
|
||||
sending: GET GRANDMASTER_SETTINGS_NP
|
||||
507c6f.fffe.21bb24-0 seq 0 RESPONSE MANAGEMENT GRANDMASTER_SETTINGS_NP
|
||||
clockClass 6
|
||||
clockAccuracy 0x20
|
||||
offsetScaledLogVariance 0x4e5d
|
||||
currentUtcOffset 37
|
||||
leap61 0
|
||||
leap59 0
|
||||
currentUtcOffsetValid 1
|
||||
ptpTimescale 1
|
||||
timeTraceable 1
|
||||
frequencyTraceable 1
|
||||
timeSource 0x20
|
||||
|
||||
|
||||
The log output for dynamically updated values can be found in
|
||||
``/var/log/collectd.log``.
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user