module ieee802-dot1as-gptp { yang-version "1.1"; namespace urn:ieee:std:802.1AS:yang:ieee802-dot1as-gptp; prefix dot1as-gptp; import ietf-yang-types { prefix yang; } import ieee1588-ptp-tt { prefix ptp-tt; } organization "IEEE 802.1 Working Group"; contact "WG-URL: http://ieee802.org/1/ WG-EMail: stds-802-1-l@ieee.org Contact: IEEE 802.1 Working Group Chair Postal: C/O IEEE 802.1 Working Group IEEE Standards Association 445 Hoes Lane Piscataway, NJ 08854 USA E-mail: stds-802-1-chairs@ieee.org"; description "Management objects that control timing and synchronization for time sensitive applications, as specified in IEEE Std 802.1AS. Copyright (C) IEEE (2024). This version of this YANG module is part of IEEE Std 802.1AS; see the standard itself for full legal notices."; revision 2024-09-11 { description "Published as part of IEEE Std 802.1ASdn-2024. Initial version."; reference "IEEE Std 802.1AS - Timing and Synchronization for Time-Sensitive Applications: IEEE Std 802.1AS-2020, IEEE Std 802.1AS-2020/Cor 1-2021, IEEE Std 802.1ASdr-2024, IEEE Std 802.1ASdn-2024. IEEE Std 1588 - IEEE Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems: IEEE Std 1588-2019, IEEE Std 1588g-2022, IEEE Std 1588e-2024."; } typedef scaled-ns { type string { pattern "[0-9A-F]{2}(-[0-9A-F]{2}){11}"; } description "The IEEE Std 802.1AS ScaledNs type represents signed values of time and time interval in units of 2^16 ns, as a signed 96-bit integer. Each of the 12 octets is represented as a pair of hexadecimal characters, using uppercase for a letter. Octets are separated by a dash character. The most significant octet is first."; reference "6.4.3.1 of IEEE Std 802.1AS"; } typedef uscaled-ns { type string { pattern "[0-9A-F]{2}(-[0-9A-F]{2}){11}"; } description "The IEEE Std 802.1AS UScaledNs type represents unsigned values of time and time interval in units of 2^16 ns, as an unsigned 96-bit integer. Each of the 12 octets is represented as a pair of hexadecimal characters, using uppercase for a letter. Octets are separated by a dash character. The most significant octet is first."; reference "6.4.3.2 of IEEE Std 802.1AS"; } typedef float64 { type string { pattern "[0-9A-F]{2}(-[0-9A-F]{2}){7}"; } description "The IEEE Std 802.1AS Float64 type represents IEEE Std 754 binary64. Each of the 8 octets is represented as a pair of hexadecimal characters, using uppercase for a letter. Octets are separated by a dash character. The most significant octet is first."; reference "6.4.2 of IEEE Std 802.1AS"; } typedef uinteger48 { type uint64 { range "0..281474976710655"; } description "48-bit unsigned integer data type."; reference "6.4.2 of IEEE Std 802.1AS"; } augment "/ptp-tt:ptp/ptp-tt:instances/ptp-tt:instance/ptp-tt:default-ds" { description "Augment IEEE Std 1588 defaultDS."; leaf gm-capable { type boolean; config false; description "The value is true if the time-aware system is capable of being a Grandmaster, and false if the time-aware system is not capable of being a Grandmaster."; reference "14.2.7 of IEEE Std 802.1AS"; } leaf current-utc-offset { when "../current-utc-offset-valid='true'"; type int16; config false; description "Offset from UTC (TAI - UTC). The offset is in units of seconds. This leaf applies to the ClockTimeTransmitter entity (i.e., local only, unrelated to a remote GM)."; reference "14.2.8 of IEEE Std 802.1AS"; } leaf current-utc-offset-valid { type boolean; config false; description "The value of current-utc-offset-valid shall be true if the value of current-utc-offset is known to be correct, otherwise it shall be false. This leaf applies to the ClockTimeTransmitter entity (i.e., local only, unrelated to a remote GM)."; reference "14.2.9 of IEEE Std 802.1AS"; } leaf leap59 { type boolean; config false; description "If the timescale is PTP, a true value for leap59 shall indicate that the last minute of the current UTC day contains 59 seconds. If the timescale is not PTP, the value shall be false. This leaf applies to the ClockTimeTransmitter entity (i.e., local only, unrelated to a remote GM)."; reference "14.2.10 of IEEE Std 802.1AS"; } leaf leap61 { type boolean; config false; description "If the timescale is PTP, a true value for leap61 shall indicate that the last minute of the current UTC day contains 61 seconds. If the timescale is not PTP, the value shall be false. This leaf applies to the ClockTimeTransmitter entity (i.e., local only, unrelated to a remote GM)."; reference "14.2.11 of IEEE Std 802.1AS"; } leaf time-traceable { type boolean; config false; description "The value of time-traceable shall be true if the timescale is traceable to a primary reference; otherwise, the value shall be false. This leaf applies to the ClockTimeTransmitter entity (i.e., local only, unrelated to a remote GM)."; reference "14.2.12 of IEEE Std 802.1AS"; } leaf frequency-traceable { type boolean; config false; description "The value of frequency-traceable shall be true if the frequency determining the timescale is traceable to a primary reference; otherwise, the value shall be false. This leaf applies to the ClockTimeTransmitter entity (i.e., local only, unrelated to a remote GM)."; reference "14.2.13 of IEEE Std 802.1AS"; } leaf ptp-timescale { type boolean; config false; description "If ptp-timescale is true, the timescale of the ClockTimeTransmitter entity is PTP, which is the elapsed time since the PTP epoch measured using the second defined by International Atomic Time (TAI). If ptp-timescale is false, the timescale of the ClockTimeTransmitter entity is ARB, which is the elapsed time since an arbitrary epoch. This leaf applies to the ClockTimeTransmitter entity (i.e., local only, unrelated to a remote GM)."; reference "14.2.14 of IEEE Std 802.1AS"; } leaf time-source { type identityref { base ptp-tt:time-source; } config false; description "The source of time used by the Grandmaster Clock. This leaf applies to the ClockTimeTransmitter entity (i.e., local only, unrelated to a remote GM)."; reference "14.2.15 of IEEE Std 802.1AS"; } } augment "/ptp-tt:ptp/ptp-tt:instances/ptp-tt:instance/ptp-tt:current-ds" { description "Augment IEEE Std 1588 currentDS."; leaf last-gm-phase-change { type scaled-ns; config false; description "Phase change that occurred on the most recent change in either the Grandmaster PTP Instance or gm-timebase-indicator leaf."; reference "14.3.4 of IEEE Std 802.1AS"; } leaf last-gm-freq-change { type float64; config false; description "Frequency change that occurred on the most recent change in either the Grandmaster PTP Instance or gm-timebase-indicator leaf."; reference "14.3.5 of IEEE Std 802.1AS"; } leaf gm-timebase-indicator { type uint16; config false; description "The timeBaseIndicator of the current Grandmaster PTP Instance."; reference "14.3.6 of IEEE Std 802.1AS"; } leaf gm-change-count { type yang:counter32; config false; description "This statistics counter tracks the number of times the Grandmaster PTP Instance has changed in a gPTP domain."; reference "14.3.7 of IEEE Std 802.1AS"; } leaf time-of-last-gm-change { type yang:timestamp; config false; description "System time when the most recent Grandmaster Clock change occurred in a gPTP domain. This leaf's type is YANG timestamp, which is based on system time. System time is an unsigned integer in units of 10 milliseconds, using an epoch defined by the implementation (typically time of boot-up)."; reference "14.3.8 of IEEE Std 802.1AS"; } leaf time-of-last-phase-change { type yang:timestamp; config false; description "System time when the most recent change in Grandmaster Clock phase occurred. This leaf's type is YANG timestamp, which is based on system time. System time is an unsigned integer in units of 10 milliseconds, using an epoch defined by the implementation (typically time of boot-up)."; reference "14.3.9 of IEEE Std 802.1AS"; } leaf time-of-last-freq-change { type yang:timestamp; config false; description "System time when the most recent change in Grandmaster Clock frequency occurred. This leaf's type is YANG timestamp, which is based on system time. System time is an unsigned integer in units of 10 milliseconds, using an epoch defined by the implementation (typically time of boot-up)."; reference "14.3.10 of IEEE Std 802.1AS"; } } augment "/ptp-tt:ptp/ptp-tt:instances/ptp-tt:instance/ptp-tt:parent-ds" { description "Augment IEEE Std 1588 parentDS."; leaf cumulative-rate-ratio { type int32; config false; description "Estimate of the ratio of the frequency of the Grandmaster Clock to the frequency of the LocalClock entity of this PTP Instance. cumulative-rate-ratio is expressed as the fractional frequency offset multiplied by 2^41, i.e., the quantity (rateRatio - 1.0)(2^41)."; reference "14.4.3 of IEEE Std 802.1AS"; } } augment "/ptp-tt:ptp"+ "/ptp-tt:instances"+ "/ptp-tt:instance"+ "/ptp-tt:ports"+ "/ptp-tt:port"+ "/ptp-tt:port-ds" { description "Augment IEEE Std 1588 portDS. 14.8.4 of IEEE Std 802.1AS specifies ptpPortEnabled (ptp-port-enabled), which is provided in YANG as the semantically equivalent node in ieee1588-ptp-tt named port-enable (in port-ds). 14.8.15 of IEEE Std 802.1AS specifies mgtSettableLogAnnounceInterval (mgt-log-announce-interval), which is provided in YANG as the semantically equivalent node in ieee1588-ptp-tt named log-announce-interval (in port-ds). In the context of IEEE Std 802.1AS, log-announce-interval cannot be used unless use-mgt-log-announce-interval is true. 14.8.20 of IEEE Std 802.1AS specifies mgtSettableLogSyncInterval (mgt-log-sync-interval), which is provided in YANG as the semantically equivalent node in ieee1588-ptp-tt named log-sync-interval (in port-ds). In the context of IEEE Std 802.1AS, log-sync-interval cannot be used unless use-mgt-log-sync-interval is true."; leaf is-measuring-delay { type boolean; config false; description "Boolean that is true if the port is measuring PTP Link propagation delay."; reference "14.8.6 of IEEE Std 802.1AS"; } leaf as-capable { type boolean; config false; description "Boolean that is true if and only if it is determined that this PTP Instance and the PTP Instance at the other end of the link attached to this port can interoperate with each other via the IEEE Std 802.1AS protocol."; reference "10.2.5.1 of IEEE Std 802.1AS 14.8.7 of IEEE Std 802.1AS"; } leaf mean-link-delay-thresh { type ptp-tt:time-interval; description "Propagation time threshold for mean-link-delay, above which a port is not considered capable of participating in the IEEE Std 802.1AS protocol."; reference "14.8.9 of IEEE Std 802.1AS"; } leaf neighbor-rate-ratio { type int32; config false; description "Estimate of the ratio of the frequency of the LocalClock entity of the PTP Instance at the other end of the link attached to this PTP Port, to the frequency of the LocalClock entity of this PTP Instance. neighbor-rate-ratio is expressed as the fractional frequency offset multiplied by 2^41, i.e., the quantity (rateRatio - 1.0)(2^41)."; reference "14.8.11 of IEEE Std 802.1AS"; } leaf initial-log-announce-interval { type int8; description "When use-mgt-log-announce-interval is false (i.e., change with Signaling message), this is the the logarithm to base 2 of the announce interval used when the port is initialized."; reference "14.8.12 of IEEE Std 802.1AS"; } leaf current-log-announce-interval { type int8; config false; description "Logarithm to base 2 of the current announce interval."; reference "14.8.13 of IEEE Std 802.1AS"; } leaf use-mgt-log-announce-interval { type boolean; description "Boolean that determines the source of the announce interval. If the value is true, the announce interval (current-log-announce-interval) is set equal to the value of mgt-log-announce-interval. If the value is false, the announce interval is determined by the AnnounceIntervalSetting state machine (i.e., changed with Signaling message)."; reference "14.8.14 of IEEE Std 802.1AS"; } leaf initial-log-sync-interval { type int8; description "When use-mgt-log-sync-interval is false (i.e., change with Signaling message), this is the the logarithm to base 2 of the sync interval used when the port is initialized."; reference "14.8.17 of IEEE Std 802.1AS"; } leaf current-log-sync-interval { type int8; config false; description "Logarithm to base 2 of the current sync interval."; reference "14.8.18 of IEEE Std 802.1AS"; } leaf use-mgt-log-sync-interval { type boolean; description "Boolean that determines the source of the sync interval. If the value is true, the sync interval (current-log-sync-interval) is set equal to the value of mgt-log-sync-interval. If the value is false, the sync interval is determined by the SyncIntervalSetting state machine (i.e., changed with Signaling message)."; reference "14.8.19 of IEEE Std 802.1AS"; } leaf sync-receipt-timeout { type uint8; description "Number of sync intervals that a timeReceiver port waits without receiving synchronization information, before assuming that the timeTransmitter is no longer transmitting synchronization information and that the BTCA needs to be run, if appropriate."; reference "14.8.21 of IEEE Std 802.1AS"; } leaf sync-receipt-timeout-interval { type uscaled-ns; config false; description "Time interval after which sync receipt timeout occurs if time-synchronization information has not been received during the interval."; reference "14.8.22 of IEEE Std 802.1AS"; } leaf initial-log-pdelay-req-interval { type int8; description "When use-mgt-log-pdelay-req-interval is false (i.e., change with Signaling message), this is the the logarithm to base 2 of the Pdelay_Req transmit interval used when the port is initialized."; reference "14.8.23 of IEEE Std 802.1AS"; } leaf current-log-pdelay-req-interval { type int8; config false; description "Logarithm to base 2 of the current Pdelay_Req transmit interval."; reference "14.8.24 of IEEE Std 802.1AS"; } leaf use-mgt-log-pdelay-req-interval { type boolean; description "Boolean that determines the source of the Pdelay_Req transmit interval. If the value is true, the Pdelay_Req transmit interval (current-log-pdelay-req-interval) is set equal to the value of mgt-log-pdelay-req-interval. If the value is false, the Pdelay_Req transmit interval is determined by the LinkDelayIntervalSetting state machine (i.e., changed with Signaling message)."; reference "14.8.25 of IEEE Std 802.1AS"; } leaf mgt-log-pdelay-req-interval { type int8; description "Logarithm to base 2 of the Pdelay_Req transmit interval, used if use-mgt-log-pdelay-req-interval is true. This value is not used if use-mgt-log-pdelay-req-interval is false."; reference "14.8.26 of IEEE Std 802.1AS"; } leaf initial-log-gptp-cap-interval { type int8; description "When use-mgt-log-gptp-cap-interval is false (i.e., change with Signaling message), this is the the logarithm to base 2 of the gPTP capable message interval used when the port is initialized."; reference "14.8.27 of IEEE Std 802.1AS"; } leaf current-log-gptp-cap-interval { type int8; config false; description "Logarithm to base 2 of the current gPTP capable message interval."; reference "14.8.28 of IEEE Std 802.1AS"; } leaf use-mgt-log-gptp-cap-interval { type boolean; description "Boolean that determines the source of the gPTP capable message interval. If the value is true, the gPTP capable message interval (current-log-gptp-cap-interval) is set equal to the value of mgt-gptp-cap-req-interval. If the value is false, the gPTP capable message interval is determined by the GptpCapableMessageIntervalSetting state machine (i.e., changed with Signaling message)."; reference "14.8.29 of IEEE Std 802.1AS"; } leaf mgt-log-gptp-cap-interval { type int8; description "Logarithm to base 2 of the gPTP capable message interval, used if use-mgt-log-gptp-cap-interval is true. This value is not used if use-mgt-log-pdelay-req-interval is false."; reference "14.8.30 of IEEE Std 802.1AS"; } leaf initial-compute-neighbor-rate-ratio { type boolean; description "When use-mgt-compute-neighbor-rate-ratio is false (i.e., change with Signaling message), this is the initial value of computeNeighborRateRatio."; reference "14.8.31 of IEEE Std 802.1AS"; } leaf current-compute-neighbor-rate-ratio { type boolean; config false; description "Current value of computeNeighborRateRatio."; reference "14.8.32 of IEEE Std 802.1AS"; } leaf use-mgt-compute-neighbor-rate-ratio { type boolean; description "Boolean that determines the source of computeNeighborRateRatio.. If the value is true, computeNeighborRateRatio is set equal to the value of mgt-compute-neighbor-rate-ratio. If the value is false, computeNeighborRateRatio is determined by the LinkDelayIntervalSetting state machine (i.e., changed with Signaling message)."; reference "14.8.33 of IEEE Std 802.1AS"; } leaf mgt-compute-neighbor-rate-ratio { type boolean; description "Value of computeNeighborRateRatio, used if use-mgt-compute-neighbor-rate-ratio is true. This value is not used if use-mgt-compute-neighbor-rate-ratio is false."; reference "14.8.34 of IEEE Std 802.1AS"; } leaf initial-compute-mean-link-delay { type boolean; description "When use-mgt-compute-mean-link-delay is false (i.e., change with Signaling message), this is the initial value of computeMeanLinkDelay."; reference "14.8.35 of IEEE Std 802.1AS"; } leaf current-compute-mean-link-delay { type boolean; config false; description "Current value of computeMeanLinkDelay."; reference "14.8.36 of IEEE Std 802.1AS"; } leaf use-mgt-compute-mean-link-delay { type boolean; description "Boolean that determines the source of computeMeanLinkDelay. If the value is true, computeMeanLinkDelay is set equal to the value of mgt-compute-mean-link-delay. If the value is false, computeMeanLinkDelay is determined by the LinkDelayIntervalSetting state machine (i.e., changed with Signaling message)."; reference "14.8.37 of IEEE Std 802.1AS"; } leaf mgt-compute-mean-link-delay { type boolean; description "Value of computeMeanLinkDelay, used if use-mgt-compute-mean-link-delay is true. This value is not used if use-mgt-compute-mean-link-delay is false."; reference "14.8.38 of IEEE Std 802.1AS"; } leaf allowed-lost-responses { type uint8; description "Number of Pdelay_Req messages for which a valid response is not received, above which a port is considered to not be exchanging peer delay messages with its neighbor."; reference "14.8.39 of IEEE Std 802.1AS"; } leaf allowed-faults { type uint8; description "Number of faults above which asCapable is set to false."; reference "14.8.40 of IEEE Std 802.1AS"; } leaf gptp-cap-receipt-timeout { type uint8; description "Number of transmission intervals that a port waits without receiving the gPTP capable TLV, before assuming that the neighbor port is no longer invoking the gPTP protocol."; reference "14.8.41 of IEEE Std 802.1AS"; } leaf nup { type float64; description "For an OLT port of an IEEE Std 802.3 EPON link, this value is the effective index of refraction for the EPON upstream wavelength light of the optical path."; reference "14.8.43 of IEEE Std 802.1AS"; } leaf ndown { type float64; description "For an OLT port of an IEEE 802.3 EPON link, this value is the effective index of refraction for the EPON downstream wavelength light of the optical path."; reference "14.8.44 of IEEE Std 802.1AS"; } leaf one-step-tx-oper { type boolean; config false; description "This value is true if the port is sending one-step Sync messages, and false if the port is sending two-step Sync and Follow-Up messages."; reference "14.8.45 of IEEE Std 802.1AS"; } leaf one-step-receive { type boolean; config false; description "This value is true if the port is capable of receiving and processing one-step Sync messages."; reference "14.8.46 of IEEE Std 802.1AS"; } leaf one-step-transmit { type boolean; config false; description "This value is true if the port is capable of transmitting one-step Sync messages."; reference "14.8.47 of IEEE Std 802.1AS"; } leaf initial-one-step-tx-oper { type boolean; description "When use-mgt-one-step-tx-oper is false (i.e., change with Signaling message), this is the initial value of current-one-step-tx-oper."; reference "14.8.48 of IEEE Std 802.1AS"; } leaf current-one-step-tx-oper { type boolean; config false; description "This value is true if the port is configured to transmit one-step Sync messages, either via management (mgt-one-step-tx-oper) or Signaling. If both current-one-step-tx-oper and one-step-transmit are true, the port transmits one-step Sync messages (i.e., one-step-tx-oper true)."; reference "14.8.49 of IEEE Std 802.1AS"; } leaf use-mgt-one-step-tx-oper { type boolean; description "Boolean that determines the source of current-one-step-tx-oper. If the value is true, current-one-step-tx-oper is set equal to the value of mgt-one-step-tx-oper. If the value is false, current-one-step-tx-oper is determined by the OneStepTxOperSetting state machine (i.e., changed with Signaling message)."; reference "14.8.50 of IEEE Std 802.1AS"; } leaf mgt-one-step-tx-oper { type boolean; description "If use-mgt-one-step-tx-oper is true, current-one-step-tx-oper is set equal to this value. This value is not used if use-mgt-one-step-tx-oper is false."; reference "14.8.51 of IEEE Std 802.1AS"; } leaf sync-locked { type boolean; config false; description "This value is true if the port will transmit a Sync as soon as possible after the timeReceiver port receives a Sync message."; reference "14.8.52 of IEEE Std 802.1AS"; } leaf-list pdelay-truncated-timestamps { type uinteger48; config false; description "For full-duplex IEEE Std 802.3 media, and CSN media that use the peer-to-peer delay mechanism to measure path delay, the values of the four elements of this leaf-list correspond to the timestamps t1, t2, t3, and t4, listed in that order. Each timestamp is expressed in units of 2^-16 ns (i.e., the value of each array element is equal to the remainder obtained upon dividing the respective timestamp, expressed in units of 2^-16 ns, by 2^48). At any given time, the timestamp values stored in the array are for the same, and most recently completed, peer delay message exchange. For each timestamp, only 48-bits are valid (the upper 16-bits are always zero)."; reference "14.8.53 of IEEE Std 802.1AS"; } } augment "/ptp-tt:ptp"+ "/ptp-tt:instances"+ "/ptp-tt:instance"+ "/ptp-tt:ports"+ "/ptp-tt:port" { description "Augment to add port-statistics-ds to IEEE Std 1588 PTP Port."; container port-statistics-ds { description "Provides counters associated with the port of the PTP Instance."; reference "14.10 of IEEE Std 802.1AS"; leaf rx-sync-count { type yang:counter32; config false; description "Counter that increments every time synchronization information is received."; reference "14.10.2 of IEEE Std 802.1AS"; } leaf rx-one-step-sync-count { type yang:counter32; config false; description "Counter that increments every time a one-step Sync message is received."; reference "14.10.3 of IEEE Std 802.1AS"; } leaf rx-follow-up-count { type yang:counter32; config false; description "Counter that increments every time a Follow_Up message is received."; reference "14.10.4 of IEEE Std 802.1AS"; } leaf rx-pdelay-req-count { type yang:counter32; config false; description "Counter that increments every time a Pdelay_Req message is received."; reference "14.10.5 of IEEE Std 802.1AS"; } leaf rx-pdelay-resp-count { type yang:counter32; config false; description "Counter that increments every time a Pdelay_Resp message is received."; reference "14.10.6 of IEEE Std 802.1AS"; } leaf rx-pdelay-resp-follow-up-count { type yang:counter32; config false; description "Counter that increments every time a Pdelay_Resp_Follow_Up message is received."; reference "14.10.7 of IEEE Std 802.1AS"; } leaf rx-announce-count { type yang:counter32; config false; description "Counter that increments every time an Announce message is received."; reference "14.10.8 of IEEE Std 802.1AS"; } leaf rx-packet-discard-count { type yang:counter32; config false; description "Counter that increments every time a PTP message of the respective PTP Instance is discarded."; reference "14.10.9 of IEEE Std 802.1AS"; } leaf sync-receipt-timeout-count { type yang:counter32; config false; description "Counter that increments every time a sync receipt timeout occurs."; reference "14.10.10 of IEEE Std 802.1AS"; } leaf announce-receipt-timeout-count { type yang:counter32; config false; description "Counter that increments every time an announce receipt timeout occurs."; reference "14.10.11 of IEEE Std 802.1AS"; } leaf pdelay-allowed-lost-exceeded-count { type yang:counter32; config false; description "Counter that increments every time the value of the variable lostResponses exceeds the value of the variable allowedLostResponses, in the RESET state of the MDPdelayReq state machine."; reference "14.10.12 of IEEE Std 802.1AS"; } leaf tx-sync-count { type yang:counter32; config false; description "Counter that increments every time synchronization information is transmitted."; reference "14.10.13 of IEEE Std 802.1AS"; } leaf tx-one-step-sync-count { type yang:counter32; config false; description "Counter that increments every time a one-step Sync message is transmitted."; reference "14.10.14 of IEEE Std 802.1AS"; } leaf tx-follow-up-count { type yang:counter32; config false; description "Counter that increments every time a Follow_Up message is transmitted."; reference "14.10.15 of IEEE Std 802.1AS"; } leaf tx-pdelay-req-count { type yang:counter32; config false; description "Counter that increments every time a Pdelay_Req message is transmitted."; reference "14.10.16 of IEEE Std 802.1AS"; } leaf tx-pdelay-resp-count { type yang:counter32; config false; description "Counter that increments every time a Pdelay_Resp message is transmitted."; reference "14.10.17 of IEEE Std 802.1AS"; } leaf tx-pdelay-resp-follow-up-count { type yang:counter32; config false; description "Counter that increments every time a Pdelay_Resp_Follow_Up message is transmitted."; reference "14.10.18 of IEEE Std 802.1AS"; } leaf tx-announce-count { type yang:counter32; config false; description "Counter that increments every time an Announce message is transmitted."; reference "14.10.19 of IEEE Std 802.1AS"; } } } augment "/ptp-tt:ptp"+ "/ptp-tt:instances"+ "/ptp-tt:instance"+ "/ptp-tt:ports"+ "/ptp-tt:port" { description "Augment to add asymmetry-measurement-mode-ds to IEEE Std 1588 PTP Port."; container asymmetry-measurement-mode-ds { description "Represents the capability to enable/disable the Asymmetry Compensation Measurement Procedure on a PTP Port. This data set is used instead of the CMLDS asymmetry-measurement-mode-ds when only a single PTP Instance is present (i.e., CMLDS is not used)."; reference "14.13 of IEEE Std 802.1AS Annex G of IEEE Std 802.1AS"; leaf enabled { type boolean; description "For full-duplex IEEE Std 802.3 media, the value is true if an asymmetry measurement is being performed for the link attached to this PTP Port, and false otherwise. For all other media, the value shall be false."; reference "14.13.2 of IEEE Std 802.1AS"; } } } augment "/ptp-tt:ptp"+ "/ptp-tt:common-services"+ "/ptp-tt:cmlds"+ "/ptp-tt:ports"+ "/ptp-tt:port"+ "/ptp-tt:link-port-ds" { description "Augment IEEE Std 1588 cmldsLinkPortDS. 14.16.9 of IEEE Std 802.1AS specifies neighborRateRatio (neighbor-rate-ratio), which is provided in YANG as the semantically equivalent node in ieee1588-ptp-tt named scaled-neighbor-rate-ratio (in link-port-ds)."; leaf cmlds-link-port-enabled { type boolean; config false; description "Boolean that is true if both delay-mechanism is common-p2p and the value of ptp-port-enabled is true, for at least one PTP Port that uses the CMLDS; otherwise, the value is false."; reference "11.2.18.1 of IEEE Std 802.1AS 14.16.3 of IEEE Std 802.1AS"; } leaf is-measuring-delay { type boolean; config false; description "This leaf is analogous to is-measuring-delay for a PTP Port, but applicable to this Link Port."; reference "14.16.4 of IEEE Std 802.1AS"; } leaf as-capable-across-domains { type boolean; config false; description "This leaf is true when all PTP Instances (domains) for this Link Port detect proper exchange of Pdelay messages."; reference "11.2.2 of IEEE Std 802.1AS 14.16.5 of IEEE Std 802.1AS"; } leaf mean-link-delay-thresh { type ptp-tt:time-interval; description "Propagation time threshold for mean-link-delay, above which a Link Port is not considered capable of participating in the IEEE Std 802.1AS protocol."; reference "14.16.7 of IEEE Std 802.1AS"; } leaf initial-log-pdelay-req-interval { type int8; description "This leaf is analogous to initial-log-pdelay-req-interval for a PTP Port, but applicable to this Link Port."; reference "14.16.10 of IEEE Std 802.1AS"; } leaf current-log-pdelay-req-interval { type int8; config false; description "This leaf is analogous to current-log-pdelay-req-interval for a PTP Port, but applicable to this Link Port."; reference "14.16.11 of IEEE Std 802.1AS"; } leaf use-mgt-log-pdelay-req-interval { type boolean; description "This leaf is analogous to use-mgt-log-pdelay-req-interval for a PTP Port, but applicable to this Link Port."; reference "14.16.12 of IEEE Std 802.1AS"; } leaf mgt-log-pdelay-req-interval { type int8; description "This leaf is analogous to mgt-log-pdelay-req-interval for a PTP Port, but applicable to this Link Port."; reference "14.16.13 of IEEE Std 802.1AS"; } leaf initial-compute-neighbor-rate-ratio { type boolean; description "This leaf is analogous to initial-compute-neighbor-rate-ratio for a PTP Port, but applicable to this Link Port."; reference "14.16.14 of IEEE Std 802.1AS"; } leaf current-compute-neighbor-rate-ratio { type boolean; config false; description "This leaf is analogous to current-compute-neighbor-rate-ratio for a PTP Port, but applicable to this Link Port."; reference "14.16.15 of IEEE Std 802.1AS"; } leaf use-mgt-compute-neighbor-rate-ratio { type boolean; description "This leaf is analogous to use-mgt-compute-neighbor-rate-ratio for a PTP Port, but applicable to this Link Port."; reference "14.16.16 of IEEE Std 802.1AS"; } leaf mgt-compute-neighbor-rate-ratio { type boolean; description "This leaf is analogous to mgt-compute-neighbor-rate-ratio for a PTP Port, but applicable to this Link Port."; reference "14.16.17 of IEEE Std 802.1AS"; } leaf initial-compute-mean-link-delay { type boolean; description "This leaf is analogous to initial-compute-mean-link-delay for a PTP Port, but applicable to this Link Port."; reference "14.16.18 of IEEE Std 802.1AS"; } leaf current-compute-mean-link-delay { type boolean; config false; description "This leaf is analogous to current-compute-mean-link-delay for a PTP Port, but applicable to this Link Port."; reference "14.16.19 of IEEE Std 802.1AS"; } leaf use-mgt-compute-mean-link-delay { type boolean; description "This leaf is analogous to use-mgt-compute-mean-link-delay for a PTP Port, but applicable to this Link Port."; reference "14.16.20 of IEEE Std 802.1AS"; } leaf mgt-compute-mean-link-delay { type boolean; description "This leaf is analogous to mgt-compute-mean-link-delay for a PTP Port, but applicable to this Link Port."; reference "14.16.21 of IEEE Std 802.1AS"; } leaf allowed-lost-responses { type uint8; description "This leaf is analogous to allowed-lost-responses for a PTP Port, but applicable to this Link Port."; reference "14.16.22 of IEEE Std 802.1AS"; } leaf allowed-faults { type uint8; description "This leaf is analogous to allowed-faults for a PTP Port, but applicable to this Link Port."; reference "14.16.23 of IEEE Std 802.1AS"; } leaf-list pdelay-truncated-timestamps { type uinteger48; config false; description "This leaf is analogous to pdelay-truncated-timestamps for a PTP Port, but applicable to this Link Port."; reference "14.16.25 of IEEE Std 802.1AS"; } } augment "/ptp-tt:ptp"+ "/ptp-tt:common-services"+ "/ptp-tt:cmlds"+ "/ptp-tt:ports"+ "/ptp-tt:port" { description "Augment to add port-statistics-ds to IEEE Std 1588 Link Port."; container port-statistics-ds { description "This container is analogous to port-statistics-ds for a PTP Port, but applicable to this Link Port."; reference "14.17 of IEEE Std 802.1AS"; leaf rx-pdelay-req-count { type yang:counter32; config false; description "This leaf is analogous to rx-pdelay-req-count for a PTP Port, but applicable to this Link Port."; reference "14.17.2 of IEEE Std 802.1AS"; } leaf rx-pdelay-resp-count { type yang:counter32; config false; description "This leaf is analogous to rx-pdelay-resp-count for a PTP Port, but applicable to this Link Port."; reference "14.17.3 of IEEE Std 802.1AS"; } leaf rx-pdelay-resp-follow-up-count { type yang:counter32; config false; description "This leaf is analogous to rx-pdelay-resp-follow-up-count for a PTP Port, but applicable to this Link Port."; reference "14.17.4 of IEEE Std 802.1AS"; } leaf rx-packet-discard-count { type yang:counter32; config false; description "This leaf is analogous to rx-packet-discard-count for a PTP Port, but applicable to this Link Port."; reference "14.17.5 of IEEE Std 802.1AS"; } leaf pdelay-allowed-lost-exceeded-count { type yang:counter32; config false; description "This leaf is analogous to pdelay-allowed-lost-exceeded-count for a PTP Port, but applicable to this Link Port."; reference "14.17.6 of IEEE Std 802.1AS"; } leaf tx-pdelay-req-count { type yang:counter32; config false; description "This leaf is analogous to tx-pdelay-req-count for a PTP Port, but applicable to this Link Port."; reference "14.17.7 of IEEE Std 802.1AS"; } leaf tx-pdelay-resp-count { type yang:counter32; config false; description "This leaf is analogous to tx-pdelay-resp-count for a PTP Port, but applicable to this Link Port."; reference "14.17.8 of IEEE Std 802.1AS"; } leaf tx-pdelay-resp-follow-up-count { type yang:counter32; config false; description "This leaf is analogous to tx-pdelay-resp-follow-up-count for a PTP Port, but applicable to this Link Port."; reference "14.17.9 of IEEE Std 802.1AS"; } } } augment "/ptp-tt:ptp"+ "/ptp-tt:common-services"+ "/ptp-tt:cmlds"+ "/ptp-tt:ports"+ "/ptp-tt:port" { description "Augment to add asymmetry-measurement-mode-ds to IEEE Std 1588 Link Port."; container asymmetry-measurement-mode-ds { description "This container is analogous to asymmetry-measurement-mode-ds for a PTP Port, but applicable to this Link Port."; reference "14.18 of IEEE Std 802.1AS"; leaf enabled { type boolean; description "This leaf is analogous to asymmetry-measurement-mode-ds.enabled for a PTP Port, but applicable to this Link Port."; reference "14.18.2 of IEEE Std 802.1AS"; } } } }