ieee802-dot1as-gptp

Management objects that control timing and synchronization for time sensitive applications, as specified in clause 14 of IEEE St...

  • Version: 2025-03-06

    ieee802-dot1as-gptp@2025-03-06


    
      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 clause 14 of IEEE Std
    802.1AS-2020-REV.
    
    Copyright (C) IEEE (2025). This version of this YANG module is part
    of IEEE Std 802.1AS-2020-REV; see the standard itself for full legal notices.";
    
        revision "2025-03-06" {
          description
            "Published as part of IEEE Std 802.1ASds-202X.";
          reference
            "IEEE Std 802.1AS - Timing and Synchronization for Time-Sensitive
            Applications: IEEE Std 802.1AS-2020-REV.
            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.10.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.10.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.10.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.10.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.10.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.10.9 of IEEE Std 802.1AS";
    
          }
    
          leaf neg-mean-link-delay-thresh {
            type ptp-tt:time-interval;
            description
              "The negative propagation time threshold for mean-link-delay,
    below which a port is not considered capable of participating
    in the IEEE Std 802.1AS protocol.";
            reference
              "14.10.10 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.10.12 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 logarithm to base 2 of the
    announce interval used when the port is initialized.";
            reference
              "14.10.13 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.10.14 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.10.15 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 logarithm to base 2 of the
    sync interval used when the port is initialized.";
            reference
              "14.10.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.10.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.10.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.10.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.10.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 logarithm to base 2 of the
    Pdelay_Req transmit interval used when the port is initialized.";
            reference
              "14.10.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.10.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.10.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.10.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 logarithm to base 2 of the
    gPTP capable message interval used when the port is initialized.";
            reference
              "14.10.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.10.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.10.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.10.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.10.31 of IEEE Std 802.1AS";
    
          }
    
          leaf current-compute-neighbor-rate-ratio {
            type boolean;
            config false;
            description
              "Current value of computeNeighborRateRatio.";
            reference
              "14.10.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.10.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.10.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.10.35 of IEEE Std 802.1AS";
    
          }
    
          leaf current-compute-mean-link-delay {
            type boolean;
            config false;
            description
              "Current value of computeMeanLinkDelay.";
            reference
              "14.10.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.10.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.10.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.10.39 of IEEE Std 802.1AS";
    
          }
    
          leaf allowed-faults {
            type uint8;
            description
              "Number of faults above which asCapable is set to false.";
            reference
              "14.10.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.10.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.10.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.10.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.10.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.10.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.10.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.10.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.10.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.10.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.10.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.10.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.10.53 of IEEE Std 802.1AS";
    
          }
    
          leaf pdelay-req-send-disabled {
            type boolean;
            description
              "A boolean that is administratively set to TRUE
    if Pdelay_Req messages are not transmitted by this port.
    The default value for this variable shall be FALSE.";
            reference
              "11.2.19.2.14 of IEEE Std 802.1ASds";
    
          }
    
          leaf pdelay-resp-send-disabled {
            type boolean;
            description
              "A boolean that is administratively set to TRUE
    if Pdelay_Resp messages are not transmitted by this port.
    The default value for this variable shall be FALSE.";
            reference
              "11.2.20.2.6 of IEEE Std 802.1ASds";
    
          }
        }
    
        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.12 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.12.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.12.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.12.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.12.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.12.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.12.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.12.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.12.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.12.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.12.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.12.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.12.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.12.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.12.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.12.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.12.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.12.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.12.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.15 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.15.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.";
          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.18.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.18.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.18.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.18.7 of IEEE Std 802.1AS";
    
          }
    
          leaf neg-mean-link-delay-thresh {
            type ptp-tt:time-interval;
            description
              "The negative propagation time threshold for mean-link-delay,
    below which a Link Port is not considered capable of
    participating in the IEEE Std 802.1AS protocol.";
            reference
              "14.18.8 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.18.11 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.18.12 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.18.13 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.18.14 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.18.15 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.18.16 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.18.17 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.18.18 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.18.19 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.18.20 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.18.21 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.18.22 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.18.23 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.18.24 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.18.26 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.19 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.19.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.19.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.19.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.19.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.19.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.19.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.19.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.19.10 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.20 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.20.2 of IEEE Std 802.1AS";
    
            }
          }  // container asymmetry-measurement-mode-ds
        }
      }  // module ieee802-dot1as-gptp
    

© 2024 YumaWorks, Inc. All rights reserved.