ieee802-dot1as-gptp

Management objects that control timing and synchronization for time sensitive applications, as specified in IEEE Std 802.1AS. C...

  • Version: 2024-06-23

    ieee802-dot1as-gptp@2024-06-23


    
      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-06-23" {
          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";
    
            }
          }  // container port-statistics-ds
        }
    
        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";
    
            }
          }  // container asymmetry-measurement-mode-ds
        }
    
        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";
    
            }
          }  // container port-statistics-ds
        }
    
        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";
    
            }
          }  // container asymmetry-measurement-mode-ds
        }
      }  // module ieee802-dot1as-gptp
    

© 2023 YumaWorks, Inc. All rights reserved.