ieee802-dot1as-hs

Management objects that control hot standby systems as specified in IEEE Std 802.1ASdm-2024. References in this YANG module to ...

  • Version: 2024-09-20

    ieee802-dot1as-hs@2024-09-20


    
      module ieee802-dot1as-hs {
    
        yang-version 1.1;
    
        namespace
          "urn:ieee:std:802.1AS:yang:ieee802-dot1as-hs";
    
        prefix dot1as-hs;
    
        import ietf-yang-types {
          prefix yang;
        }
        import ieee1588-ptp-tt {
          prefix ptp-tt;
        }
        import ieee802-dot1as-gptp {
          prefix dot1as-gptp;
        }
    
        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 hot standby systems as
         specified in IEEE Std 802.1ASdm-2024.
    
         References in this YANG module to IEEE Std 802.1AS are to
         IEEE Std 802.1AS-2020 as modified by
         IEEE Std 802.1AS-2020/Cor-1-2021, and amended by
         IEEE Std 802.1ASdr-2024, IEEE Std 802.1ASdn-2024, and
         IEEE Std 802.1ASdm-2024.
    
         Copyright (C) IEEE (2024).
         This version of this YANG module is part of IEEE Std 802.1AS;
         see the standard itself for full legal notices.";
    
        revision "2024-09-20" {
          description
            "Published as part of IEEE Std 802.1ASdm-2024.
           Initial version.";
          reference
            "IEEE Std 802.1AS - Timing and Synchronization for Time-Sensitive
            Applications: IEEE Std 802.1AS-2020, IEEE Std 802.1AS-2020/Cor
            1-2021, IEEE Std 802.1ASdr-2024, IEEE Std 802.1ASdn-2024,
            IEEE Std 802.1ASdm-2024.";
    
        }
    
    
        feature hot-standby {
          description
            "This feature indicates that the device supports the
           hot-standby functionality.";
        }
    
        typedef hot-standby-system-state-type {
          type enumeration {
            enum "init" {
              value 0;
              description
                "Initialization after the HotStandbySystem powers on and
               is enabled. In this state, the system is waiting for
               both PTP Instances to synchronize.";
            }
            enum "redundant" {
              value 1;
              description
                "Both PTP Instances are synchronized according to the
               requirements of the respective application or profile
               standard. Time synchronization is redundant.";
            }
            enum "not-redundant" {
              value 2;
              description
                "One PTP Instance is synchronized, and the other
               PTP Instance is faulted (not synchronized). Time
               synchronization continues to meet the requirements of
               the respective application or profile standard. Time
               synchronization is not redundant.";
            }
            enum "out-of-sync" {
              value 3;
              description
                "The HotStandbySystem is adjusting phase/frequency of
               its local time using the data stored while the system
               was in the REDUNDANT or NOT_REDUNDANT state, but the
               local time will eventually drift relative to other
               time-aware systems. During OUT_OF_SYNC state, time
               synchronization might not meet the requirements of the
               respective application or profile standard.";
            }
          }
          description
            "Possible states of the hot-standby system.";
        }
    
        typedef nrr-comp-method-type {
          type enumeration {
            enum "sync" {
              value 0;
              description
                "If the value is Sync and driftTrackingTlvSupport is
               TRUE, neighborRateRatio is populated with the value of
               nrrSync whenever a new value of nrrSync is computed.";
            }
            enum "pdelay" {
              value 1;
              description
                "If the value is Pdelay or if driftTrackingTlvSupport
               is FALSE, neighborRateRatio is populated with the value
               of nrrPdelay whenever a new value of nrrPdelay is
               computed.";
            }
          }
          description
            "typdedef for nrrCompMethod.";
        }
    
        augment /ptp-tt:ptp/ptp-tt:instances/ptp-tt:instance/ptp-tt:parent-ds {
          description
            "Augment IEEE Std 1588 parentDS.";
          leaf gm-present {
            type boolean;
            config false;
            description
              "The value of gmPresent is set equal to the value of the
             global variable gmPresent.  This parameter indicates to the
             ClockTarget whether a Grandmaster PTP Instance is
             present.";
            reference
              "14.4.7a of IEEE Std 802.1AS";
    
          }
        }
    
        augment /ptp-tt:ptp/ptp-tt:instances/ptp-tt:instance {
          description
            "Augment IEEE Std 1588 instanceList.";
          container ptp-instance-sync-ds {
            description
              "The ptpInstanceSyncDS describes the synchronization status
             of the PTP Instance.";
            reference
              "14.7a of IEEE Std 802.1AS";
    
            leaf is-synced {
              type boolean;
              config false;
              description
                "The value of the global variable isSynced.";
              reference
                "14.7a.2 of IEEE Std 802.1AS";
    
            }
    
            leaf offset-from-time-transmitter-max {
              type ptp-tt:time-interval;
              description
                "The value is the threshold for
               offsetFromTimeTransmitter, below which the PTP Instance
               is considered to be synchronized.";
              reference
                "14.7a.3 of IEEE Std 802.1AS";
    
            }
    
            leaf rx-sync-count-time-receiver-p-thresh {
              type uint32;
              description
                "The value of rxSyncCountTimeReceiverPThresh is the
               threshold for rxSyncCountTimeReceiverP, above which
               the PTP Instance is considered to be synchronized.";
              reference
                "14.7a.4 of IEEE Std 802.1AS";
    
            }
    
            leaf offset-max-exceeded-count-thresh {
              type uint32;
              description
                "The value of offsetMaxExceededCountThresh is the
               threshold for the number of consecutive exceedances of
               offsetFromTimeTransmitterMax by
               offsetFromTimeTransmitter, at which isSynced is no
               longer TRUE.";
              reference
                "14.7a.5 of IEEE Std 802.1AS";
    
            }
    
            leaf offset-max-met-count-thresh {
              type uint32;
              description
                "The value of offsetMaxMetCountThresh is the threshold
               for the number of consecutive occurrences of
               offsetFromTimeTransmitter being within
               offsetFromTimeTransmitterMax, at which isSynced is
               changed to TRUE if it currently is FALSE.";
              reference
                "14.7a.6 of IEEE Std 802.1AS";
    
            }
          }  // container ptp-instance-sync-ds
    
          container drift-tracking-ds {
            description
              "The driftTrackingDS contains a managed object that is used
             to enable or disable the optional Drift_Tracking TLV.";
            reference
              "14.7b of IEEE Std 802.1AS";
    
            leaf drift-tracking-tlv-support {
              type boolean;
              description
                "The value of driftTrackingTlvSupport indicates whether
               the Drift_Tracking TLV is enabled or disabled.";
              reference
                "14.7b.2 of IEEE Std 802.1AS";
    
            }
          }  // container drift-tracking-ds
        }
    
        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 commonServices.";
          leaf gptp-capable-state-machines-enabled {
            type boolean;
            description
              "A Boolean that is used to enable or disable the
             GptpCapableTransmit, GptpCapableReceive, and
             GptpCapableIntervalSetting state machines.";
            reference
              "14.8.54a of IEEE Std 802.1AS";
    
          }
    
          leaf nrr-pdelay {
            type int32;
            config false;
            description
              "The value is an estimate of the ratio of the frequency of
             the LocalClock entity of the time-aware system at the
             other end of the link attached to this Link Port, to the
             frequency of the LocalClock entity of this time-aware
             system. nrrPdelay is expressed as the fractional frequency
             offset stored in the global variable nrrPdelay multiplied
             by 2^41, i.e., the quantity (nrrPdelay - 1.0)(2^41).";
            reference
              "14.8.54b of IEEE Std 802.1AS";
    
          }
    
          leaf nrr-sync {
            type int32;
            config false;
            description
              "The value is an estimate of the ratio of the frequency of
             the LocalClock entity of the time-aware system at the
             other end of the link attached to this Link Port, to the
             frequency of the LocalClock entity of this time-aware
             system. nrrSync is expressed as the fractional frequency
             offset stored in the global variable nrrSync multiplied by
             2^41, i.e., the quantity (nrrSync - 1.0)(2^41).";
            reference
              "14.8.54c of IEEE Std 802.1AS";
    
          }
    
          leaf nrr-comp-method {
            type nrr-comp-method-type;
            description
              "An Enumeration that takes on the values sync and pdelay to
             indicate the source of the value of neighborRateRatio.";
            reference
              "14.8.54d of IEEE Std 802.1AS";
    
          }
    
          leaf as-capable-across-domains {
            type boolean;
            description
              "This leaf is true when this PTP port detects proper
             exchange of Pdelay messages.";
            reference
              "14.8.54e of IEEE Std 802.1AS";
    
          }
        }
    
        augment /ptp-tt:ptp/ptp-tt:instances/ptp-tt:instance/ptp-tt:ports/ptp-tt:port/dot1as-gptp:port-statistics-ds {
          description
            "Augment IEEE Std 802.1AS PortStatisticsDS.";
          leaf rx-sync-count-time-receiver-p {
            type yang:counter32;
            config false;
            description
              "This counter increments whenever time synchronization
             information is received on a PTP Port when its port
             state is TimeReceiverPort.";
            reference
              "14.10.19a of IEEE Std 802.1AS";
    
          }
        }
    
        augment /ptp-tt:ptp/ptp-tt:common-services {
          description
            "Augment IEEE Std 1588 commonServices.
    
           IEEE Std 802.1ASdm-2024 specifies nrrPdelay
           (nrr-pdelay), which is provided in YANG as the
           semantically equivalent node in ieee1588-ptp-tt named
           scaled-neighbor-rate-ratio (in link-port-ds).";
          container hot-standby-service {
            if-feature hot-standby;
            description
              "The hotStandbyService structure contains the
             hotStandbySystemList, which is a list of instances of the
             Hot Standby Service.";
            reference
              "14.19 of IEEE Std 802.1AS";
    
            list hot-standby-system {
              key "hot-standby-system-index";
              description
                "List of instances of the Hot Standby Service";
              leaf hot-standby-system-index {
                type uint8;
                description
                  "Index for the hot-standby system.";
              }
    
              container hot-standby-system-ds {
                description
                  "The hotStandbySystemDS describes the attributes of the
                 respective instance of the Hot Standby Service.";
                reference
                  "14.19 of IEEE Std 802.1AS";
    
                leaf primary-ptp-instance-index {
                  type uint32;
                  description
                    "The value of primaryPtpInstanceIndex is the index of
                   the primary PTP Instance associated with this
                   hotStandbySystem instance.";
                  reference
                    "14.19.2 of IEEE Std 802.1AS";
    
                }
    
                leaf secondary-ptp-instance-index {
                  type uint32;
                  description
                    "The value of secondaryPtpInstanceIndex is the index
                   of the secondaryPTP Instance associated with this
                   hotStandbySystem instance.";
                  reference
                    "14.19.3 of IEEE Std 802.1AS";
    
                }
    
                leaf hot-standby-system-enable {
                  type boolean;
                  description
                    "The value is the hotStandbySystemEnable attribute of
                   the HotStandbySystem entity.";
                  reference
                    "14.19.4 of IEEE Std 802.1AS";
    
                }
    
                leaf hot-standby-system-state {
                  type hot-standby-system-state-type;
                  config false;
                  description
                    "The value of hotStandbySystemState is the state of
                   the hotStandbySystem, i.e., the value of the global
                   variable hotStandbySystemState.";
                  reference
                    "14.19.5 of IEEE Std 802.1AS";
    
                }
    
                leaf hot-standby-system-split-functionality {
                  type boolean;
                  description
                    "If the value is TRUE, the optional split
                   functionality is used. If the value is FALSE, the
                   optional split functionality is not used.";
                  reference
                    "14.19.6 of IEEE Std 802.1AS";
    
                }
    
                leaf primary-secondary-offset {
                  type dot1as-gptp:scaled-ns;
                  config false;
                  description
                    "The absolute value of the difference between the
                   clockTimeTransmitterTimes of the primary and
                   secondary PTP Instances.";
                  reference
                    "14.19.7 of IEEE Std 802.1AS";
    
                }
    
                leaf primary-secondary-offset-thresh {
                  type dot1as-gptp:scaled-ns;
                  description
                    "The threshold for
                   hotStandbySystemDS.primarySecondaryOffset, above
                   which the hotStandbySytemState transitions from
                   REDUNDANT to NOT_REDUNDANT, or does not transition
                   from NOT_REDUNDANT or OUT_OF_SYNC to REDUNDANT even
                   if other conditions for these transitions are
                   satisfied.";
                  reference
                    "14.19.8 of IEEE Std 802.1AS";
    
                }
    
                leaf hot-standby-system-log-sync-time-thresh {
                  type int8;
                  description
                    "The value of hotStandbySystemLogSyncTimeThresh is
                   the logarithm to base 2 of the time interval, in
                   seconds, after which the hotStandbySystem
                   transitions from the OUT_OF_SYNC state to either the
                   NOT-REDUNDANT or REDUNDANT state, or from the
                   NOT_REDUNDANT to the REDUNDANT state, if all other
                   conditions for the respective transition are met.
                   The value -128 means that the transition time is
                   zero, i.e., the transition occurs immediately.";
                  reference
                    "14.19.9 of IEEE Std 802.1AS";
    
                }
              }  // container hot-standby-system-ds
    
              container hot-standby-system-description-ds {
                description
                  "The hotStandbySystemDescriptionDS contains descriptive
                 information for the respective instance of the Hot
                 Standby Service.";
                reference
                  "14.20 of IEEE Std 802.1AS";
    
                leaf user-description {
                  type string {
                    length "0..128";
                  }
                  description
                    "Configurable description of the hot standby system.";
                  reference
                    "14.20.3 of IEEE Std 802.1AS";
    
                }
              }  // container hot-standby-system-description-ds
            }  // list hot-standby-system
          }  // container hot-standby-service
        }
      }  // module ieee802-dot1as-hs
    

© 2024 YumaWorks, Inc. All rights reserved.