ieee802-dot1as-ptp

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

  • Version: 2022-01-31

    ieee802-dot1as-ptp@2022-01-31


    
      module ieee802-dot1as-ptp {
    
        yang-version 1.1;
    
        namespace
          'urn:ieee:std:802.1AS:yang:ieee802-dot1as-ptp';
    
        prefix dot1as-ptp;
    
        import ietf-yang-types {
          prefix yang;
        }
        import ieee1588-ptp {
          prefix ptp;
        }
    
        organization
          "Institute of Electrical and Electronics Engineers";
    
        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-2020.";
    
        revision "2022-01-31" {
          description
            "This is the first Task Group ballot draft of the
          YANG module of amendment IEEE P802.1ASdn.";
          reference
            "IEEE P802.1ASdn-D0-1";
    
        }
    
    
        typedef scaled-ns {
          type binary {
            length "12";
          }
          description
            "The IEEE Std 802.1AS ScaledNs type represents
          signed values of time and time interval in units
          of 2^16 ns.
          YANG does not support a signed 96-bit integer,
          so this type is represented as 12 octets of
          binary data, most significant byte first.";
          reference
            "6.4.3.1 of IEEE Std 802.1AS-2020";
    
        }
    
        typedef uscaled-ns {
          type binary {
            length "12";
          }
          description
            "The IEEE Std 802.1AS ScaledNs type represents
          unsigned values of time and time interval in units
          of 2^16 ns.
          YANG does not support an unsigned 96-bit integer,
          so this type is represented as 12 octets of
          binary data, most significant byte first.";
          reference
            "6.4.3.2 of IEEE Std 802.1AS-2020";
    
        }
    
        typedef float64 {
          type binary {
            length "8";
          }
          description
            "The IEEE Std 802.1AS Float64 type represents
          IEEE Std 754 binary64 (64-bit
          double-precision floating-point format).
          YANG does not support floating-point,
          so this type is represented as 8 octets of
          binary data, most significant byte first.";
          reference
            "6.4.2 of IEEE Std 802.1AS-2020";
    
        }
    
        augment /ptp:ptp/ptp:instance-list/ptp: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-2020";
    
          }
    
          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 ClockMaster entity 
            (i.e., local only, unrelated to a remote GM).";
            reference
              "14.2.8 of IEEE Std 802.1AS-2020";
    
          }
    
          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 ClockMaster entity 
            (i.e., local only, unrelated to a remote GM).";
            reference
              "14.2.9 of IEEE Std 802.1AS-2020";
    
          }
    
          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 ClockMaster entity 
            (i.e., local only, unrelated to a remote GM).";
            reference
              "14.2.10 of IEEE Std 802.1AS-2020";
    
          }
    
          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 ClockMaster entity 
            (i.e., local only, unrelated to a remote GM).";
            reference
              "14.2.11 of IEEE Std 802.1AS-2020";
    
          }
    
          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 ClockMaster entity 
            (i.e., local only, unrelated to a remote GM).";
            reference
              "14.2.12 of IEEE Std 802.1AS-2020";
    
          }
    
          leaf frequency-traceable {
            type boolean;
            config false;
            description
              "The value of time-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 ClockMaster entity 
            (i.e., local only, unrelated to a remote GM).";
            reference
              "14.2.13 of IEEE Std 802.1AS-2020";
    
          }
    
          leaf ptp-timescale {
            type boolean;
            config false;
            description
              "If ptp-timescale is true, the timescale of
            the ClockMaster 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 ClockMaster entity is ARB, which is
            the elapsed time since an arbitrary epoch.
            This leaf applies to the ClockMaster entity 
            (i.e., local only, unrelated to a remote GM).";
            reference
              "14.2.14 of IEEE Std 802.1AS-2020";
    
          }
    
          leaf time-source {
            type identityref {
              base ptp:time-source;
            }
            config false;
            description
              "The source of time used by the Grandmaster Clock
            This leaf applies to the ClockMaster entity 
            (i.e., local only, unrelated to a remote GM).";
            reference
              "14.2.15 of IEEE Std 802.1AS-2020";
    
          }
        }
    
        augment /ptp:ptp/ptp:instance-list/ptp: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-2020";
    
          }
    
          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-2020";
    
          }
    
          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-2020";
    
          }
    
          leaf gm-change-count {
            type uint32;
            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-2020";
    
          }
    
          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-2020";
    
          }
    
          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-2020";
    
          }
    
          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-2020";
    
          }
        }
    
        augment /ptp:ptp/ptp:instance-list/ptp: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-2020";
    
          }
        }
    
        augment /ptp:ptp/ptp:instance-list/ptp:port-ds-list {
          description
            "Augment IEEE Std 1588 portDS.";
          leaf ptp-port-enabled {
            type leafref {
              path "/ptp:ptp/ptp:instance-list/ptp:port-ds-list/ptp:port-enable";
            }
            description
              "Boolean that is administratively set to true if time 
            synchronization is to be enabled on this port.
            This leaf is semantically equivalent to the 
            IEEE Std 1588 data set member portEnable.";
            reference
              "14.8.4 of IEEE Std 802.1AS-2020";
    
          }
    
          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-2020";
    
          }
    
          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-2020
              14.8.7 of IEEE Std 802.1AS-2020";
    
          }
    
          leaf mean-link-delay-thresh {
            type ptp: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-2020";
    
          }
    
          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-2020";
    
          }
    
          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-2020";
    
          }
    
          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-2020";
    
          }
    
          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-2020";
    
          }
    
          leaf mgt-log-announce-interval {
            type leafref {
              path "/ptp:ptp/ptp:instance-list/ptp:port-ds-list/ptp:log-announce-interval";
            }
            description
              "Logarithm to base 2 of the announce interval, used if 
            use-mgt-log-announce-interval is true. This value is not 
            used if use-mgt-log-announce-interval is false.
            This leaf is semantically equivalent to the 
            IEEE Std 1588 data set member logAnnounceInterval.";
            reference
              "14.8.15 of IEEE Std 802.1AS-2020";
    
          }
    
          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-2020";
    
          }
    
          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-2020";
    
          }
    
          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-2020";
    
          }
    
          leaf mgt-log-sync-interval {
            type leafref {
              path "/ptp:ptp/ptp:instance-list/ptp:port-ds-list/ptp:log-sync-interval";
            }
            description
              "Logarithm to base 2 of the sync interval, used if 
            use-mgt-log-sync-interval is true. This value is not 
            used if use-mgt-log-sync-interval is false.
            This leaf is semantically equivalent to the 
            IEEE Std 1588 data set member logSyncInterval.";
            reference
              "14.8.20 of IEEE Std 802.1AS-2020";
    
          }
    
          leaf sync-receipt-timeout {
            type uint8;
            description
              "Number of sync intervals that a slave port waits without
            receiving synchronization information, before assuming
            that the master is no longer transmitting synchronization
            information and that the BMCA needs to be run, 
            if appropriate.";
            reference
              "14.8.21 of IEEE Std 802.1AS-2020";
    
          }
    
          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-2020";
    
          }
    
          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-2020";
    
          }
    
          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-2020";
    
          }
    
          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-2020";
    
          }
    
          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-2020";
    
          }
    
          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-2020";
    
          }
    
          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-2020";
    
          }
    
          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-2020";
    
          }
    
          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-2020";
    
          }
    
          leaf initial-compute-rate-ratio {
            type int8;
            description
              "When use-mgt-compute-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-2020";
    
          }
    
          leaf current-compute-rate-ratio {
            type int8;
            config false;
            description
              "Current value of computeNeighborRateRatio.";
            reference
              "14.8.32 of IEEE Std 802.1AS-2020";
    
          }
    
          leaf use-mgt-compute-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-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-2020";
    
          }
    
          leaf mgt-compute-rate-ratio {
            type int8;
            description
              "Value of computeNeighborRateRatio, used if 
            use-mgt-compute-rate-ratio is true. 
            This value is not used if use-mgt-compute-rate-ratio
            is false.";
            reference
              "14.8.34 of IEEE Std 802.1AS-2020";
    
          }
    
          leaf initial-compute-mean-link-delay {
            type int8;
            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-2020";
    
          }
    
          leaf current-compute-mean-link-delay {
            type int8;
            config false;
            description
              "Current value of computeMeanLinkDelay.";
            reference
              "14.8.36 of IEEE Std 802.1AS-2020";
    
          }
    
          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-2020";
    
          }
    
          leaf mgt-compute-mean-link-delay {
            type int8;
            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-2020";
    
          }
    
          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-2020";
    
          }
    
          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-2020";
    
          }
    
          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-2020";
    
          }
    
          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-2020";
    
          }
    
          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-2020";
    
          }
    
          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-2020";
    
          }
    
          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-2020";
    
          }
    
          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-2020";
    
          }
    
          leaf initial-one-step-tx-oper {
            type int8;
            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-2020";
    
          }
    
          leaf current-one-step-tx-oper {
            type int8;
            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-2020";
    
          }
    
          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-2020";
    
          }
    
          leaf mgt-one-step-tx-oper {
            type int8;
            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-2020";
    
          }
    
          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 slave port receives a Sync
            message.";
            reference
              "14.8.52 of IEEE Std 802.1AS-2020";
    
          }
    
          leaf-list pdelay-truncated-timestamps {
            type uint64 {
              range "0..281474976710655";
            }
            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-2020";
    
          }
    
          container port-statistics-ds {
            description
              "Provides counters associated with the port of the
            PTP Instance.";
            reference
              "14.10 of IEEE Std 802.1AS-2020";
    
            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-2020";
    
            }
    
            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-2020";
    
            }
    
            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-2020";
    
            }
    
            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-2020";
    
            }
    
            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-2020";
    
            }
    
            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-2020";
    
            }
    
            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-2020";
    
            }
    
            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-2020";
    
            }
    
            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-2020";
    
            }
    
            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-2020";
    
            }
    
            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-2020";
    
            }
    
            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-2020";
    
            }
    
            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-2020";
    
            }
    
            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-2020";
    
            }
    
            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-2020";
    
            }
    
            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-202014.10.17";
    
            }
    
            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-2020";
    
            }
    
            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-2020";
    
            }
          }  // container port-statistics-ds
    
          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-2020
              Annex G of IEEE Std 802.1AS-2020";
    
            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.";
            }
          }  // container asymmetry-measurement-mode-ds
        }
    
        augment /ptp:ptp/ptp:common-services/ptp:cmlds/ptp:port-list {
          description
            "Augment IEEE Std 1588 cmldsLinkPortDS.";
          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-2020 
              14.16.3 of IEEE Std 802.1AS-2020";
    
          }
    
          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-2020";
    
          }
    
          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-2020
              14.16.5 of IEEE Std 802.1AS-2020";
    
          }
    
          leaf mean-link-delay-thresh {
            type ptp: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-2020";
    
          }
    
          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-2020";
    
          }
    
          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-2020";
    
          }
    
          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-2020";
    
          }
    
          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-2020";
    
          }
    
          leaf initial-compute-rate-ratio {
            type int8;
            description
              "This leaf is analogous to initial-compute-rate-ratio
            for a PTP Port, but applicable to this Link Port.";
            reference
              "14.16.14 of IEEE Std 802.1AS-2020";
    
          }
    
          leaf current-compute-rate-ratio {
            type int8;
            config false;
            description
              "This leaf is analogous to current-compute-rate-ratio
            for a PTP Port, but applicable to this Link Port.";
            reference
              "14.16.15 of IEEE Std 802.1AS-2020";
    
          }
    
          leaf use-mgt-compute-rate-ratio {
            type boolean;
            description
              "This leaf is analogous to use-mgt-compute-rate-ratio
            for a PTP Port, but applicable to this Link Port.";
            reference
              "14.16.16 of IEEE Std 802.1AS-2020";
    
          }
    
          leaf mgt-compute-rate-ratio {
            type int8;
            description
              "This leaf is analogous to mgt-compute-rate-ratio
            for a PTP Port, but applicable to this Link Port.";
            reference
              "14.16.17 of IEEE Std 802.1AS-2020";
    
          }
    
          leaf initial-compute-mean-link-delay {
            type int8;
            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-2020";
    
          }
    
          leaf current-compute-mean-link-delay {
            type int8;
            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-2020";
    
          }
    
          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-2020";
    
          }
    
          leaf mgt-compute-mean-link-delay {
            type int8;
            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-2020";
    
          }
    
          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-2020";
    
          }
    
          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-2020";
    
          }
    
          leaf-list pdelay-truncated-timestamps {
            type uint64 {
              range "0..281474976710655";
            }
            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-2020";
    
          }
    
          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-2020";
    
            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-2020";
    
            }
    
            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-2020";
    
            }
    
            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-2020";
    
            }
    
            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-2020";
    
            }
    
            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-2020";
    
            }
    
            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-2020";
    
            }
    
            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-2020";
    
            }
    
            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-2020";
    
            }
          }  // container port-statistics-ds
    
          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-2020";
    
            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.";
            }
          }  // container asymmetry-measurement-mode-ds
        }
      }  // module ieee802-dot1as-ptp
    

© 2023 YumaWorks, Inc. All rights reserved.