Commit e48fe441 authored by Maciej Lipinski's avatar Maciej Lipinski

WR changes for PTPv3: 1st round of review

parent 596f3d79
......@@ -2,22 +2,23 @@
\label{chap:highAccuracyProfile}
The \textit{High Accuracy Default Profile} uses the \textit{High Accuracy Options} to enable
high quality synchronization. It defines hardware requirements for the device implementing
high quality synchronization. It defines hardware requirements for the clock implementing
the profile and how the \textit{High Accuracy Options} shall be combined along with
other PTP configuration to achieve required performance.
\subsection{Options, Attributes, Features}
The delay request-response mechanism shall be the only path delay measurement mechanism for
this profile. It shall define default mapping using Annex F (networkProtocol=0003)
this profile. It shall use \textit{Transport of PTP over IEEE 802.3 / Ethernet} (Annex F,
networkProtocol=0003)
with DEFAULT transportSpecific field. The defaultDS.priority1 value shall be 64.
The profile shall use all the High Accuracy options.
The \textit{Layer 1 Syntonization} option shall be set to (\textit{syntonizationFlags})
and shall implement:
\begin{itemize*}
\item \textit{L1 Syntonization hierarchy agrees with 1588 hierarchy}
\item \textit{Phase-aligned recovered frequency is looped back to the frequency source}
\end{itemize*}
and shall implement \textit{L1 Syntonization hierarchy agrees with 1588 hierarchy}.
% \begin{itemize*}
% \item \textit{L1 Syntonization hierarchy agrees with 1588 hierarchy}
% \item \textit{Phase-aligned recovered frequency is looped back to the frequency source}
% \end{itemize*}
% It shall define default mapping using Annex F (networkProtocol=0003) with the
% transportSpecific flag indicating usage of Layer 1 syntonization with frequency loopback and
% syntonization hierarchy aligned with PTP hierarchy. The defaultDS.priority1 value shall be 64.
......@@ -29,7 +30,7 @@ See clause~\ref{chap:q:highAccuracyProfileInter-operability} for details.}
\subsection{Hardware Requirements}
The hardware which is required to suppor this profile shall
The hardware which is required to support this profile shall
\begin{itemize*}
\item transfer frequency over Layer 1 (e.g. SyncE \cite{SynchE} or alike)
\item feature constant rx/tx latencies during operation (except for temperature-induced
......@@ -58,8 +59,9 @@ The following information shall be conveyed using \textit{profileFlags} of the
\textit{High Accuracy Suffix} amended to to the Announce Messages:
\begin{itemize*}
\item \textcolor{red}{High Accuracy Profile index -- 0x1 for default profile}
\item High Accuracy ON flag - it is set to 1 if the High Accuracy
Communication Path is already established
\item High Accuracy ON flag - the value of portDS.HighAccuracyON data field
% it is set to 1 if the High Accuracy
% Communication Path is already established
\end{itemize*}
......@@ -103,14 +105,14 @@ BMC (a.k.a SLAVE port) connected directly by a communication medium, i.e. SLAVE
MASTER port shall not be connected through any devices not implementing the High Accuracy
Profile.
The process described below (for SLAVE and MASTER port) shall be non-preemptive with
regards to PTP state machine, i.e. the state of neither of the ports shall not change once
regards to PTP state machine, i.e. the PTP state of neither of the ports shall not change once
the procedure is started until it finishes.
\subsubsection{SLAVE port}
The steps to establish High Accuracy Communication Path shall start on entering the
UNCALIBRATED state by the SLAVE port if the following conditions are fulfilled:
\begin{itemize*}
\item both ports on Communication PATH implement \textit{High Accuracy Default Profile}
\item both ports on Communication Path implement \textit{High Accuracy Default Profile}
% \item the port enters the UNCALIBRATED state as a result of
% \begin{itemize*}
% \item recommendation by (modified) BMC to enter SLAVE state based on
......@@ -118,7 +120,7 @@ UNCALIBRATED state by the SLAVE port if the following conditions are fulfilled:
% (amended with appropriate suffix) \textbf{or}
% \item SYNCHRONIZATION\_FAULT event
% \end{itemize*}
\item at least one of the ports on the Path (MASTER or SLAVE) has its
\item at least one of the ports on the Communication Path (MASTER or SLAVE) has its
portDS.HighAccuracyON field set to FALSE.
\end{itemize*}
The following steps shall be performed to (re-)establish High Accuracy Communication Path
......
......@@ -2,33 +2,38 @@
\label{chap:openQuestions}
\subsection{Multi-slave boundary clock}
\label{chap:multiSlaveBC}
\label{chap:q:multiSlaveBC}
Note necesserily connected to \textit{High Accuracy}. A option which enables a BC to have
many ports in a SLAVE state. One of the SLAVE ports is
Not necesserily connected to \textit{High Accuracy}. An option which enables a BC to have
many ports in a SLAVE state. There is already something alike in PTP \cite{PTPv2} but
it needs to be discuss whether the existing option can be adapted.
The idea is that one of the SLAVE ports is
a so-called Primary Slave -- provides the source of time (and frequency) for the BC. Any
other port in the SLAVE state is considered a Secondary Slave - in normal operation,
it does not provide time (and frequency) to the BC but synchronizes (and syntonizes) to the
path-partner and acts as a hot-spare in case the Primary Slave breaks.
A port becomes a Secondary Slave if it is recommended by the State Decision Algorithm
(also SDA modified per clause~\ref{chap:modifiedSDA}) to enter PASSIVE state.
This requires using multicast MAC address 01-80-C2-00-00-0E (in case of mapping PTP over
This option requires using multicast MAC address 01-80-C2-00-00-0E (in case of mapping PTP over
Ethernet) for PTP messages in order to enable communication on Spanning Tree -blocked
ports.
\subsection{High Accuracy Signaling Message address }
\subsection{High Accuracy Signaling Message address -- non-forwardable }
\label{chap:q:haSignalingMessageAddress}
\begin{itemize*}
\item It enables HA options to work only ony direct Communication Paths, i.e. the messages
will not go through bridges/standard-PTP-clocks so we will never
L1\_LOCK, CALIBRATE or establish HA\_LINK on indirect connections.
\item Works for TC, but the L1 Syntonization is on link-by-link bases (like peer-to-peer
mechanism)
\item It enables \textit{High Accuracy} options to work only on direct Communication Paths,
i.e. a \textit{High Accuracy Signaling Message} will not go through
bridges/standard-PTP-clocks. Consequently, \textit{L1 Syntonization} or
\textit{Rx/Tx Delays Calibration} will not be performed on indirect connections.
\item Works for TCs -- the \textit{L1 Syntonization} and \textit{Rx/Tx Delays Calibration}
is on link-by-link bases (like peer-to-peer mechanism)
\item There is nothing against using High Accuracy Options over IP mapping, the problem is
there there is no mean to enforce direct link on the Communication Path -- setting
Time To Live to 1 (as in peer-to-peer messages) does not prevent from being relayed
that, as far as I know, there is no mean to enforce only-direct link communication -- setting
Time To Live to 1 (as in peer-to-peer messages) does not prevent the messages from being relayed
by bridges (only prevents passing through routeres)
\end{itemize*}
......@@ -36,28 +41,35 @@ ports.
\label{chap:q:phaseDetection}
I am not sure whether it is good/possible/feasible to describe the phase detection techniques
to achieve sub-LSB timestamping precision in the standard. On the other hand, what we
to achieve sub-LSB timestamping precision in the PTP standard. On the other hand, what we
measure really precisely is the course round trip. The timestamp on the SLAVE port
is in arbitrary place.... such setting would need to be somehow defined.
is in kind-of arbitrary place (if I'm not mistaken).... so maybe something would need to be somehow defined.
\subsection{L1 Syntonization related flags}
\label{chap:q:l1syntonizationRelatedFlags}
I'm not sure why AVB has different transportSpecific field value. I think it is only
I'm not sure why AVB has different their own transportSpecific field value. I think it is only
in order to make it not inter-operable with "standard" PTP. If the information
about L1 Syntonization is put into transportSpecific field of Ethernet mapping (Annex F,
as previously suggested in \cite{WRinPTPv3}),
it limits the \textit{Layer 1 Syntonization} option only to
single mapping. But, actually, it (and the profile) can be used at least over
single mapping (i.e. Ethernet). But, actually, it (and the profile) can be used,at least over,
IP as well.
By including \textit{syntonizationFlags} in the \textit{Announce Message Suffix} and
\textit{L1\_SYNC\_SLAVE\_PRESENT} it could be possible to allow some kind of
negotiation between clocks -- to be discussed whether it makes sense and what happens
if the clocks are not compatible L1 Syntonization-wise.
\subsection{Calibration Pattern definition}
\label{chap:q:calibrationPatternDefinition}
It can be defined for different media/speed/whatever, maybe some table in Annexes.
Or, it can be indicated in the CALIBRATE\_REQ:
The calibration pattern can be defined (no flexibility) for different media/speed/whatever
in a table in the Transport Annexes for each mapping.
But it can also be indicated in the CALIBRATE\_REQ Signaling Message:
\begin{itemize*}
\item give pattern (e.g.: 111110000) and repetition size/rate/whatever
\item indicate kind -- some reference somewhere
\item indicate pattern (e.g.: 111110000) and repetition size/rate/whatever
\item indicate type -- different types defined for each mapping (e.g.: RD+K28.5 for 1GbE, something else for 10GbE)
\item indicate character to be sent (e.g.: RD+K28.7 code group)
\end{itemize*}
......@@ -66,12 +78,12 @@ Or, it can be indicated in the CALIBRATE\_REQ:
\textbf{On one hand it can be specified in the profile that:} \\
By default the "High Accuracy" options shall be active. If the Communication Path
By default the "High Accuracy" options shall be active in the \textit{High Accuracy Default Profile}. If the Communication Path
partner of a given port implements \textit{Delay Request-Response Default PTP profile},
the "High Accuracy" options shall be disabled on that port and the port shall default to
\textit{Delay Request-Response Default PTP profile} (Annex~J.3 of \cite{PTPv2}).
A Boundary Clock implementing \textit{High Accuracy Default Profile} that is connected to
a Boundary Clock implementing \textit{Delay Request-Response Default PTP profile} will always
a Boundary Clock implementing \textit{Delay Request-Response Default PTP profile} will
be a source of time (parent) for the later based on the decision of the Data Comparison
Algorithm (defaultDS.priority1 value). See clause~\ref{chap:q:per-portOptionEnabling}.\\
......@@ -87,7 +99,7 @@ can be determined thanks to High Accuracy Suffix) one profile is used or the oth
\subsubsection{Per-port option enabling}
\label{chap:q:per-portOptionEnabling}
It could be considered to enable only some ports of a Boundary Clock to
It could be considered to enable only some ports of a BC to
have their ports set using \textit{Explicit Port State Configuration}. In other words,
to apply the \textit{Explicit Port State Configuration} option on port bases. In such case,
the ports of a BC implementing \textit{High Accuracy Default Profile} which "speak" with BC
......@@ -98,5 +110,6 @@ state using this option. Just an idea, probably there is a better solution.
The sentence in PTP (clause~9.2.5 \cite{PTPv2}):\\
\textit{If one port of a boundary clock is in the INITIALIZING state, then all
ports shall be in the INITIALIZING state.} \\
can be problematic. Reconfiguration of port state requires going through INITIALIZING state.
can be problematic. Reconfiguration of port (in the \textit{Explicit Port State Configuration})
state requires going through INITIALIZING state.
......@@ -97,49 +97,55 @@ Networked Measurement and Control Systems\\ \textit{High Accuracy changelog}}
\newpage
This document proposes the way White Rabbit (WR) extension \cite{WRPTP} could be included into
the next revision of PTP \cite{PTPv2}. The original WR was divided into smaller key pieces
the next revision of PTP \cite{PTPv2}. The original WR was divided in this document
into smaller key pieces
which can be also useful on their own (outside WR). This pieces are defined as separate
\textit{High Accuracy} options in Chapter~\ref{chap:highAccuracyOption}. The options are used
\textit{High Accuracy options} in Chapter~\ref{chap:highAccuracyOption}. The options are used
by a \textit{High Accuracy Default Profile} defined in Chapter~\ref{chap:highAccuracyProfile}
to enable high quality synchronization.
The new options/profile might require some small changes in the main body of the PTP
standard, these changes are listed in Chapter~\ref{chap:changesToPtpv2}.
Finaly, some solutions can be achieved in many ways, thus some doubts and open questions are
Finally, some solutions can be achieved in many ways, thus some doubts and open questions are
explained in Chapter~\ref{chap:openQuestions}.
In order to make this document "standard-human-readible" and reasonably consise, it does
not include detailed solutions or precise definitions but more high level description what
each clause should specify.\\
In order to make this document "standard-human-readable" and reasonably concise, it does
not include detailed solutions or precise definitions but more high level description of what
could be included into the IEEE1588 revision.\\
\\
The \textit{High Accuracy options} include:
\begin{itemize*}
% \begin{description*}
\item \textbf{General Clause} -- defines means of communication between clocks implementing
the options (i.e. \textit{Announce Messages Suffix} and \textit{High Accuracy
Signaling Messages})
\item \textbf{Layer 1 Syntonization} -- defines option which enables syntonization
on Layer 1, i.e. using SyncE or alike
\item \textbf{General Clause} -- defines means of communication between clocks (i.e. PTP
devices) implementing the options (i.e. \textit{Announce Messages Suffix} and
\textit{High Accuracy Signaling Messages})
\item \textbf{Layer 1 Syntonization} -- defines protocol tools to enable syntonization
over Layer 1, i.e. using SyncE or alike
\item \textbf{Rx/Tx Delays Calibration} -- defines protocol tools to perform calibration
of internal rx/tx delays
\item \textbf{Explicit Port State Configuration} -- defines how states of a clock (i.e. BC/OC)
can be explicitly configured (to be MASTER or SLAVE or PASSIVE) through configuration
\item \textbf{Medium Asymmetry Estimation} -- describes how to estimate asymmetry introduced
by communication medium.
by a communication medium.
\end{itemize*}
% \end{description*}
The \textit{High Accuracy Default Profile}:
\begin{itemize*}
\item defines hardware requirements
\item defines hardware requirements for the clock implementing it
\item uses \textit{High Accuracy options} (defines their parameters)
\item defines PTP attributes/parameters/configuration
\item describes how \textit{High Accuracy Communication Path} is established
\end{itemize*}
\end{itemize*}
\textcolor{red}{Some parts of the text in clause \ref{chap:highAccuracyOption}
\and \ref{chap:highAccuracyProfile} are in red color. It means that I was not
very confident about this -- further description is provided in a referenced clause
of \textit{Open Questions}.}
and \ref{chap:highAccuracyProfile} are in red color. It means that I was not
confident about them -- further description is provided in a referenced part of
\textit{Open Questions} (clause~\ref{chap:openQuestions}).} \\
\\
Some PTP-specific abbreviations/terms used throughout the document:\\
BC = boundary clock (e.g. PTP-capable switch/router) \\
OC = ordinary clock (e.g. PTP-capable node) \\
TC = transparent clock (i.e. PTP-capable switch/router) \\
clock = a device (switch/router/node/etc) implementing PTP protocol (i.e. BC, OC, TC)\\
TLV = Type-Length-Value (i.e. a way of defining information in messages)
\newpage
\input{highAccuracyOption}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment