Cisco-IOS-XR-freqsync-oper

This module contains a collection of YANG definitions for Cisco IOS-XR freqsync package operational data. This module contains ...

  • Version: 2021-01-13

    Cisco-IOS-XR-freqsync-oper@2021-01-13


    
      module Cisco-IOS-XR-freqsync-oper {
    
        yang-version 1;
    
        namespace
          "http://cisco.com/ns/yang/Cisco-IOS-XR-freqsync-oper";
    
        prefix freqsync-oper;
    
        import Cisco-IOS-XR-types {
          prefix xr;
        }
        import cisco-semver {
          prefix semver;
        }
        import Cisco-IOS-XR-freqsync-datatypes {
          prefix dt1;
        }
    
        include Cisco-IOS-XR-freqsync-oper-sub1 {
          revision-date "2021-01-13";
        }
    
        organization "Cisco Systems, Inc.";
    
        contact
          "Cisco Systems, Inc.
         Customer Service
         
         Postal: 170 West Tasman Drive
         San Jose, CA 95134
         
         Tel: +1 800 553-NETS
         
         E-mail: cs-yang@cisco.com";
    
        description
          "This module contains a collection of YANG definitions
         for Cisco IOS-XR freqsync package operational data.
         
         This module contains definitions
         for the following management objects:
           frequency-synchronization: Frequency Synchronization
             operational data
         
         Copyright (c) 2013-2021 by Cisco Systems, Inc.
         All rights reserved.";
    
        revision "2021-01-13" {
          description "Added ePRC QL code.";
        }
    
        revision "2019-12-18" {
          description
            "Added selection point input information, source information, SSM and satellite counters to line interfaces, and information about selection points.";
        }
    
        revision "2019-04-05" {
          description
            "Establish semantic version baseline.";
        }
    
        revision "2017-10-20" {
          description
            "Combined selection point info from FSYNC-SP-INFO in FSYNC-SP-INFO-V2";
        }
    
        revision "2015-11-09" {
          description "IOS XR 6.0 revision.";
        }
    
        semver:module-version "1.2.0";
        semver:module-version "1.1.0";
        semver:module-version "1.0.0";
    
        typedef Fsync-stream {
          type enumeration {
            enum "local" {
              value 1;
              description
                "Stream input from a local source";
            }
            enum "selection-point" {
              value 2;
              description
                "Stream input from a selection point on a remote
               node";
            }
          }
          description "Fsync stream";
        }
    
        typedef Fsync-source {
          type enumeration {
            enum "ethernet" {
              value 1;
              description
                "An ethernet interface";
            }
            enum "sonet" {
              value 2;
              description "A SONET interface";
            }
            enum "clock" {
              value 3;
              description "A clock interface";
            }
            enum "internal" {
              value 4;
              description "An internal clock";
            }
            enum "ptp" {
              value 5;
              description "A PTP clock";
            }
            enum "satellite-access" {
              value 6;
              description
                "A satellite access interface clock";
            }
            enum "ntp" {
              value 7;
              description "An NTP clock";
            }
            enum "gnss" {
              value 8;
              description "A GNSS receiver";
            }
          }
          description "Fsync source";
        }
    
        container frequency-synchronization {
          config false;
          description
            "Frequency Synchronization operational data";
          container global-nodes {
            description
              "Table for global node-specific operational data";
            list global-node {
              key "node";
              description
                "Global node-specific data for a particular node";
              container clock-interface-selection-back-traces {
                description
                  "Selection backtrace operational data for
                 clock-interfaces";
                list clock-interface-selection-back-trace {
                  key "clock-type id";
                  description
                    "Selection backtrace operational data for a
                   particular clock-interface or GNSS receiver";
                  leaf clock-type {
                    type dt1:Fsync-clock;
                    description "Clock type";
                  }
    
                  leaf id {
                    type uint32 {
                      range "0..4294967295";
                    }
                    description
                      "Clock ID (port number for clock interfaces,
                     receiver number for GNSS receivers";
                  }
    
                  container selected-source {
                    description
                      "Source which has been selected for output";
                    container clock-id {
                      when
                        "../source-class = 'clock-interface-source'" {
                        description
                          "../SourceClass = 'ClockInterfaceSource'";
                      }
                      description "Clock ID";
                      leaf node {
                        type xr:Node-id;
                        description "Node";
                      }
    
                      leaf id {
                        type uint32;
                        description
                          "ID (port number for clock interface, receiver
    number for GNSS receiver)";
                      }
    
                      leaf clock-name {
                        type string {
                          length "0..144";
                        }
                        description "Name";
                      }
                    }  // container clock-id
    
                    container internal-clock-id {
                      when
                        "../source-class = 'internal-clock-source'" {
                        description
                          "../SourceClass = 'InternalClockSource'";
                      }
                      description
                        "Internal Clock ID";
                      leaf node {
                        type xr:Node-id;
                        description "Node";
                      }
    
                      leaf id {
                        type uint32;
                        description
                          "ID (port number for clock interface, receiver
    number for GNSS receiver)";
                      }
    
                      leaf clock-name {
                        type string {
                          length "0..144";
                        }
                        description "Name";
                      }
                    }  // container internal-clock-id
    
                    container gnss-receiver-id {
                      when
                        "../source-class = 'gnss-receiver'" {
                        description
                          "../SourceClass = 'GNSSReceiver'";
                      }
                      description
                        "GNSS Receiver ID";
                      leaf node {
                        type xr:Node-id;
                        description "Node";
                      }
    
                      leaf id {
                        type uint32;
                        description
                          "ID (port number for clock interface, receiver
    number for GNSS receiver)";
                      }
    
                      leaf clock-name {
                        type string {
                          length "0..144";
                        }
                        description "Name";
                      }
                    }  // container gnss-receiver-id
    
                    leaf source-class {
                      type Fsync-bag-source-class;
                      description "SourceClass";
                    }
    
                    leaf ethernet-interface {
                      when
                        "../source-class = 'ethernet-interface-source'" {
                        description
                          "../SourceClass = 'EthernetInterfaceSource'";
                      }
                      type xr:Interface-name;
                      description
                        "Ethernet interface";
                    }
    
                    leaf sonet-interface {
                      when
                        "../source-class = 'sonet-interface-source'" {
                        description
                          "../SourceClass = 'SONETInterfaceSource'";
                      }
                      type xr:Interface-name;
                      description
                        "SONET interfaces";
                    }
    
                    leaf ptp-node {
                      when
                        "../source-class = 'ptp-source'" {
                        description
                          "../SourceClass = 'PTPSource'";
                      }
                      type xr:Node-id;
                      description
                        "PTP Clock Node";
                    }
    
                    leaf satellite-access-interface {
                      when
                        "../source-class = 'satellite-access-interface-source'" {
                        description
                          "../SourceClass =
    'SatelliteAccessInterfaceSource'";
                      }
                      type xr:Interface-name;
                      description
                        "Satellite Access Interface";
                    }
    
                    leaf ntp-node {
                      when
                        "../source-class = 'ntp-source'" {
                        description
                          "../SourceClass = 'NTPSource'";
                      }
                      type xr:Node-id;
                      description
                        "NTP Clock Node";
                    }
                  }  // container selected-source
    
                  list selection-point {
                    description
                      "List of selection points in the backtrace";
                    leaf selection-point-type {
                      type Fsync-selection-point-type;
                      description
                        "Selection point type";
                    }
    
                    leaf selection-point-description {
                      type Fsync-bag-selection-point-desc;
                      description
                        "Selection point descrption";
                    }
    
                    leaf node {
                      type xr:Node-id;
                      description "Node";
                    }
                  }  // list selection-point
                }  // list clock-interface-selection-back-trace
              }  // container clock-interface-selection-back-traces
    
              container clock-interface-selection-forward-traces {
                description
                  "Selection forwardtrace operational data for
                 clock-interfaces";
                list clock-interface-selection-forward-trace {
                  key "clock-type port";
                  description
                    "Selection forwardtrace operational data for a
                   particular clock-interface";
                  leaf clock-type {
                    type dt1:Fsync-clock;
                    description "Clock type";
                  }
    
                  leaf port {
                    type uint32 {
                      range "0..4294967295";
                    }
                    description "Clock port";
                  }
    
                  list forward-trace {
                    description
                      "Selection ForwardTrace";
                    container forward-trace-node {
                      description
                        "The source or selection point at this point in
    the forwardtrace";
                      container selection-point {
                        when
                          "../node-type = 'forward-trace-node-selection-point'" {
                          description
                            "../NodeType = 'ForwardTraceNodeSelectionPoint'";
                        }
                        description
                          "Selection Point";
                        leaf selection-point-type {
                          type Fsync-selection-point-type;
                          description
                            "Selection point type";
                        }
    
                        leaf selection-point-description {
                          type Fsync-bag-selection-point-desc;
                          description
                            "Selection point descrption";
                        }
    
                        leaf node {
                          type xr:Node-id;
                          description "Node";
                        }
                      }  // container selection-point
    
                      container source {
                        when
                          "../node-type = 'forward-trace-node-source'" {
                          description
                            "../NodeType = 'ForwardTraceNodeSource'";
                        }
                        description
                          "Timing Source";
                        container clock-id {
                          when
                            "../source-class = 'clock-interface-source'" {
                            description
                              "../SourceClass = 'ClockInterfaceSource'";
                          }
                          description "Clock ID";
                          leaf node {
                            type xr:Node-id;
                            description "Node";
                          }
    
                          leaf id {
                            type uint32;
                            description
                              "ID (port number for clock interface, receiver
    number for GNSS receiver)";
                          }
    
                          leaf clock-name {
                            type string {
                              length "0..144";
                            }
                            description "Name";
                          }
                        }  // container clock-id
    
                        container internal-clock-id {
                          when
                            "../source-class = 'internal-clock-source'" {
                            description
                              "../SourceClass = 'InternalClockSource'";
                          }
                          description
                            "Internal Clock ID";
                          leaf node {
                            type xr:Node-id;
                            description "Node";
                          }
    
                          leaf id {
                            type uint32;
                            description
                              "ID (port number for clock interface, receiver
    number for GNSS receiver)";
                          }
    
                          leaf clock-name {
                            type string {
                              length "0..144";
                            }
                            description "Name";
                          }
                        }  // container internal-clock-id
    
                        container gnss-receiver-id {
                          when
                            "../source-class = 'gnss-receiver'" {
                            description
                              "../SourceClass = 'GNSSReceiver'";
                          }
                          description
                            "GNSS Receiver ID";
                          leaf node {
                            type xr:Node-id;
                            description "Node";
                          }
    
                          leaf id {
                            type uint32;
                            description
                              "ID (port number for clock interface, receiver
    number for GNSS receiver)";
                          }
    
                          leaf clock-name {
                            type string {
                              length "0..144";
                            }
                            description "Name";
                          }
                        }  // container gnss-receiver-id
    
                        leaf source-class {
                          type Fsync-bag-source-class;
                          description
                            "SourceClass";
                        }
    
                        leaf ethernet-interface {
                          when
                            "../source-class = 'ethernet-interface-source'" {
                            description
                              "../SourceClass = 'EthernetInterfaceSource'";
                          }
                          type xr:Interface-name;
                          description
                            "Ethernet interface";
                        }
    
                        leaf sonet-interface {
                          when
                            "../source-class = 'sonet-interface-source'" {
                            description
                              "../SourceClass = 'SONETInterfaceSource'";
                          }
                          type xr:Interface-name;
                          description
                            "SONET interfaces";
                        }
    
                        leaf ptp-node {
                          when
                            "../source-class = 'ptp-source'" {
                            description
                              "../SourceClass = 'PTPSource'";
                          }
                          type xr:Node-id;
                          description
                            "PTP Clock Node";
                        }
    
                        leaf satellite-access-interface {
                          when
                            "../source-class = 'satellite-access-interface-source'" {
                            description
                              "../SourceClass =
    'SatelliteAccessInterfaceSource'";
                          }
                          type xr:Interface-name;
                          description
                            "Satellite Access Interface";
                        }
    
                        leaf ntp-node {
                          when
                            "../source-class = 'ntp-source'" {
                            description
                              "../SourceClass = 'NTPSource'";
                          }
                          type xr:Node-id;
                          description
                            "NTP Clock Node";
                        }
                      }  // container source
    
                      leaf node-type {
                        type Fsync-bag-forwardtrace-node;
                        description "NodeType";
                      }
                    }  // container forward-trace-node
                  }  // list forward-trace
                }  // list clock-interface-selection-forward-trace
              }  // container clock-interface-selection-forward-traces
    
              container time-of-day-back-trace {
                description
                  "Selection backtrace operational data for
                 time-of-day on a particular node";
                container selected-source {
                  description
                    "Source which has been selected for output";
                  container clock-id {
                    when
                      "../source-class = 'clock-interface-source'" {
                      description
                        "../SourceClass = 'ClockInterfaceSource'";
                    }
                    description "Clock ID";
                    leaf node {
                      type xr:Node-id;
                      description "Node";
                    }
    
                    leaf id {
                      type uint32;
                      description
                        "ID (port number for clock interface, receiver
    number for GNSS receiver)";
                    }
    
                    leaf clock-name {
                      type string {
                        length "0..144";
                      }
                      description "Name";
                    }
                  }  // container clock-id
    
                  container internal-clock-id {
                    when
                      "../source-class = 'internal-clock-source'" {
                      description
                        "../SourceClass = 'InternalClockSource'";
                    }
                    description
                      "Internal Clock ID";
                    leaf node {
                      type xr:Node-id;
                      description "Node";
                    }
    
                    leaf id {
                      type uint32;
                      description
                        "ID (port number for clock interface, receiver
    number for GNSS receiver)";
                    }
    
                    leaf clock-name {
                      type string {
                        length "0..144";
                      }
                      description "Name";
                    }
                  }  // container internal-clock-id
    
                  container gnss-receiver-id {
                    when
                      "../source-class = 'gnss-receiver'" {
                      description
                        "../SourceClass = 'GNSSReceiver'";
                    }
                    description
                      "GNSS Receiver ID";
                    leaf node {
                      type xr:Node-id;
                      description "Node";
                    }
    
                    leaf id {
                      type uint32;
                      description
                        "ID (port number for clock interface, receiver
    number for GNSS receiver)";
                    }
    
                    leaf clock-name {
                      type string {
                        length "0..144";
                      }
                      description "Name";
                    }
                  }  // container gnss-receiver-id
    
                  leaf source-class {
                    type Fsync-bag-source-class;
                    description "SourceClass";
                  }
    
                  leaf ethernet-interface {
                    when
                      "../source-class = 'ethernet-interface-source'" {
                      description
                        "../SourceClass = 'EthernetInterfaceSource'";
                    }
                    type xr:Interface-name;
                    description
                      "Ethernet interface";
                  }
    
                  leaf sonet-interface {
                    when
                      "../source-class = 'sonet-interface-source'" {
                      description
                        "../SourceClass = 'SONETInterfaceSource'";
                    }
                    type xr:Interface-name;
                    description
                      "SONET interfaces";
                  }
    
                  leaf ptp-node {
                    when
                      "../source-class = 'ptp-source'" {
                      description
                        "../SourceClass = 'PTPSource'";
                    }
                    type xr:Node-id;
                    description "PTP Clock Node";
                  }
    
                  leaf satellite-access-interface {
                    when
                      "../source-class = 'satellite-access-interface-source'" {
                      description
                        "../SourceClass =
    'SatelliteAccessInterfaceSource'";
                    }
                    type xr:Interface-name;
                    description
                      "Satellite Access Interface";
                  }
    
                  leaf ntp-node {
                    when
                      "../source-class = 'ntp-source'" {
                      description
                        "../SourceClass = 'NTPSource'";
                    }
                    type xr:Node-id;
                    description "NTP Clock Node";
                  }
                }  // container selected-source
    
                list selection-point {
                  description
                    "List of selection points in the backtrace";
                  leaf selection-point-type {
                    type Fsync-selection-point-type;
                    description
                      "Selection point type";
                  }
    
                  leaf selection-point-description {
                    type Fsync-bag-selection-point-desc;
                    description
                      "Selection point descrption";
                  }
    
                  leaf node {
                    type xr:Node-id;
                    description "Node";
                  }
                }  // list selection-point
              }  // container time-of-day-back-trace
    
              container ntp-selection-forward-trace {
                description
                  "Selection forwardtrace operational data for a
                 NTP clock";
                list forward-trace {
                  description
                    "Selection ForwardTrace";
                  container forward-trace-node {
                    description
                      "The source or selection point at this point in
    the forwardtrace";
                    container selection-point {
                      when
                        "../node-type = 'forward-trace-node-selection-point'" {
                        description
                          "../NodeType = 'ForwardTraceNodeSelectionPoint'";
                      }
                      description
                        "Selection Point";
                      leaf selection-point-type {
                        type Fsync-selection-point-type;
                        description
                          "Selection point type";
                      }
    
                      leaf selection-point-description {
                        type Fsync-bag-selection-point-desc;
                        description
                          "Selection point descrption";
                      }
    
                      leaf node {
                        type xr:Node-id;
                        description "Node";
                      }
                    }  // container selection-point
    
                    container source {
                      when
                        "../node-type = 'forward-trace-node-source'" {
                        description
                          "../NodeType = 'ForwardTraceNodeSource'";
                      }
                      description
                        "Timing Source";
                      container clock-id {
                        when
                          "../source-class = 'clock-interface-source'" {
                          description
                            "../SourceClass = 'ClockInterfaceSource'";
                        }
                        description "Clock ID";
                        leaf node {
                          type xr:Node-id;
                          description "Node";
                        }
    
                        leaf id {
                          type uint32;
                          description
                            "ID (port number for clock interface, receiver
    number for GNSS receiver)";
                        }
    
                        leaf clock-name {
                          type string {
                            length "0..144";
                          }
                          description "Name";
                        }
                      }  // container clock-id
    
                      container internal-clock-id {
                        when
                          "../source-class = 'internal-clock-source'" {
                          description
                            "../SourceClass = 'InternalClockSource'";
                        }
                        description
                          "Internal Clock ID";
                        leaf node {
                          type xr:Node-id;
                          description "Node";
                        }
    
                        leaf id {
                          type uint32;
                          description
                            "ID (port number for clock interface, receiver
    number for GNSS receiver)";
                        }
    
                        leaf clock-name {
                          type string {
                            length "0..144";
                          }
                          description "Name";
                        }
                      }  // container internal-clock-id
    
                      container gnss-receiver-id {
                        when
                          "../source-class = 'gnss-receiver'" {
                          description
                            "../SourceClass = 'GNSSReceiver'";
                        }
                        description
                          "GNSS Receiver ID";
                        leaf node {
                          type xr:Node-id;
                          description "Node";
                        }
    
                        leaf id {
                          type uint32;
                          description
                            "ID (port number for clock interface, receiver
    number for GNSS receiver)";
                        }
    
                        leaf clock-name {
                          type string {
                            length "0..144";
                          }
                          description "Name";
                        }
                      }  // container gnss-receiver-id
    
                      leaf source-class {
                        type Fsync-bag-source-class;
                        description
                          "SourceClass";
                      }
    
                      leaf ethernet-interface {
                        when
                          "../source-class = 'ethernet-interface-source'" {
                          description
                            "../SourceClass = 'EthernetInterfaceSource'";
                        }
                        type xr:Interface-name;
                        description
                          "Ethernet interface";
                      }
    
                      leaf sonet-interface {
                        when
                          "../source-class = 'sonet-interface-source'" {
                          description
                            "../SourceClass = 'SONETInterfaceSource'";
                        }
                        type xr:Interface-name;
                        description
                          "SONET interfaces";
                      }
    
                      leaf ptp-node {
                        when
                          "../source-class = 'ptp-source'" {
                          description
                            "../SourceClass = 'PTPSource'";
                        }
                        type xr:Node-id;
                        description
                          "PTP Clock Node";
                      }
    
                      leaf satellite-access-interface {
                        when
                          "../source-class = 'satellite-access-interface-source'" {
                          description
                            "../SourceClass =
    'SatelliteAccessInterfaceSource'";
                        }
                        type xr:Interface-name;
                        description
                          "Satellite Access Interface";
                      }
    
                      leaf ntp-node {
                        when
                          "../source-class = 'ntp-source'" {
                          description
                            "../SourceClass = 'NTPSource'";
                        }
                        type xr:Node-id;
                        description
                          "NTP Clock Node";
                      }
                    }  // container source
    
                    leaf node-type {
                      type Fsync-bag-forwardtrace-node;
                      description "NodeType";
                    }
                  }  // container forward-trace-node
                }  // list forward-trace
              }  // container ntp-selection-forward-trace
    
              container ptp-selection-forward-trace {
                description
                  "Selection forwardtrace operational data for a
                 PTP clock";
                list forward-trace {
                  description
                    "Selection ForwardTrace";
                  container forward-trace-node {
                    description
                      "The source or selection point at this point in
    the forwardtrace";
                    container selection-point {
                      when
                        "../node-type = 'forward-trace-node-selection-point'" {
                        description
                          "../NodeType = 'ForwardTraceNodeSelectionPoint'";
                      }
                      description
                        "Selection Point";
                      leaf selection-point-type {
                        type Fsync-selection-point-type;
                        description
                          "Selection point type";
                      }
    
                      leaf selection-point-description {
                        type Fsync-bag-selection-point-desc;
                        description
                          "Selection point descrption";
                      }
    
                      leaf node {
                        type xr:Node-id;
                        description "Node";
                      }
                    }  // container selection-point
    
                    container source {
                      when
                        "../node-type = 'forward-trace-node-source'" {
                        description
                          "../NodeType = 'ForwardTraceNodeSource'";
                      }
                      description
                        "Timing Source";
                      container clock-id {
                        when
                          "../source-class = 'clock-interface-source'" {
                          description
                            "../SourceClass = 'ClockInterfaceSource'";
                        }
                        description "Clock ID";
                        leaf node {
                          type xr:Node-id;
                          description "Node";
                        }
    
                        leaf id {
                          type uint32;
                          description
                            "ID (port number for clock interface, receiver
    number for GNSS receiver)";
                        }
    
                        leaf clock-name {
                          type string {
                            length "0..144";
                          }
                          description "Name";
                        }
                      }  // container clock-id
    
                      container internal-clock-id {
                        when
                          "../source-class = 'internal-clock-source'" {
                          description
                            "../SourceClass = 'InternalClockSource'";
                        }
                        description
                          "Internal Clock ID";
                        leaf node {
                          type xr:Node-id;
                          description "Node";
                        }
    
                        leaf id {
                          type uint32;
                          description
                            "ID (port number for clock interface, receiver
    number for GNSS receiver)";
                        }
    
                        leaf clock-name {
                          type string {
                            length "0..144";
                          }
                          description "Name";
                        }
                      }  // container internal-clock-id
    
                      container gnss-receiver-id {
                        when
                          "../source-class = 'gnss-receiver'" {
                          description
                            "../SourceClass = 'GNSSReceiver'";
                        }
                        description
                          "GNSS Receiver ID";
                        leaf node {
                          type xr:Node-id;
                          description "Node";
                        }
    
                        leaf id {
                          type uint32;
                          description
                            "ID (port number for clock interface, receiver
    number for GNSS receiver)";
                        }
    
                        leaf clock-name {
                          type string {
                            length "0..144";
                          }
                          description "Name";
                        }
                      }  // container gnss-receiver-id
    
                      leaf source-class {
                        type Fsync-bag-source-class;
                        description
                          "SourceClass";
                      }
    
                      leaf ethernet-interface {
                        when
                          "../source-class = 'ethernet-interface-source'" {
                          description
                            "../SourceClass = 'EthernetInterfaceSource'";
                        }
                        type xr:Interface-name;
                        description
                          "Ethernet interface";
                      }
    
                      leaf sonet-interface {
                        when
                          "../source-class = 'sonet-interface-source'" {
                          description
                            "../SourceClass = 'SONETInterfaceSource'";
                        }
                        type xr:Interface-name;
                        description
                          "SONET interfaces";
                      }
    
                      leaf ptp-node {
                        when
                          "../source-class = 'ptp-source'" {
                          description
                            "../SourceClass = 'PTPSource'";
                        }
                        type xr:Node-id;
                        description
                          "PTP Clock Node";
                      }
    
                      leaf satellite-access-interface {
                        when
                          "../source-class = 'satellite-access-interface-source'" {
                          description
                            "../SourceClass =
    'SatelliteAccessInterfaceSource'";
                        }
                        type xr:Interface-name;
                        description
                          "Satellite Access Interface";
                      }
    
                      leaf ntp-node {
                        when
                          "../source-class = 'ntp-source'" {
                          description
                            "../SourceClass = 'NTPSource'";
                        }
                        type xr:Node-id;
                        description
                          "NTP Clock Node";
                      }
                    }  // container source
    
                    leaf node-type {
                      type Fsync-bag-forwardtrace-node;
                      description "NodeType";
                    }
                  }  // container forward-trace-node
                }  // list forward-trace
              }  // container ptp-selection-forward-trace
    
              leaf node {
                type xr:Node-id;
                description "Node";
              }
            }  // list global-node
          }  // container global-nodes
    
          container global-interfaces {
            description
              "Table for global interface operational data";
            list global-interface {
              key "interface-name";
              description
                "Global interface information for a particular
               interface";
              container interface-selection-forward-trace {
                description
                  "Selection forwardtrace operational data for a
                 particular interface";
                list forward-trace {
                  description
                    "Selection ForwardTrace";
                  container forward-trace-node {
                    description
                      "The source or selection point at this point in
    the forwardtrace";
                    container selection-point {
                      when
                        "../node-type = 'forward-trace-node-selection-point'" {
                        description
                          "../NodeType = 'ForwardTraceNodeSelectionPoint'";
                      }
                      description
                        "Selection Point";
                      leaf selection-point-type {
                        type Fsync-selection-point-type;
                        description
                          "Selection point type";
                      }
    
                      leaf selection-point-description {
                        type Fsync-bag-selection-point-desc;
                        description
                          "Selection point descrption";
                      }
    
                      leaf node {
                        type xr:Node-id;
                        description "Node";
                      }
                    }  // container selection-point
    
                    container source {
                      when
                        "../node-type = 'forward-trace-node-source'" {
                        description
                          "../NodeType = 'ForwardTraceNodeSource'";
                      }
                      description
                        "Timing Source";
                      container clock-id {
                        when
                          "../source-class = 'clock-interface-source'" {
                          description
                            "../SourceClass = 'ClockInterfaceSource'";
                        }
                        description "Clock ID";
                        leaf node {
                          type xr:Node-id;
                          description "Node";
                        }
    
                        leaf id {
                          type uint32;
                          description
                            "ID (port number for clock interface, receiver
    number for GNSS receiver)";
                        }
    
                        leaf clock-name {
                          type string {
                            length "0..144";
                          }
                          description "Name";
                        }
                      }  // container clock-id
    
                      container internal-clock-id {
                        when
                          "../source-class = 'internal-clock-source'" {
                          description
                            "../SourceClass = 'InternalClockSource'";
                        }
                        description
                          "Internal Clock ID";
                        leaf node {
                          type xr:Node-id;
                          description "Node";
                        }
    
                        leaf id {
                          type uint32;
                          description
                            "ID (port number for clock interface, receiver
    number for GNSS receiver)";
                        }
    
                        leaf clock-name {
                          type string {
                            length "0..144";
                          }
                          description "Name";
                        }
                      }  // container internal-clock-id
    
                      container gnss-receiver-id {
                        when
                          "../source-class = 'gnss-receiver'" {
                          description
                            "../SourceClass = 'GNSSReceiver'";
                        }
                        description
                          "GNSS Receiver ID";
                        leaf node {
                          type xr:Node-id;
                          description "Node";
                        }
    
                        leaf id {
                          type uint32;
                          description
                            "ID (port number for clock interface, receiver
    number for GNSS receiver)";
                        }
    
                        leaf clock-name {
                          type string {
                            length "0..144";
                          }
                          description "Name";
                        }
                      }  // container gnss-receiver-id
    
                      leaf source-class {
                        type Fsync-bag-source-class;
                        description
                          "SourceClass";
                      }
    
                      leaf ethernet-interface {
                        when
                          "../source-class = 'ethernet-interface-source'" {
                          description
                            "../SourceClass = 'EthernetInterfaceSource'";
                        }
                        type xr:Interface-name;
                        description
                          "Ethernet interface";
                      }
    
                      leaf sonet-interface {
                        when
                          "../source-class = 'sonet-interface-source'" {
                          description
                            "../SourceClass = 'SONETInterfaceSource'";
                        }
                        type xr:Interface-name;
                        description
                          "SONET interfaces";
                      }
    
                      leaf ptp-node {
                        when
                          "../source-class = 'ptp-source'" {
                          description
                            "../SourceClass = 'PTPSource'";
                        }
                        type xr:Node-id;
                        description
                          "PTP Clock Node";
                      }
    
                      leaf satellite-access-interface {
                        when
                          "../source-class = 'satellite-access-interface-source'" {
                          description
                            "../SourceClass =
    'SatelliteAccessInterfaceSource'";
                        }
                        type xr:Interface-name;
                        description
                          "Satellite Access Interface";
                      }
    
                      leaf ntp-node {
                        when
                          "../source-class = 'ntp-source'" {
                          description
                            "../SourceClass = 'NTPSource'";
                        }
                        type xr:Node-id;
                        description
                          "NTP Clock Node";
                      }
                    }  // container source
    
                    leaf node-type {
                      type Fsync-bag-forwardtrace-node;
                      description "NodeType";
                    }
                  }  // container forward-trace-node
                }  // list forward-trace
              }  // container interface-selection-forward-trace
    
              container interface-selection-back-trace {
                description
                  "Selection backtrace operational data for a
                 particular interface";
                container selected-source {
                  description
                    "Source which has been selected for output";
                  container clock-id {
                    when
                      "../source-class = 'clock-interface-source'" {
                      description
                        "../SourceClass = 'ClockInterfaceSource'";
                    }
                    description "Clock ID";
                    leaf node {
                      type xr:Node-id;
                      description "Node";
                    }
    
                    leaf id {
                      type uint32;
                      description
                        "ID (port number for clock interface, receiver
    number for GNSS receiver)";
                    }
    
                    leaf clock-name {
                      type string {
                        length "0..144";
                      }
                      description "Name";
                    }
                  }  // container clock-id
    
                  container internal-clock-id {
                    when
                      "../source-class = 'internal-clock-source'" {
                      description
                        "../SourceClass = 'InternalClockSource'";
                    }
                    description
                      "Internal Clock ID";
                    leaf node {
                      type xr:Node-id;
                      description "Node";
                    }
    
                    leaf id {
                      type uint32;
                      description
                        "ID (port number for clock interface, receiver
    number for GNSS receiver)";
                    }
    
                    leaf clock-name {
                      type string {
                        length "0..144";
                      }
                      description "Name";
                    }
                  }  // container internal-clock-id
    
                  container gnss-receiver-id {
                    when
                      "../source-class = 'gnss-receiver'" {
                      description
                        "../SourceClass = 'GNSSReceiver'";
                    }
                    description
                      "GNSS Receiver ID";
                    leaf node {
                      type xr:Node-id;
                      description "Node";
                    }
    
                    leaf id {
                      type uint32;
                      description
                        "ID (port number for clock interface, receiver
    number for GNSS receiver)";
                    }
    
                    leaf clock-name {
                      type string {
                        length "0..144";
                      }
                      description "Name";
                    }
                  }  // container gnss-receiver-id
    
                  leaf source-class {
                    type Fsync-bag-source-class;
                    description "SourceClass";
                  }
    
                  leaf ethernet-interface {
                    when
                      "../source-class = 'ethernet-interface-source'" {
                      description
                        "../SourceClass = 'EthernetInterfaceSource'";
                    }
                    type xr:Interface-name;
                    description
                      "Ethernet interface";
                  }
    
                  leaf sonet-interface {
                    when
                      "../source-class = 'sonet-interface-source'" {
                      description
                        "../SourceClass = 'SONETInterfaceSource'";
                    }
                    type xr:Interface-name;
                    description
                      "SONET interfaces";
                  }
    
                  leaf ptp-node {
                    when
                      "../source-class = 'ptp-source'" {
                      description
                        "../SourceClass = 'PTPSource'";
                    }
                    type xr:Node-id;
                    description "PTP Clock Node";
                  }
    
                  leaf satellite-access-interface {
                    when
                      "../source-class = 'satellite-access-interface-source'" {
                      description
                        "../SourceClass =
    'SatelliteAccessInterfaceSource'";
                    }
                    type xr:Interface-name;
                    description
                      "Satellite Access Interface";
                  }
    
                  leaf ntp-node {
                    when
                      "../source-class = 'ntp-source'" {
                      description
                        "../SourceClass = 'NTPSource'";
                    }
                    type xr:Node-id;
                    description "NTP Clock Node";
                  }
                }  // container selected-source
    
                list selection-point {
                  description
                    "List of selection points in the backtrace";
                  leaf selection-point-type {
                    type Fsync-selection-point-type;
                    description
                      "Selection point type";
                  }
    
                  leaf selection-point-description {
                    type Fsync-bag-selection-point-desc;
                    description
                      "Selection point descrption";
                  }
    
                  leaf node {
                    type xr:Node-id;
                    description "Node";
                  }
                }  // list selection-point
              }  // container interface-selection-back-trace
    
              leaf interface-name {
                type xr:Interface-name;
                description "Interface name";
              }
            }  // list global-interface
          }  // container global-interfaces
    
          container summary {
            description
              "Summary operational data";
            list frequency-summary {
              description
                "Summary of sources selected for frequency";
              container source {
                description
                  "The source associated with this summary
    information";
                container clock-id {
                  when
                    "../source-class = 'clock-interface-source'" {
                    description
                      "../SourceClass = 'ClockInterfaceSource'";
                  }
                  description "Clock ID";
                  leaf node {
                    type xr:Node-id;
                    description "Node";
                  }
    
                  leaf id {
                    type uint32;
                    description
                      "ID (port number for clock interface, receiver
    number for GNSS receiver)";
                  }
    
                  leaf clock-name {
                    type string {
                      length "0..144";
                    }
                    description "Name";
                  }
                }  // container clock-id
    
                container internal-clock-id {
                  when
                    "../source-class = 'internal-clock-source'" {
                    description
                      "../SourceClass = 'InternalClockSource'";
                  }
                  description
                    "Internal Clock ID";
                  leaf node {
                    type xr:Node-id;
                    description "Node";
                  }
    
                  leaf id {
                    type uint32;
                    description
                      "ID (port number for clock interface, receiver
    number for GNSS receiver)";
                  }
    
                  leaf clock-name {
                    type string {
                      length "0..144";
                    }
                    description "Name";
                  }
                }  // container internal-clock-id
    
                container gnss-receiver-id {
                  when
                    "../source-class = 'gnss-receiver'" {
                    description
                      "../SourceClass = 'GNSSReceiver'";
                  }
                  description "GNSS Receiver ID";
                  leaf node {
                    type xr:Node-id;
                    description "Node";
                  }
    
                  leaf id {
                    type uint32;
                    description
                      "ID (port number for clock interface, receiver
    number for GNSS receiver)";
                  }
    
                  leaf clock-name {
                    type string {
                      length "0..144";
                    }
                    description "Name";
                  }
                }  // container gnss-receiver-id
    
                leaf source-class {
                  type Fsync-bag-source-class;
                  description "SourceClass";
                }
    
                leaf ethernet-interface {
                  when
                    "../source-class = 'ethernet-interface-source'" {
                    description
                      "../SourceClass = 'EthernetInterfaceSource'";
                  }
                  type xr:Interface-name;
                  description
                    "Ethernet interface";
                }
    
                leaf sonet-interface {
                  when
                    "../source-class = 'sonet-interface-source'" {
                    description
                      "../SourceClass = 'SONETInterfaceSource'";
                  }
                  type xr:Interface-name;
                  description "SONET interfaces";
                }
    
                leaf ptp-node {
                  when
                    "../source-class = 'ptp-source'" {
                    description
                      "../SourceClass = 'PTPSource'";
                  }
                  type xr:Node-id;
                  description "PTP Clock Node";
                }
    
                leaf satellite-access-interface {
                  when
                    "../source-class = 'satellite-access-interface-source'" {
                    description
                      "../SourceClass =
    'SatelliteAccessInterfaceSource'";
                  }
                  type xr:Interface-name;
                  description
                    "Satellite Access Interface";
                }
    
                leaf ntp-node {
                  when
                    "../source-class = 'ntp-source'" {
                    description
                      "../SourceClass = 'NTPSource'";
                  }
                  type xr:Node-id;
                  description "NTP Clock Node";
                }
              }  // container source
    
              leaf clock-count {
                type uint32;
                description
                  "The number of clock-interfaces being driven by
    the source";
              }
    
              leaf ethernet-count {
                type uint32;
                description
                  "The number of Ethernet interfaces being driven
    by the source";
              }
    
              leaf sonet-count {
                type uint32;
                description
                  "The number of SONET/SDH interfaces being driven
    by the source";
              }
            }  // list frequency-summary
    
            list time-of-day-summary {
              description
                "Summary of sources selected for time-of-day";
              container source {
                description
                  "The source associated with this summary
    information";
                container clock-id {
                  when
                    "../source-class = 'clock-interface-source'" {
                    description
                      "../SourceClass = 'ClockInterfaceSource'";
                  }
                  description "Clock ID";
                  leaf node {
                    type xr:Node-id;
                    description "Node";
                  }
    
                  leaf id {
                    type uint32;
                    description
                      "ID (port number for clock interface, receiver
    number for GNSS receiver)";
                  }
    
                  leaf clock-name {
                    type string {
                      length "0..144";
                    }
                    description "Name";
                  }
                }  // container clock-id
    
                container internal-clock-id {
                  when
                    "../source-class = 'internal-clock-source'" {
                    description
                      "../SourceClass = 'InternalClockSource'";
                  }
                  description
                    "Internal Clock ID";
                  leaf node {
                    type xr:Node-id;
                    description "Node";
                  }
    
                  leaf id {
                    type uint32;
                    description
                      "ID (port number for clock interface, receiver
    number for GNSS receiver)";
                  }
    
                  leaf clock-name {
                    type string {
                      length "0..144";
                    }
                    description "Name";
                  }
                }  // container internal-clock-id
    
                container gnss-receiver-id {
                  when
                    "../source-class = 'gnss-receiver'" {
                    description
                      "../SourceClass = 'GNSSReceiver'";
                  }
                  description "GNSS Receiver ID";
                  leaf node {
                    type xr:Node-id;
                    description "Node";
                  }
    
                  leaf id {
                    type uint32;
                    description
                      "ID (port number for clock interface, receiver
    number for GNSS receiver)";
                  }
    
                  leaf clock-name {
                    type string {
                      length "0..144";
                    }
                    description "Name";
                  }
                }  // container gnss-receiver-id
    
                leaf source-class {
                  type Fsync-bag-source-class;
                  description "SourceClass";
                }
    
                leaf ethernet-interface {
                  when
                    "../source-class = 'ethernet-interface-source'" {
                    description
                      "../SourceClass = 'EthernetInterfaceSource'";
                  }
                  type xr:Interface-name;
                  description
                    "Ethernet interface";
                }
    
                leaf sonet-interface {
                  when
                    "../source-class = 'sonet-interface-source'" {
                    description
                      "../SourceClass = 'SONETInterfaceSource'";
                  }
                  type xr:Interface-name;
                  description "SONET interfaces";
                }
    
                leaf ptp-node {
                  when
                    "../source-class = 'ptp-source'" {
                    description
                      "../SourceClass = 'PTPSource'";
                  }
                  type xr:Node-id;
                  description "PTP Clock Node";
                }
    
                leaf satellite-access-interface {
                  when
                    "../source-class = 'satellite-access-interface-source'" {
                    description
                      "../SourceClass =
    'SatelliteAccessInterfaceSource'";
                  }
                  type xr:Interface-name;
                  description
                    "Satellite Access Interface";
                }
    
                leaf ntp-node {
                  when
                    "../source-class = 'ntp-source'" {
                    description
                      "../SourceClass = 'NTPSource'";
                  }
                  type xr:Node-id;
                  description "NTP Clock Node";
                }
              }  // container source
    
              leaf node-count {
                type uint32;
                description
                  "The number of cards having their time-of-day set
    by the source";
              }
            }  // list time-of-day-summary
          }  // container summary
    
          container interface-datas {
            description
              "Table for interface operational data";
            list interface-data {
              key "interface-name";
              description
                "Operational data for a particular interface";
              leaf interface-name {
                type xr:Interface-name;
                description "Interface name";
              }
    
              container source {
                description
                  "The source ID for the interface";
                container clock-id {
                  when
                    "../source-class = 'clock-interface-source'" {
                    description
                      "../SourceClass = 'ClockInterfaceSource'";
                  }
                  description "Clock ID";
                  leaf node {
                    type xr:Node-id;
                    description "Node";
                  }
    
                  leaf id {
                    type uint32;
                    description
                      "ID (port number for clock interface, receiver
    number for GNSS receiver)";
                  }
    
                  leaf clock-name {
                    type string {
                      length "0..144";
                    }
                    description "Name";
                  }
                }  // container clock-id
    
                container internal-clock-id {
                  when
                    "../source-class = 'internal-clock-source'" {
                    description
                      "../SourceClass = 'InternalClockSource'";
                  }
                  description
                    "Internal Clock ID";
                  leaf node {
                    type xr:Node-id;
                    description "Node";
                  }
    
                  leaf id {
                    type uint32;
                    description
                      "ID (port number for clock interface, receiver
    number for GNSS receiver)";
                  }
    
                  leaf clock-name {
                    type string {
                      length "0..144";
                    }
                    description "Name";
                  }
                }  // container internal-clock-id
    
                container gnss-receiver-id {
                  when
                    "../source-class = 'gnss-receiver'" {
                    description
                      "../SourceClass = 'GNSSReceiver'";
                  }
                  description "GNSS Receiver ID";
                  leaf node {
                    type xr:Node-id;
                    description "Node";
                  }
    
                  leaf id {
                    type uint32;
                    description
                      "ID (port number for clock interface, receiver
    number for GNSS receiver)";
                  }
    
                  leaf clock-name {
                    type string {
                      length "0..144";
                    }
                    description "Name";
                  }
                }  // container gnss-receiver-id
    
                leaf source-class {
                  type Fsync-bag-source-class;
                  description "SourceClass";
                }
    
                leaf ethernet-interface {
                  when
                    "../source-class = 'ethernet-interface-source'" {
                    description
                      "../SourceClass = 'EthernetInterfaceSource'";
                  }
                  type xr:Interface-name;
                  description
                    "Ethernet interface";
                }
    
                leaf sonet-interface {
                  when
                    "../source-class = 'sonet-interface-source'" {
                    description
                      "../SourceClass = 'SONETInterfaceSource'";
                  }
                  type xr:Interface-name;
                  description "SONET interfaces";
                }
    
                leaf ptp-node {
                  when
                    "../source-class = 'ptp-source'" {
                    description
                      "../SourceClass = 'PTPSource'";
                  }
                  type xr:Node-id;
                  description "PTP Clock Node";
                }
    
                leaf satellite-access-interface {
                  when
                    "../source-class = 'satellite-access-interface-source'" {
                    description
                      "../SourceClass =
    'SatelliteAccessInterfaceSource'";
                  }
                  type xr:Interface-name;
                  description
                    "Satellite Access Interface";
                }
    
                leaf ntp-node {
                  when
                    "../source-class = 'ntp-source'" {
                    description
                      "../SourceClass = 'NTPSource'";
                  }
                  type xr:Node-id;
                  description "NTP Clock Node";
                }
              }  // container source
    
              container selected-source {
                description
                  "Timing source selected for interface output";
                container clock-id {
                  when
                    "../source-class = 'clock-interface-source'" {
                    description
                      "../SourceClass = 'ClockInterfaceSource'";
                  }
                  description "Clock ID";
                  leaf node {
                    type xr:Node-id;
                    description "Node";
                  }
    
                  leaf id {
                    type uint32;
                    description
                      "ID (port number for clock interface, receiver
    number for GNSS receiver)";
                  }
    
                  leaf clock-name {
                    type string {
                      length "0..144";
                    }
                    description "Name";
                  }
                }  // container clock-id
    
                container internal-clock-id {
                  when
                    "../source-class = 'internal-clock-source'" {
                    description
                      "../SourceClass = 'InternalClockSource'";
                  }
                  description
                    "Internal Clock ID";
                  leaf node {
                    type xr:Node-id;
                    description "Node";
                  }
    
                  leaf id {
                    type uint32;
                    description
                      "ID (port number for clock interface, receiver
    number for GNSS receiver)";
                  }
    
                  leaf clock-name {
                    type string {
                      length "0..144";
                    }
                    description "Name";
                  }
                }  // container internal-clock-id
    
                container gnss-receiver-id {
                  when
                    "../source-class = 'gnss-receiver'" {
                    description
                      "../SourceClass = 'GNSSReceiver'";
                  }
                  description "GNSS Receiver ID";
                  leaf node {
                    type xr:Node-id;
                    description "Node";
                  }
    
                  leaf id {
                    type uint32;
                    description
                      "ID (port number for clock interface, receiver
    number for GNSS receiver)";
                  }
    
                  leaf clock-name {
                    type string {
                      length "0..144";
                    }
                    description "Name";
                  }
                }  // container gnss-receiver-id
    
                leaf source-class {
                  type Fsync-bag-source-class;
                  description "SourceClass";
                }
    
                leaf ethernet-interface {
                  when
                    "../source-class = 'ethernet-interface-source'" {
                    description
                      "../SourceClass = 'EthernetInterfaceSource'";
                  }
                  type xr:Interface-name;
                  description
                    "Ethernet interface";
                }
    
                leaf sonet-interface {
                  when
                    "../source-class = 'sonet-interface-source'" {
                    description
                      "../SourceClass = 'SONETInterfaceSource'";
                  }
                  type xr:Interface-name;
                  description "SONET interfaces";
                }
    
                leaf ptp-node {
                  when
                    "../source-class = 'ptp-source'" {
                    description
                      "../SourceClass = 'PTPSource'";
                  }
                  type xr:Node-id;
                  description "PTP Clock Node";
                }
    
                leaf satellite-access-interface {
                  when
                    "../source-class = 'satellite-access-interface-source'" {
                    description
                      "../SourceClass =
    'SatelliteAccessInterfaceSource'";
                  }
                  type xr:Interface-name;
                  description
                    "Satellite Access Interface";
                }
    
                leaf ntp-node {
                  when
                    "../source-class = 'ntp-source'" {
                    description
                      "../SourceClass = 'NTPSource'";
                  }
                  type xr:Node-id;
                  description "NTP Clock Node";
                }
              }  // container selected-source
    
              container ssm-counters {
                description
                  "Counters for sent and received SSMs on ESMC
    enabled interfaces";
                leaf esmc-events-sent {
                  type uint16;
                  description
                    "Number of event SSMs sent";
                }
    
                leaf esmc-events-received {
                  type uint16;
                  description
                    "Number of event SSMs received";
                }
    
                leaf esmc-infos-sent {
                  type uint32;
                  description
                    "Number of info SSMs sent";
                }
    
                leaf esmc-infos-received {
                  type uint32;
                  description
                    "Number of info SSms received";
                }
    
                leaf esmc-dn-us-sent {
                  type uint32;
                  description
                    "Number of SSMs with DNU QL sent";
                }
    
                leaf esmc-dn-us-received {
                  type uint32;
                  description
                    "Number of SSMs with DNU QL received";
                }
    
                leaf esmc-malformed-received {
                  type uint16;
                  description
                    "Number of malformed packets received";
                }
    
                leaf esmc-received-error {
                  type uint16;
                  description
                    "Number of received packets that failed to be
    handled";
                }
              }  // container ssm-counters
    
              container sat-info {
                description
                  "Sat info for the source if source is a sat
    access interface";
                leaf satellite-id {
                  type uint16;
                  description "The satellite ID";
                }
    
                leaf sdac-key-length {
                  type uint16;
                  description
                    "The length of the SDAC key";
                }
    
                leaf-list sdac-key {
                  type uint8;
                  description "The SDAC key";
                }
              }  // container sat-info
    
              container quality-level-received {
                description
                  "Received quality level";
                leaf quality-level-option {
                  type Fsync-bag-ql-option;
                  description
                    "QualityLevelOption";
                }
    
                leaf option1-value {
                  when
                    "../quality-level-option = 'option1'" {
                    description
                      "../QualityLevelOption = 'Option1'";
                  }
                  type Fsync-bag-ql-o1-value;
                  description
                    "ITU-T Option 1 QL value";
                }
    
                leaf option2-generation1-value {
                  when
                    "../quality-level-option = 'option2-generation1'" {
                    description
                      "../QualityLevelOption = 'Option2Generation1'";
                  }
                  type Fsync-bag-ql-o2-g1-value;
                  description
                    "ITU-T Option 2, generation 1 value";
                }
    
                leaf option2-generation2-value {
                  when
                    "../quality-level-option = 'option2-generation2'" {
                    description
                      "../QualityLevelOption = 'Option2Generation2'";
                  }
                  type Fsync-bag-ql-o2-g2-value;
                  description
                    "ITU-T Option 2, generation 2 value";
                }
              }  // container quality-level-received
    
              container quality-level-damped {
                description
                  "Quality level after damping has been applied";
                leaf quality-level-option {
                  type Fsync-bag-ql-option;
                  description
                    "QualityLevelOption";
                }
    
                leaf option1-value {
                  when
                    "../quality-level-option = 'option1'" {
                    description
                      "../QualityLevelOption = 'Option1'";
                  }
                  type Fsync-bag-ql-o1-value;
                  description
                    "ITU-T Option 1 QL value";
                }
    
                leaf option2-generation1-value {
                  when
                    "../quality-level-option = 'option2-generation1'" {
                    description
                      "../QualityLevelOption = 'Option2Generation1'";
                  }
                  type Fsync-bag-ql-o2-g1-value;
                  description
                    "ITU-T Option 2, generation 1 value";
                }
    
                leaf option2-generation2-value {
                  when
                    "../quality-level-option = 'option2-generation2'" {
                    description
                      "../QualityLevelOption = 'Option2Generation2'";
                  }
                  type Fsync-bag-ql-o2-g2-value;
                  description
                    "ITU-T Option 2, generation 2 value";
                }
              }  // container quality-level-damped
    
              container quality-level-effective-input {
                description
                  "The effective input quality level";
                leaf quality-level-option {
                  type Fsync-bag-ql-option;
                  description
                    "QualityLevelOption";
                }
    
                leaf option1-value {
                  when
                    "../quality-level-option = 'option1'" {
                    description
                      "../QualityLevelOption = 'Option1'";
                  }
                  type Fsync-bag-ql-o1-value;
                  description
                    "ITU-T Option 1 QL value";
                }
    
                leaf option2-generation1-value {
                  when
                    "../quality-level-option = 'option2-generation1'" {
                    description
                      "../QualityLevelOption = 'Option2Generation1'";
                  }
                  type Fsync-bag-ql-o2-g1-value;
                  description
                    "ITU-T Option 2, generation 1 value";
                }
    
                leaf option2-generation2-value {
                  when
                    "../quality-level-option = 'option2-generation2'" {
                    description
                      "../QualityLevelOption = 'Option2Generation2'";
                  }
                  type Fsync-bag-ql-o2-g2-value;
                  description
                    "ITU-T Option 2, generation 2 value";
                }
              }  // container quality-level-effective-input
    
              container quality-level-effective-output {
                description
                  "The effective output quality level";
                leaf quality-level-option {
                  type Fsync-bag-ql-option;
                  description
                    "QualityLevelOption";
                }
    
                leaf option1-value {
                  when
                    "../quality-level-option = 'option1'" {
                    description
                      "../QualityLevelOption = 'Option1'";
                  }
                  type Fsync-bag-ql-o1-value;
                  description
                    "ITU-T Option 1 QL value";
                }
    
                leaf option2-generation1-value {
                  when
                    "../quality-level-option = 'option2-generation1'" {
                    description
                      "../QualityLevelOption = 'Option2Generation1'";
                  }
                  type Fsync-bag-ql-o2-g1-value;
                  description
                    "ITU-T Option 2, generation 1 value";
                }
    
                leaf option2-generation2-value {
                  when
                    "../quality-level-option = 'option2-generation2'" {
                    description
                      "../QualityLevelOption = 'Option2Generation2'";
                  }
                  type Fsync-bag-ql-o2-g2-value;
                  description
                    "ITU-T Option 2, generation 2 value";
                }
              }  // container quality-level-effective-output
    
              container quality-level-selected-source {
                description
                  "The quality level of the source driving this
    interface";
                leaf quality-level-option {
                  type Fsync-bag-ql-option;
                  description
                    "QualityLevelOption";
                }
    
                leaf option1-value {
                  when
                    "../quality-level-option = 'option1'" {
                    description
                      "../QualityLevelOption = 'Option1'";
                  }
                  type Fsync-bag-ql-o1-value;
                  description
                    "ITU-T Option 1 QL value";
                }
    
                leaf option2-generation1-value {
                  when
                    "../quality-level-option = 'option2-generation1'" {
                    description
                      "../QualityLevelOption = 'Option2Generation1'";
                  }
                  type Fsync-bag-ql-o2-g1-value;
                  description
                    "ITU-T Option 2, generation 1 value";
                }
    
                leaf option2-generation2-value {
                  when
                    "../quality-level-option = 'option2-generation2'" {
                    description
                      "../QualityLevelOption = 'Option2Generation2'";
                  }
                  type Fsync-bag-ql-o2-g2-value;
                  description
                    "ITU-T Option 2, generation 2 value";
                }
              }  // container quality-level-selected-source
    
              container ql-data-received {
                description
                  "Received quality level data";
                leaf originator-clock-id {
                  type Fsync-clock-id;
                  description
                    "Originator clock ID";
                }
    
                leaf sync-e-steps {
                  type uint8;
                  description "SyncE steps";
                }
    
                leaf esync-e-steps {
                  type uint8;
                  description
                    "Enhanced SyncE steps";
                }
    
                leaf all-steps-e-sync-e {
                  type boolean;
                  description
                    "Whether all steps are running enhanced SyncE";
                }
    
                leaf chain-complete {
                  type boolean;
                  description
                    "Whether the chain of extended QL TLVs is
    complete";
                }
              }  // container ql-data-received
    
              container ql-data-to-send {
                description
                  "Quality level data to be sent";
                leaf originator-clock-id {
                  type Fsync-clock-id;
                  description
                    "Originator clock ID";
                }
    
                leaf sync-e-steps {
                  type uint8;
                  description "SyncE steps";
                }
    
                leaf esync-e-steps {
                  type uint8;
                  description
                    "Enhanced SyncE steps";
                }
    
                leaf all-steps-e-sync-e {
                  type boolean;
                  description
                    "Whether all steps are running enhanced SyncE";
                }
    
                leaf chain-complete {
                  type boolean;
                  description
                    "Whether the chain of extended QL TLVs is
    complete";
                }
              }  // container ql-data-to-send
    
              container ethernet-peer-information {
                description
                  "Ethernet peer information";
                container peer-state-time {
                  description
                    "Time of last peer state transition";
                  leaf seconds {
                    type uint32;
                    units "second";
                    description "Seconds";
                  }
    
                  leaf nanoseconds {
                    type uint32;
                    units "nanosecond";
                    description "Nanoseconds";
                  }
                }  // container peer-state-time
    
                container last-ssm {
                  description
                    "Time of last SSM received";
                  leaf seconds {
                    type uint32;
                    units "second";
                    description "Seconds";
                  }
    
                  leaf nanoseconds {
                    type uint32;
                    units "nanosecond";
                    description "Nanoseconds";
                  }
                }  // container last-ssm
    
                leaf peer-state {
                  type Fsync-bag-esmc-peer-state;
                  description "Peer state";
                }
    
                leaf peer-up-count {
                  type uint16;
                  description
                    "Number of times the peer has come up";
                }
    
                leaf peer-timeout-count {
                  type uint16;
                  description
                    "Number of times the peer has timed out";
                }
              }  // container ethernet-peer-information
    
              container esmc-statistics {
                description "ESMC Statistics";
                leaf esmc-events-sent {
                  type uint16;
                  description
                    "Number of event SSMs sent";
                }
    
                leaf esmc-events-received {
                  type uint16;
                  description
                    "Number of event SSMs received";
                }
    
                leaf esmc-infos-sent {
                  type uint32;
                  description
                    "Number of info SSMs sent";
                }
    
                leaf esmc-infos-received {
                  type uint32;
                  description
                    "Number of info SSms received";
                }
    
                leaf esmc-dn-us-sent {
                  type uint32;
                  description
                    "Number of SSMs with DNU QL sent";
                }
    
                leaf esmc-dn-us-received {
                  type uint32;
                  description
                    "Number of SSMs with DNU QL received";
                }
    
                leaf esmc-malformed-received {
                  type uint16;
                  description
                    "Number of malformed packets received";
                }
    
                leaf esmc-received-error {
                  type uint16;
                  description
                    "Number of received packets that failed to be
    handled";
                }
              }  // container esmc-statistics
    
              leaf name {
                type string;
                description "Interface name";
              }
    
              leaf state {
                type Im-state-enum;
                description "Interface state";
              }
    
              leaf ssm-enabled {
                type boolean;
                description
                  "SSM is enabled on the interface";
              }
    
              leaf squelched {
                type boolean;
                description
                  "The interface output is squelched";
              }
    
              leaf selection-input {
                type boolean;
                description
                  "The interface is an input for selection";
              }
    
              leaf priority {
                type Fsync-pri;
                description "Priority";
              }
    
              leaf time-of-day-priority {
                type Fsync-time-pri;
                description
                  "Time-of-day priority";
              }
    
              leaf damping-state {
                type Fsync-bag-damping-state;
                description "Damping state";
              }
    
              leaf damping-time {
                type uint32;
                description
                  "Time until damping state changes in ms";
              }
    
              leaf wait-to-restore-time {
                type uint16;
                description
                  "Wait-to-restore time for the interface";
              }
    
              leaf supports-frequency {
                type boolean;
                description
                  "The PTP clock supports frequency";
              }
    
              leaf supports-time-of-day {
                type boolean;
                description
                  "The PTP clock supports time";
              }
    
              leaf source-flags {
                type uint32;
                description "The source flags";
              }
    
              leaf mac-address {
                type string {
                  length "0..6";
                }
                description
                  "The MAC address of the source";
              }
    
              leaf source-config-flags {
                type uint8;
                description
                  "The source configuration flags";
              }
    
              leaf last-up-down {
                type uint32;
                description
                  "Time the interface last went up or down";
              }
    
              leaf platform-state {
                type Fsync-bag-source-state;
                description
                  "Platform state for the source";
              }
    
              leaf pd-down-reason {
                type Fsync-bag-optional-string;
                description
                  "Why the stream is down";
              }
    
              list local-stream {
                description "The local streams";
                container source-id {
                  when
                    "../stream-input = 'source-input'" {
                    description
                      "../StreamInput = 'SourceInput'";
                  }
                  description "Source ID";
                  container clock-id {
                    when
                      "../source-class = 'clock-interface-source'" {
                      description
                        "../SourceClass = 'ClockInterfaceSource'";
                    }
                    description "Clock ID";
                    leaf node {
                      type xr:Node-id;
                      description "Node";
                    }
    
                    leaf id {
                      type uint32;
                      description
                        "ID (port number for clock interface, receiver
    number for GNSS receiver)";
                    }
    
                    leaf clock-name {
                      type string {
                        length "0..144";
                      }
                      description "Name";
                    }
                  }  // container clock-id
    
                  container internal-clock-id {
                    when
                      "../source-class = 'internal-clock-source'" {
                      description
                        "../SourceClass = 'InternalClockSource'";
                    }
                    description
                      "Internal Clock ID";
                    leaf node {
                      type xr:Node-id;
                      description "Node";
                    }
    
                    leaf id {
                      type uint32;
                      description
                        "ID (port number for clock interface, receiver
    number for GNSS receiver)";
                    }
    
                    leaf clock-name {
                      type string {
                        length "0..144";
                      }
                      description "Name";
                    }
                  }  // container internal-clock-id
    
                  container gnss-receiver-id {
                    when
                      "../source-class = 'gnss-receiver'" {
                      description
                        "../SourceClass = 'GNSSReceiver'";
                    }
                    description
                      "GNSS Receiver ID";
                    leaf node {
                      type xr:Node-id;
                      description "Node";
                    }
    
                    leaf id {
                      type uint32;
                      description
                        "ID (port number for clock interface, receiver
    number for GNSS receiver)";
                    }
    
                    leaf clock-name {
                      type string {
                        length "0..144";
                      }
                      description "Name";
                    }
                  }  // container gnss-receiver-id
    
                  leaf source-class {
                    type Fsync-bag-source-class;
                    description "SourceClass";
                  }
    
                  leaf ethernet-interface {
                    when
                      "../source-class = 'ethernet-interface-source'" {
                      description
                        "../SourceClass = 'EthernetInterfaceSource'";
                    }
                    type xr:Interface-name;
                    description
                      "Ethernet interface";
                  }
    
                  leaf sonet-interface {
                    when
                      "../source-class = 'sonet-interface-source'" {
                      description
                        "../SourceClass = 'SONETInterfaceSource'";
                    }
                    type xr:Interface-name;
                    description
                      "SONET interfaces";
                  }
    
                  leaf ptp-node {
                    when
                      "../source-class = 'ptp-source'" {
                      description
                        "../SourceClass = 'PTPSource'";
                    }
                    type xr:Node-id;
                    description "PTP Clock Node";
                  }
    
                  leaf satellite-access-interface {
                    when
                      "../source-class = 'satellite-access-interface-source'" {
                      description
                        "../SourceClass =
    'SatelliteAccessInterfaceSource'";
                    }
                    type xr:Interface-name;
                    description
                      "Satellite Access Interface";
                  }
    
                  leaf ntp-node {
                    when
                      "../source-class = 'ntp-source'" {
                      description
                        "../SourceClass = 'NTPSource'";
                    }
                    type xr:Node-id;
                    description "NTP Clock Node";
                  }
                }  // container source-id
    
                container selection-point-id {
                  when
                    "../stream-input = 'selection-point-input'" {
                    description
                      "../StreamInput = 'SelectionPointInput'";
                  }
                  description
                    "Selection point ID";
                  container selection-point {
                    description
                      "Last selection point";
                    leaf selection-point-type {
                      type Fsync-selection-point-type;
                      description
                        "Selection point type";
                    }
    
                    leaf selection-point-description {
                      type Fsync-bag-selection-point-desc;
                      description
                        "Selection point descrption";
                    }
    
                    leaf node {
                      type xr:Node-id;
                      description "Node";
                    }
                  }  // container selection-point
    
                  leaf output-id {
                    type Fsync-output-id;
                    description "Output ID";
                  }
                }  // container selection-point-id
    
                leaf stream-input {
                  type Fsync-bag-stream-input;
                  description "StreamInput";
                }
              }  // list local-stream
    
              list spa-selection-point {
                description
                  "Spa selection points";
                leaf selection-point {
                  type Fsync-selection-point-type;
                  description
                    "Selection point ID";
                }
    
                leaf selection-point-description {
                  type Fsync-bag-selection-point-desc;
                  description
                    "Selection point description";
                }
              }  // list spa-selection-point
    
              list node-selection-point {
                description
                  "Node selection points";
                leaf selection-point {
                  type Fsync-selection-point-type;
                  description
                    "Selection point ID";
                }
    
                leaf selection-point-description {
                  type Fsync-bag-selection-point-desc;
                  description
                    "Selection point description";
                }
              }  // list node-selection-point
            }  // list interface-data
          }  // container interface-datas
    
          container nodes {
            description
              "Table for node-specific operational data";
            list node {
              key "node";
              description
                "Node-specific data for a particular node";
              container ntp-data {
                description
                  "NTP operational data";
                container quality-level-effective-input {
                  description
                    "The effective input quality level";
                  leaf quality-level-option {
                    type Fsync-bag-ql-option;
                    description
                      "QualityLevelOption";
                  }
    
                  leaf option1-value {
                    when
                      "../quality-level-option = 'option1'" {
                      description
                        "../QualityLevelOption = 'Option1'";
                    }
                    type Fsync-bag-ql-o1-value;
                    description
                      "ITU-T Option 1 QL value";
                  }
    
                  leaf option2-generation1-value {
                    when
                      "../quality-level-option = 'option2-generation1'" {
                      description
                        "../QualityLevelOption = 'Option2Generation1'";
                    }
                    type Fsync-bag-ql-o2-g1-value;
                    description
                      "ITU-T Option 2, generation 1 value";
                  }
    
                  leaf option2-generation2-value {
                    when
                      "../quality-level-option = 'option2-generation2'" {
                      description
                        "../QualityLevelOption = 'Option2Generation2'";
                    }
                    type Fsync-bag-ql-o2-g2-value;
                    description
                      "ITU-T Option 2, generation 2 value";
                  }
                }  // container quality-level-effective-input
    
                leaf state {
                  type Fsync-bag-source-state;
                  description "NTP state";
                }
    
                leaf supports-frequency {
                  type boolean;
                  description
                    "The NTP clock supports frequency";
                }
    
                leaf supports-time-of-day {
                  type boolean;
                  description
                    "The NTP clock supports time";
                }
    
                leaf frequency-priority {
                  type Fsync-pri;
                  description
                    "The priority of the NTP clock when selected
    between frequency sources";
                }
    
                leaf time-of-day-priority {
                  type Fsync-time-pri;
                  description
                    "The priority of the NTP clock when selecting
    between time-of-day sources";
                }
    
                list spa-selection-point {
                  description
                    "Spa selection points";
                  leaf selection-point {
                    type Fsync-selection-point-type;
                    description
                      "Selection point ID";
                  }
    
                  leaf selection-point-description {
                    type Fsync-bag-selection-point-desc;
                    description
                      "Selection point description";
                  }
                }  // list spa-selection-point
    
                list node-selection-point {
                  description
                    "Node selection points";
                  leaf selection-point {
                    type Fsync-selection-point-type;
                    description
                      "Selection point ID";
                  }
    
                  leaf selection-point-description {
                    type Fsync-bag-selection-point-desc;
                    description
                      "Selection point description";
                  }
                }  // list node-selection-point
              }  // container ntp-data
    
              container selection-point-datas {
                description
                  "Selection point data table";
                list selection-point-data {
                  key "selection-point";
                  description
                    "Operational data for a given selection point";
                  leaf selection-point {
                    type uint32 {
                      range "0..4294967295";
                    }
                    description
                      "Selection point ID";
                  }
    
                  container output {
                    description
                      "Information about the output of the selection
    point";
                    leaf local-clock-ouput {
                      type boolean;
                      description
                        "Used for local clock output";
                    }
    
                    leaf local-line-output {
                      type boolean;
                      description
                        "Used for local line interface output";
                    }
    
                    leaf local-time-of-day-output {
                      type boolean;
                      description
                        "Used for local time-of-day output";
                    }
    
                    list spa-selection-point {
                      description
                        "SPA selection points";
                      leaf selection-point {
                        type Fsync-selection-point-type;
                        description
                          "Selection point ID";
                      }
    
                      leaf selection-point-description {
                        type Fsync-bag-selection-point-desc;
                        description
                          "Selection point description";
                      }
                    }  // list spa-selection-point
    
                    list node-selection-point {
                      description
                        "Node selection points";
                      leaf selection-point {
                        type Fsync-selection-point-type;
                        description
                          "Selection point ID";
                      }
    
                      leaf selection-point-description {
                        type Fsync-bag-selection-point-desc;
                        description
                          "Selection point description";
                      }
                    }  // list node-selection-point
    
                    list chassis-selection-point {
                      description
                        "Chassis selection points";
                      leaf selection-point {
                        type Fsync-selection-point-type;
                        description
                          "Selection point ID";
                      }
    
                      leaf selection-point-description {
                        type Fsync-bag-selection-point-desc;
                        description
                          "Selection point description";
                      }
                    }  // list chassis-selection-point
    
                    list router-selection-point {
                      description
                        "Router selection points";
                      leaf selection-point {
                        type Fsync-selection-point-type;
                        description
                          "Selection point ID";
                      }
    
                      leaf selection-point-description {
                        type Fsync-bag-selection-point-desc;
                        description
                          "Selection point description";
                      }
                    }  // list router-selection-point
                  }  // container output
    
                  container last-programmed {
                    description
                      "Time the SP was last programmed";
                    leaf seconds {
                      type uint32;
                      units "second";
                      description "Seconds";
                    }
    
                    leaf nanoseconds {
                      type uint32;
                      units "nanosecond";
                      description "Nanoseconds";
                    }
                  }  // container last-programmed
    
                  container last-selection {
                    description
                      "Time the last selection was made";
                    leaf seconds {
                      type uint32;
                      units "second";
                      description "Seconds";
                    }
    
                    leaf nanoseconds {
                      type uint32;
                      units "nanosecond";
                      description "Nanoseconds";
                    }
                  }  // container last-selection
    
                  leaf selection-point-type {
                    type Fsync-selection-point-type;
                    description
                      "Selection Point Type";
                  }
    
                  leaf description {
                    type string;
                    description "Description";
                  }
    
                  leaf inputs {
                    type uint32;
                    description
                      "Number of inputs";
                  }
    
                  leaf inputs-selected {
                    type uint32;
                    description
                      "Number of inputs that are selected";
                  }
    
                  leaf time-of-day-selection {
                    type boolean;
                    description
                      "The selection point is a time-of-day selection
    point";
                  }
    
                  leaf pending-s-ps {
                    type uint32;
                    description
                      "Flags indicating which SPs must be programmed
    before this SP";
                  }
    
                  leaf sp-flags {
                    type uint8;
                    description
                      "Flags for the SP structure";
                  }
    
                  list stream {
                    description
                      "A list of stream IDs which are valid inputs to
    this SP";
                    container source-id {
                      when
                        "../stream-input = 'source-input'" {
                        description
                          "../StreamInput = 'SourceInput'";
                      }
                      description "Source ID";
                      container clock-id {
                        when
                          "../source-class = 'clock-interface-source'" {
                          description
                            "../SourceClass = 'ClockInterfaceSource'";
                        }
                        description "Clock ID";
                        leaf node {
                          type xr:Node-id;
                          description "Node";
                        }
    
                        leaf id {
                          type uint32;
                          description
                            "ID (port number for clock interface, receiver
    number for GNSS receiver)";
                        }
    
                        leaf clock-name {
                          type string {
                            length "0..144";
                          }
                          description "Name";
                        }
                      }  // container clock-id
    
                      container internal-clock-id {
                        when
                          "../source-class = 'internal-clock-source'" {
                          description
                            "../SourceClass = 'InternalClockSource'";
                        }
                        description
                          "Internal Clock ID";
                        leaf node {
                          type xr:Node-id;
                          description "Node";
                        }
    
                        leaf id {
                          type uint32;
                          description
                            "ID (port number for clock interface, receiver
    number for GNSS receiver)";
                        }
    
                        leaf clock-name {
                          type string {
                            length "0..144";
                          }
                          description "Name";
                        }
                      }  // container internal-clock-id
    
                      container gnss-receiver-id {
                        when
                          "../source-class = 'gnss-receiver'" {
                          description
                            "../SourceClass = 'GNSSReceiver'";
                        }
                        description
                          "GNSS Receiver ID";
                        leaf node {
                          type xr:Node-id;
                          description "Node";
                        }
    
                        leaf id {
                          type uint32;
                          description
                            "ID (port number for clock interface, receiver
    number for GNSS receiver)";
                        }
    
                        leaf clock-name {
                          type string {
                            length "0..144";
                          }
                          description "Name";
                        }
                      }  // container gnss-receiver-id
    
                      leaf source-class {
                        type Fsync-bag-source-class;
                        description
                          "SourceClass";
                      }
    
                      leaf ethernet-interface {
                        when
                          "../source-class = 'ethernet-interface-source'" {
                          description
                            "../SourceClass = 'EthernetInterfaceSource'";
                        }
                        type xr:Interface-name;
                        description
                          "Ethernet interface";
                      }
    
                      leaf sonet-interface {
                        when
                          "../source-class = 'sonet-interface-source'" {
                          description
                            "../SourceClass = 'SONETInterfaceSource'";
                        }
                        type xr:Interface-name;
                        description
                          "SONET interfaces";
                      }
    
                      leaf ptp-node {
                        when
                          "../source-class = 'ptp-source'" {
                          description
                            "../SourceClass = 'PTPSource'";
                        }
                        type xr:Node-id;
                        description
                          "PTP Clock Node";
                      }
    
                      leaf satellite-access-interface {
                        when
                          "../source-class = 'satellite-access-interface-source'" {
                          description
                            "../SourceClass =
    'SatelliteAccessInterfaceSource'";
                        }
                        type xr:Interface-name;
                        description
                          "Satellite Access Interface";
                      }
    
                      leaf ntp-node {
                        when
                          "../source-class = 'ntp-source'" {
                          description
                            "../SourceClass = 'NTPSource'";
                        }
                        type xr:Node-id;
                        description
                          "NTP Clock Node";
                      }
                    }  // container source-id
    
                    container selection-point-id {
                      when
                        "../stream-input = 'selection-point-input'" {
                        description
                          "../StreamInput = 'SelectionPointInput'";
                      }
                      description
                        "Selection point ID";
                      container selection-point {
                        description
                          "Last selection point";
                        leaf selection-point-type {
                          type Fsync-selection-point-type;
                          description
                            "Selection point type";
                        }
    
                        leaf selection-point-description {
                          type Fsync-bag-selection-point-desc;
                          description
                            "Selection point descrption";
                        }
    
                        leaf node {
                          type xr:Node-id;
                          description "Node";
                        }
                      }  // container selection-point
    
                      leaf output-id {
                        type Fsync-output-id;
                        description "Output ID";
                      }
                    }  // container selection-point-id
    
                    leaf stream-input {
                      type Fsync-bag-stream-input;
                      description "StreamInput";
                    }
                  }  // list stream
                }  // list selection-point-data
              }  // container selection-point-datas
    
              container configuration-errors {
                description
                  "Configuration error operational data";
                list error-source {
                  description
                    "Configuration errors";
                  container source {
                    description "Source";
                    container clock-id {
                      when
                        "../source-class = 'clock-interface-source'" {
                        description
                          "../SourceClass = 'ClockInterfaceSource'";
                      }
                      description "Clock ID";
                      leaf node {
                        type xr:Node-id;
                        description "Node";
                      }
    
                      leaf id {
                        type uint32;
                        description
                          "ID (port number for clock interface, receiver
    number for GNSS receiver)";
                      }
    
                      leaf clock-name {
                        type string {
                          length "0..144";
                        }
                        description "Name";
                      }
                    }  // container clock-id
    
                    container internal-clock-id {
                      when
                        "../source-class = 'internal-clock-source'" {
                        description
                          "../SourceClass = 'InternalClockSource'";
                      }
                      description
                        "Internal Clock ID";
                      leaf node {
                        type xr:Node-id;
                        description "Node";
                      }
    
                      leaf id {
                        type uint32;
                        description
                          "ID (port number for clock interface, receiver
    number for GNSS receiver)";
                      }
    
                      leaf clock-name {
                        type string {
                          length "0..144";
                        }
                        description "Name";
                      }
                    }  // container internal-clock-id
    
                    container gnss-receiver-id {
                      when
                        "../source-class = 'gnss-receiver'" {
                        description
                          "../SourceClass = 'GNSSReceiver'";
                      }
                      description
                        "GNSS Receiver ID";
                      leaf node {
                        type xr:Node-id;
                        description "Node";
                      }
    
                      leaf id {
                        type uint32;
                        description
                          "ID (port number for clock interface, receiver
    number for GNSS receiver)";
                      }
    
                      leaf clock-name {
                        type string {
                          length "0..144";
                        }
                        description "Name";
                      }
                    }  // container gnss-receiver-id
    
                    leaf source-class {
                      type Fsync-bag-source-class;
                      description "SourceClass";
                    }
    
                    leaf ethernet-interface {
                      when
                        "../source-class = 'ethernet-interface-source'" {
                        description
                          "../SourceClass = 'EthernetInterfaceSource'";
                      }
                      type xr:Interface-name;
                      description
                        "Ethernet interface";
                    }
    
                    leaf sonet-interface {
                      when
                        "../source-class = 'sonet-interface-source'" {
                        description
                          "../SourceClass = 'SONETInterfaceSource'";
                      }
                      type xr:Interface-name;
                      description
                        "SONET interfaces";
                    }
    
                    leaf ptp-node {
                      when
                        "../source-class = 'ptp-source'" {
                        description
                          "../SourceClass = 'PTPSource'";
                      }
                      type xr:Node-id;
                      description
                        "PTP Clock Node";
                    }
    
                    leaf satellite-access-interface {
                      when
                        "../source-class = 'satellite-access-interface-source'" {
                        description
                          "../SourceClass =
    'SatelliteAccessInterfaceSource'";
                      }
                      type xr:Interface-name;
                      description
                        "Satellite Access Interface";
                    }
    
                    leaf ntp-node {
                      when
                        "../source-class = 'ntp-source'" {
                        description
                          "../SourceClass = 'NTPSource'";
                      }
                      type xr:Node-id;
                      description
                        "NTP Clock Node";
                    }
                  }  // container source
    
                  container input-min-ql {
                    description
                      "Configured minimum input QL";
                    leaf quality-level-option {
                      type Fsync-bag-ql-option;
                      description
                        "QualityLevelOption";
                    }
    
                    leaf option1-value {
                      when
                        "../quality-level-option = 'option1'" {
                        description
                          "../QualityLevelOption = 'Option1'";
                      }
                      type Fsync-bag-ql-o1-value;
                      description
                        "ITU-T Option 1 QL value";
                    }
    
                    leaf option2-generation1-value {
                      when
                        "../quality-level-option = 'option2-generation1'" {
                        description
                          "../QualityLevelOption = 'Option2Generation1'";
                      }
                      type Fsync-bag-ql-o2-g1-value;
                      description
                        "ITU-T Option 2, generation 1 value";
                    }
    
                    leaf option2-generation2-value {
                      when
                        "../quality-level-option = 'option2-generation2'" {
                        description
                          "../QualityLevelOption = 'Option2Generation2'";
                      }
                      type Fsync-bag-ql-o2-g2-value;
                      description
                        "ITU-T Option 2, generation 2 value";
                    }
                  }  // container input-min-ql
    
                  container input-exact-ql {
                    description
                      "Configured exact input QL";
                    leaf quality-level-option {
                      type Fsync-bag-ql-option;
                      description
                        "QualityLevelOption";
                    }
    
                    leaf option1-value {
                      when
                        "../quality-level-option = 'option1'" {
                        description
                          "../QualityLevelOption = 'Option1'";
                      }
                      type Fsync-bag-ql-o1-value;
                      description
                        "ITU-T Option 1 QL value";
                    }
    
                    leaf option2-generation1-value {
                      when
                        "../quality-level-option = 'option2-generation1'" {
                        description
                          "../QualityLevelOption = 'Option2Generation1'";
                      }
                      type Fsync-bag-ql-o2-g1-value;
                      description
                        "ITU-T Option 2, generation 1 value";
                    }
    
                    leaf option2-generation2-value {
                      when
                        "../quality-level-option = 'option2-generation2'" {
                        description
                          "../QualityLevelOption = 'Option2Generation2'";
                      }
                      type Fsync-bag-ql-o2-g2-value;
                      description
                        "ITU-T Option 2, generation 2 value";
                    }
                  }  // container input-exact-ql
    
                  container input-max-ql {
                    description
                      "Configured maximum input QL";
                    leaf quality-level-option {
                      type Fsync-bag-ql-option;
                      description
                        "QualityLevelOption";
                    }
    
                    leaf option1-value {
                      when
                        "../quality-level-option = 'option1'" {
                        description
                          "../QualityLevelOption = 'Option1'";
                      }
                      type Fsync-bag-ql-o1-value;
                      description
                        "ITU-T Option 1 QL value";
                    }
    
                    leaf option2-generation1-value {
                      when
                        "../quality-level-option = 'option2-generation1'" {
                        description
                          "../QualityLevelOption = 'Option2Generation1'";
                      }
                      type Fsync-bag-ql-o2-g1-value;
                      description
                        "ITU-T Option 2, generation 1 value";
                    }
    
                    leaf option2-generation2-value {
                      when
                        "../quality-level-option = 'option2-generation2'" {
                        description
                          "../QualityLevelOption = 'Option2Generation2'";
                      }
                      type Fsync-bag-ql-o2-g2-value;
                      description
                        "ITU-T Option 2, generation 2 value";
                    }
                  }  // container input-max-ql
    
                  container output-min-ql {
                    description
                      "Configured mininum output QL";
                    leaf quality-level-option {
                      type Fsync-bag-ql-option;
                      description
                        "QualityLevelOption";
                    }
    
                    leaf option1-value {
                      when
                        "../quality-level-option = 'option1'" {
                        description
                          "../QualityLevelOption = 'Option1'";
                      }
                      type Fsync-bag-ql-o1-value;
                      description
                        "ITU-T Option 1 QL value";
                    }
    
                    leaf option2-generation1-value {
                      when
                        "../quality-level-option = 'option2-generation1'" {
                        description
                          "../QualityLevelOption = 'Option2Generation1'";
                      }
                      type Fsync-bag-ql-o2-g1-value;
                      description
                        "ITU-T Option 2, generation 1 value";
                    }
    
                    leaf option2-generation2-value {
                      when
                        "../quality-level-option = 'option2-generation2'" {
                        description
                          "../QualityLevelOption = 'Option2Generation2'";
                      }
                      type Fsync-bag-ql-o2-g2-value;
                      description
                        "ITU-T Option 2, generation 2 value";
                    }
                  }  // container output-min-ql
    
                  container output-exact-ql {
                    description
                      "Configured exact output QL";
                    leaf quality-level-option {
                      type Fsync-bag-ql-option;
                      description
                        "QualityLevelOption";
                    }
    
                    leaf option1-value {
                      when
                        "../quality-level-option = 'option1'" {
                        description
                          "../QualityLevelOption = 'Option1'";
                      }
                      type Fsync-bag-ql-o1-value;
                      description
                        "ITU-T Option 1 QL value";
                    }
    
                    leaf option2-generation1-value {
                      when
                        "../quality-level-option = 'option2-generation1'" {
                        description
                          "../QualityLevelOption = 'Option2Generation1'";
                      }
                      type Fsync-bag-ql-o2-g1-value;
                      description
                        "ITU-T Option 2, generation 1 value";
                    }
    
                    leaf option2-generation2-value {
                      when
                        "../quality-level-option = 'option2-generation2'" {
                        description
                          "../QualityLevelOption = 'Option2Generation2'";
                      }
                      type Fsync-bag-ql-o2-g2-value;
                      description
                        "ITU-T Option 2, generation 2 value";
                    }
                  }  // container output-exact-ql
    
                  container output-max-ql {
                    description
                      "Configured exact maximum QL";
                    leaf quality-level-option {
                      type Fsync-bag-ql-option;
                      description
                        "QualityLevelOption";
                    }
    
                    leaf option1-value {
                      when
                        "../quality-level-option = 'option1'" {
                        description
                          "../QualityLevelOption = 'Option1'";
                      }
                      type Fsync-bag-ql-o1-value;
                      description
                        "ITU-T Option 1 QL value";
                    }
    
                    leaf option2-generation1-value {
                      when
                        "../quality-level-option = 'option2-generation1'" {
                        description
                          "../QualityLevelOption = 'Option2Generation1'";
                      }
                      type Fsync-bag-ql-o2-g1-value;
                      description
                        "ITU-T Option 2, generation 1 value";
                    }
    
                    leaf option2-generation2-value {
                      when
                        "../quality-level-option = 'option2-generation2'" {
                        description
                          "../QualityLevelOption = 'Option2Generation2'";
                      }
                      type Fsync-bag-ql-o2-g2-value;
                      description
                        "ITU-T Option 2, generation 2 value";
                    }
                  }  // container output-max-ql
    
                  leaf enable-error {
                    type boolean;
                    description
                      "Frequency Synchronization enable error";
                  }
    
                  leaf input-min-error {
                    type boolean;
                    description
                      "Minimum input QL option config error";
                  }
    
                  leaf input-exact-error {
                    type boolean;
                    description
                      "Exact input QL config error";
                  }
    
                  leaf input-max-error {
                    type boolean;
                    description
                      "Maximum input QL option config error";
                  }
    
                  leaf ouput-min-error {
                    type boolean;
                    description
                      "Minimum output QL option config error";
                  }
    
                  leaf output-exact-error {
                    type boolean;
                    description
                      "Exact output QL option config error";
                  }
    
                  leaf output-max-error {
                    type boolean;
                    description
                      "Maximum output QL option config error";
                  }
    
                  leaf ext-ql-input-min-error {
                    type boolean;
                    description
                      "Minimum input extended QL config error";
                  }
    
                  leaf ext-ql-input-exact-error {
                    type boolean;
                    description
                      "Exact input extended QL config error";
                  }
    
                  leaf ext-ql-input-max-error {
                    type boolean;
                    description
                      "Maximum input extended Ql config error";
                  }
    
                  leaf ext-ql-ouput-min-error {
                    type boolean;
                    description
                      "Minimum output extended QL config error";
                  }
    
                  leaf ext-ql-output-exact-error {
                    type boolean;
                    description
                      "Exact output extended QL config error";
                  }
    
                  leaf ext-ql-output-max-error {
                    type boolean;
                    description
                      "Maximum output extended QL config error";
                  }
    
                  leaf input-output-mismatch {
                    type boolean;
                    description
                      "Input/Output mismatch error";
                  }
                }  // list error-source
              }  // container configuration-errors
    
              container ptp-data {
                description
                  "PTP operational data";
                container quality-level-effective-input {
                  description
                    "The effective input quality level";
                  leaf quality-level-option {
                    type Fsync-bag-ql-option;
                    description
                      "QualityLevelOption";
                  }
    
                  leaf option1-value {
                    when
                      "../quality-level-option = 'option1'" {
                      description
                        "../QualityLevelOption = 'Option1'";
                    }
                    type Fsync-bag-ql-o1-value;
                    description
                      "ITU-T Option 1 QL value";
                  }
    
                  leaf option2-generation1-value {
                    when
                      "../quality-level-option = 'option2-generation1'" {
                      description
                        "../QualityLevelOption = 'Option2Generation1'";
                    }
                    type Fsync-bag-ql-o2-g1-value;
                    description
                      "ITU-T Option 2, generation 1 value";
                  }
    
                  leaf option2-generation2-value {
                    when
                      "../quality-level-option = 'option2-generation2'" {
                      description
                        "../QualityLevelOption = 'Option2Generation2'";
                    }
                    type Fsync-bag-ql-o2-g2-value;
                    description
                      "ITU-T Option 2, generation 2 value";
                  }
                }  // container quality-level-effective-input
    
                leaf state {
                  type Fsync-bag-source-state;
                  description "PTP state";
                }
    
                leaf supports-frequency {
                  type boolean;
                  description
                    "The PTP clock supports frequency";
                }
    
                leaf supports-time-of-day {
                  type boolean;
                  description
                    "The PTP clock supports time";
                }
    
                leaf frequency-priority {
                  type Fsync-pri;
                  description
                    "The priority of the PTP clock when selected
    between frequency sources";
                }
    
                leaf time-of-day-priority {
                  type Fsync-time-pri;
                  description
                    "The priority of the PTP clock when selecting
    between time-of-day sources";
                }
    
                list spa-selection-point {
                  description
                    "Spa selection points";
                  leaf selection-point {
                    type Fsync-selection-point-type;
                    description
                      "Selection point ID";
                  }
    
                  leaf selection-point-description {
                    type Fsync-bag-selection-point-desc;
                    description
                      "Selection point description";
                  }
                }  // list spa-selection-point
    
                list node-selection-point {
                  description
                    "Node selection points";
                  leaf selection-point {
                    type Fsync-selection-point-type;
                    description
                      "Selection point ID";
                  }
    
                  leaf selection-point-description {
                    type Fsync-bag-selection-point-desc;
                    description
                      "Selection point description";
                  }
                }  // list node-selection-point
              }  // container ptp-data
    
              container ssm-summary {
                description
                  "SSM operational data";
                leaf ethernet-sources {
                  type uint32;
                  description
                    "Number of ethernet interfaces in synchronous
    mode";
                }
    
                leaf ethernet-sources-select {
                  type uint32;
                  description
                    "Number of ethernet interfaces assigned for
    selection";
                }
    
                leaf ethernet-sources-enabled {
                  type uint32;
                  description
                    "Number of ethernet interfaces with SSM enabled";
                }
    
                leaf sonet-sources {
                  type uint32;
                  description
                    "Number of SONET interfaces in synchronous mode";
                }
    
                leaf sonet-sources-select {
                  type uint32;
                  description
                    "Number of SONET interfaces assigned for
    selection";
                }
    
                leaf sonet-sources-enabled {
                  type uint32;
                  description
                    "Number of SONET interfaces with SSM enabled";
                }
    
                leaf events-sent {
                  type uint32;
                  description
                    "Total event SSMs sent";
                }
    
                leaf events-received {
                  type uint32;
                  description
                    "Total event SSMs received";
                }
    
                leaf infos-sent {
                  type uint32;
                  description
                    "Total information SSMs sent";
                }
    
                leaf infos-received {
                  type uint32;
                  description
                    "Total information SSMs received";
                }
    
                leaf dn-us-sent {
                  type uint32;
                  description
                    "Total DNU SSMs sent";
                }
    
                leaf dn-us-received {
                  type uint32;
                  description
                    "Total DNU SSMs received";
                }
              }  // container ssm-summary
    
              container detailed-clock-datas {
                description
                  "Table for detailed clock operational data";
                list detailed-clock-data {
                  key "clock-type id";
                  description
                    "Detailed operational data for a particular
                   clock";
                  leaf clock-type {
                    type dt1:Fsync-clock;
                    description "Clock type";
                  }
    
                  leaf id {
                    type uint32 {
                      range "0..4294967295";
                    }
                    description
                      "Clock ID (port number for clock interfaces,
                     receiver number for GNSS receivers";
                  }
    
                  container source {
                    description
                      "The source ID for the clock";
                    container clock-id {
                      when
                        "../source-class = 'clock-interface-source'" {
                        description
                          "../SourceClass = 'ClockInterfaceSource'";
                      }
                      description "Clock ID";
                      leaf node {
                        type xr:Node-id;
                        description "Node";
                      }
    
                      leaf id {
                        type uint32;
                        description
                          "ID (port number for clock interface, receiver
    number for GNSS receiver)";
                      }
    
                      leaf clock-name {
                        type string {
                          length "0..144";
                        }
                        description "Name";
                      }
                    }  // container clock-id
    
                    container internal-clock-id {
                      when
                        "../source-class = 'internal-clock-source'" {
                        description
                          "../SourceClass = 'InternalClockSource'";
                      }
                      description
                        "Internal Clock ID";
                      leaf node {
                        type xr:Node-id;
                        description "Node";
                      }
    
                      leaf id {
                        type uint32;
                        description
                          "ID (port number for clock interface, receiver
    number for GNSS receiver)";
                      }
    
                      leaf clock-name {
                        type string {
                          length "0..144";
                        }
                        description "Name";
                      }
                    }  // container internal-clock-id
    
                    container gnss-receiver-id {
                      when
                        "../source-class = 'gnss-receiver'" {
                        description
                          "../SourceClass = 'GNSSReceiver'";
                      }
                      description
                        "GNSS Receiver ID";
                      leaf node {
                        type xr:Node-id;
                        description "Node";
                      }
    
                      leaf id {
                        type uint32;
                        description
                          "ID (port number for clock interface, receiver
    number for GNSS receiver)";
                      }
    
                      leaf clock-name {
                        type string {
                          length "0..144";
                        }
                        description "Name";
                      }
                    }  // container gnss-receiver-id
    
                    leaf source-class {
                      type Fsync-bag-source-class;
                      description "SourceClass";
                    }
    
                    leaf ethernet-interface {
                      when
                        "../source-class = 'ethernet-interface-source'" {
                        description
                          "../SourceClass = 'EthernetInterfaceSource'";
                      }
                      type xr:Interface-name;
                      description
                        "Ethernet interface";
                    }
    
                    leaf sonet-interface {
                      when
                        "../source-class = 'sonet-interface-source'" {
                        description
                          "../SourceClass = 'SONETInterfaceSource'";
                      }
                      type xr:Interface-name;
                      description
                        "SONET interfaces";
                    }
    
                    leaf ptp-node {
                      when
                        "../source-class = 'ptp-source'" {
                        description
                          "../SourceClass = 'PTPSource'";
                      }
                      type xr:Node-id;
                      description
                        "PTP Clock Node";
                    }
    
                    leaf satellite-access-interface {
                      when
                        "../source-class = 'satellite-access-interface-source'" {
                        description
                          "../SourceClass =
    'SatelliteAccessInterfaceSource'";
                      }
                      type xr:Interface-name;
                      description
                        "Satellite Access Interface";
                    }
    
                    leaf ntp-node {
                      when
                        "../source-class = 'ntp-source'" {
                        description
                          "../SourceClass = 'NTPSource'";
                      }
                      type xr:Node-id;
                      description
                        "NTP Clock Node";
                    }
                  }  // container source
    
                  container selected-source {
                    description
                      "Timing source selected for clock output";
                    container clock-id {
                      when
                        "../source-class = 'clock-interface-source'" {
                        description
                          "../SourceClass = 'ClockInterfaceSource'";
                      }
                      description "Clock ID";
                      leaf node {
                        type xr:Node-id;
                        description "Node";
                      }
    
                      leaf id {
                        type uint32;
                        description
                          "ID (port number for clock interface, receiver
    number for GNSS receiver)";
                      }
    
                      leaf clock-name {
                        type string {
                          length "0..144";
                        }
                        description "Name";
                      }
                    }  // container clock-id
    
                    container internal-clock-id {
                      when
                        "../source-class = 'internal-clock-source'" {
                        description
                          "../SourceClass = 'InternalClockSource'";
                      }
                      description
                        "Internal Clock ID";
                      leaf node {
                        type xr:Node-id;
                        description "Node";
                      }
    
                      leaf id {
                        type uint32;
                        description
                          "ID (port number for clock interface, receiver
    number for GNSS receiver)";
                      }
    
                      leaf clock-name {
                        type string {
                          length "0..144";
                        }
                        description "Name";
                      }
                    }  // container internal-clock-id
    
                    container gnss-receiver-id {
                      when
                        "../source-class = 'gnss-receiver'" {
                        description
                          "../SourceClass = 'GNSSReceiver'";
                      }
                      description
                        "GNSS Receiver ID";
                      leaf node {
                        type xr:Node-id;
                        description "Node";
                      }
    
                      leaf id {
                        type uint32;
                        description
                          "ID (port number for clock interface, receiver
    number for GNSS receiver)";
                      }
    
                      leaf clock-name {
                        type string {
                          length "0..144";
                        }
                        description "Name";
                      }
                    }  // container gnss-receiver-id
    
                    leaf source-class {
                      type Fsync-bag-source-class;
                      description "SourceClass";
                    }
    
                    leaf ethernet-interface {
                      when
                        "../source-class = 'ethernet-interface-source'" {
                        description
                          "../SourceClass = 'EthernetInterfaceSource'";
                      }
                      type xr:Interface-name;
                      description
                        "Ethernet interface";
                    }
    
                    leaf sonet-interface {
                      when
                        "../source-class = 'sonet-interface-source'" {
                        description
                          "../SourceClass = 'SONETInterfaceSource'";
                      }
                      type xr:Interface-name;
                      description
                        "SONET interfaces";
                    }
    
                    leaf ptp-node {
                      when
                        "../source-class = 'ptp-source'" {
                        description
                          "../SourceClass = 'PTPSource'";
                      }
                      type xr:Node-id;
                      description
                        "PTP Clock Node";
                    }
    
                    leaf satellite-access-interface {
                      when
                        "../source-class = 'satellite-access-interface-source'" {
                        description
                          "../SourceClass =
    'SatelliteAccessInterfaceSource'";
                      }
                      type xr:Interface-name;
                      description
                        "Satellite Access Interface";
                    }
    
                    leaf ntp-node {
                      when
                        "../source-class = 'ntp-source'" {
                        description
                          "../SourceClass = 'NTPSource'";
                      }
                      type xr:Node-id;
                      description
                        "NTP Clock Node";
                    }
                  }  // container selected-source
    
                  container quality-level-received {
                    description
                      "Received quality level";
                    leaf quality-level-option {
                      type Fsync-bag-ql-option;
                      description
                        "QualityLevelOption";
                    }
    
                    leaf option1-value {
                      when
                        "../quality-level-option = 'option1'" {
                        description
                          "../QualityLevelOption = 'Option1'";
                      }
                      type Fsync-bag-ql-o1-value;
                      description
                        "ITU-T Option 1 QL value";
                    }
    
                    leaf option2-generation1-value {
                      when
                        "../quality-level-option = 'option2-generation1'" {
                        description
                          "../QualityLevelOption = 'Option2Generation1'";
                      }
                      type Fsync-bag-ql-o2-g1-value;
                      description
                        "ITU-T Option 2, generation 1 value";
                    }
    
                    leaf option2-generation2-value {
                      when
                        "../quality-level-option = 'option2-generation2'" {
                        description
                          "../QualityLevelOption = 'Option2Generation2'";
                      }
                      type Fsync-bag-ql-o2-g2-value;
                      description
                        "ITU-T Option 2, generation 2 value";
                    }
                  }  // container quality-level-received
    
                  container quality-level-damped {
                    description
                      "Quality level after damping has been applied";
                    leaf quality-level-option {
                      type Fsync-bag-ql-option;
                      description
                        "QualityLevelOption";
                    }
    
                    leaf option1-value {
                      when
                        "../quality-level-option = 'option1'" {
                        description
                          "../QualityLevelOption = 'Option1'";
                      }
                      type Fsync-bag-ql-o1-value;
                      description
                        "ITU-T Option 1 QL value";
                    }
    
                    leaf option2-generation1-value {
                      when
                        "../quality-level-option = 'option2-generation1'" {
                        description
                          "../QualityLevelOption = 'Option2Generation1'";
                      }
                      type Fsync-bag-ql-o2-g1-value;
                      description
                        "ITU-T Option 2, generation 1 value";
                    }
    
                    leaf option2-generation2-value {
                      when
                        "../quality-level-option = 'option2-generation2'" {
                        description
                          "../QualityLevelOption = 'Option2Generation2'";
                      }
                      type Fsync-bag-ql-o2-g2-value;
                      description
                        "ITU-T Option 2, generation 2 value";
                    }
                  }  // container quality-level-damped
    
                  container quality-level-effective-input {
                    description
                      "The effective input quality level";
                    leaf quality-level-option {
                      type Fsync-bag-ql-option;
                      description
                        "QualityLevelOption";
                    }
    
                    leaf option1-value {
                      when
                        "../quality-level-option = 'option1'" {
                        description
                          "../QualityLevelOption = 'Option1'";
                      }
                      type Fsync-bag-ql-o1-value;
                      description
                        "ITU-T Option 1 QL value";
                    }
    
                    leaf option2-generation1-value {
                      when
                        "../quality-level-option = 'option2-generation1'" {
                        description
                          "../QualityLevelOption = 'Option2Generation1'";
                      }
                      type Fsync-bag-ql-o2-g1-value;
                      description
                        "ITU-T Option 2, generation 1 value";
                    }
    
                    leaf option2-generation2-value {
                      when
                        "../quality-level-option = 'option2-generation2'" {
                        description
                          "../QualityLevelOption = 'Option2Generation2'";
                      }
                      type Fsync-bag-ql-o2-g2-value;
                      description
                        "ITU-T Option 2, generation 2 value";
                    }
                  }  // container quality-level-effective-input
    
                  container quality-level-effective-output {
                    description
                      "The effective output quality level";
                    leaf quality-level-option {
                      type Fsync-bag-ql-option;
                      description
                        "QualityLevelOption";
                    }
    
                    leaf option1-value {
                      when
                        "../quality-level-option = 'option1'" {
                        description
                          "../QualityLevelOption = 'Option1'";
                      }
                      type Fsync-bag-ql-o1-value;
                      description
                        "ITU-T Option 1 QL value";
                    }
    
                    leaf option2-generation1-value {
                      when
                        "../quality-level-option = 'option2-generation1'" {
                        description
                          "../QualityLevelOption = 'Option2Generation1'";
                      }
                      type Fsync-bag-ql-o2-g1-value;
                      description
                        "ITU-T Option 2, generation 1 value";
                    }
    
                    leaf option2-generation2-value {
                      when
                        "../quality-level-option = 'option2-generation2'" {
                        description
                          "../QualityLevelOption = 'Option2Generation2'";
                      }
                      type Fsync-bag-ql-o2-g2-value;
                      description
                        "ITU-T Option 2, generation 2 value";
                    }
                  }  // container quality-level-effective-output
    
                  container quality-level-selected-source {
                    description
                      "The quality level of the source driving this
    interface";
                    leaf quality-level-option {
                      type Fsync-bag-ql-option;
                      description
                        "QualityLevelOption";
                    }
    
                    leaf option1-value {
                      when
                        "../quality-level-option = 'option1'" {
                        description
                          "../QualityLevelOption = 'Option1'";
                      }
                      type Fsync-bag-ql-o1-value;
                      description
                        "ITU-T Option 1 QL value";
                    }
    
                    leaf option2-generation1-value {
                      when
                        "../quality-level-option = 'option2-generation1'" {
                        description
                          "../QualityLevelOption = 'Option2Generation1'";
                      }
                      type Fsync-bag-ql-o2-g1-value;
                      description
                        "ITU-T Option 2, generation 1 value";
                    }
    
                    leaf option2-generation2-value {
                      when
                        "../quality-level-option = 'option2-generation2'" {
                        description
                          "../QualityLevelOption = 'Option2Generation2'";
                      }
                      type Fsync-bag-ql-o2-g2-value;
                      description
                        "ITU-T Option 2, generation 2 value";
                    }
                  }  // container quality-level-selected-source
    
                  leaf state {
                    type Fsync-bag-source-state;
                    description "Clock state";
                  }
    
                  leaf down-reason {
                    type Fsync-bag-optional-string;
                    description
                      "Why the clock is down";
                  }
    
                  leaf description {
                    type string;
                    description
                      "Clock description";
                  }
    
                  leaf priority {
                    type Fsync-pri;
                    description "Priority";
                  }
    
                  leaf time-of-day-priority {
                    type Fsync-time-pri;
                    description
                      "Time-of-day priority";
                  }
    
                  leaf ssm-support {
                    type boolean;
                    description
                      "The clock supports SSMs";
                  }
    
                  leaf ssm-enabled {
                    type boolean;
                    description
                      "The clock output is squelched";
                  }
    
                  leaf loopback {
                    type boolean;
                    description
                      "The clock is looped back";
                  }
    
                  leaf selection-input {
                    type boolean;
                    description
                      "The clock is an input for selection";
                  }
    
                  leaf squelched {
                    type boolean;
                    description
                      "The clock output is squelched";
                  }
    
                  leaf damping-state {
                    type Fsync-bag-damping-state;
                    description "Damping state";
                  }
    
                  leaf damping-time {
                    type uint32;
                    description
                      "Time until damping state changes in ms";
                  }
    
                  leaf input-disabled {
                    type boolean;
                    description
                      "Timing input is disabled";
                  }
    
                  leaf output-disabled {
                    type boolean;
                    description
                      "Timing output is disabled";
                  }
    
                  leaf wait-to-restore-time {
                    type uint16;
                    description
                      "Wait-to-restore time for the clock";
                  }
    
                  leaf clock-type-xr {
                    type Fsync-bag-clock-intf-class;
                    description
                      "The type of clock";
                  }
    
                  leaf supports-frequency {
                    type boolean;
                    description
                      "The PTP clock supports frequency";
                  }
    
                  leaf supports-time-of-day {
                    type boolean;
                    description
                      "The PTP clock supports time";
                  }
    
                  list spa-selection-point {
                    description
                      "Spa selection points";
                    leaf selection-point {
                      type Fsync-selection-point-type;
                      description
                        "Selection point ID";
                    }
    
                    leaf selection-point-description {
                      type Fsync-bag-selection-point-desc;
                      description
                        "Selection point description";
                    }
                  }  // list spa-selection-point
    
                  list node-selection-point {
                    description
                      "Node selection points";
                    leaf selection-point {
                      type Fsync-selection-point-type;
                      description
                        "Selection point ID";
                    }
    
                    leaf selection-point-description {
                      type Fsync-bag-selection-point-desc;
                      description
                        "Selection point description";
                    }
                  }  // list node-selection-point
                }  // list detailed-clock-data
              }  // container detailed-clock-datas
    
              container clock-datas {
                description
                  "Table for clock operational data";
                list clock-data {
                  key "clock-type id";
                  description
                    "Operational data for a particular clock";
                  leaf clock-type {
                    type dt1:Fsync-clock;
                    description "Clock type";
                  }
    
                  leaf id {
                    type uint32 {
                      range "0..4294967295";
                    }
                    description
                      "Clock ID (port number for clock interfaces,
                     receiver number for GNSS receivers";
                  }
    
                  container source {
                    description
                      "The source ID for the clock";
                    container clock-id {
                      when
                        "../source-class = 'clock-interface-source'" {
                        description
                          "../SourceClass = 'ClockInterfaceSource'";
                      }
                      description "Clock ID";
                      leaf node {
                        type xr:Node-id;
                        description "Node";
                      }
    
                      leaf id {
                        type uint32;
                        description
                          "ID (port number for clock interface, receiver
    number for GNSS receiver)";
                      }
    
                      leaf clock-name {
                        type string {
                          length "0..144";
                        }
                        description "Name";
                      }
                    }  // container clock-id
    
                    container internal-clock-id {
                      when
                        "../source-class = 'internal-clock-source'" {
                        description
                          "../SourceClass = 'InternalClockSource'";
                      }
                      description
                        "Internal Clock ID";
                      leaf node {
                        type xr:Node-id;
                        description "Node";
                      }
    
                      leaf id {
                        type uint32;
                        description
                          "ID (port number for clock interface, receiver
    number for GNSS receiver)";
                      }
    
                      leaf clock-name {
                        type string {
                          length "0..144";
                        }
                        description "Name";
                      }
                    }  // container internal-clock-id
    
                    container gnss-receiver-id {
                      when
                        "../source-class = 'gnss-receiver'" {
                        description
                          "../SourceClass = 'GNSSReceiver'";
                      }
                      description
                        "GNSS Receiver ID";
                      leaf node {
                        type xr:Node-id;
                        description "Node";
                      }
    
                      leaf id {
                        type uint32;
                        description
                          "ID (port number for clock interface, receiver
    number for GNSS receiver)";
                      }
    
                      leaf clock-name {
                        type string {
                          length "0..144";
                        }
                        description "Name";
                      }
                    }  // container gnss-receiver-id
    
                    leaf source-class {
                      type Fsync-bag-source-class;
                      description "SourceClass";
                    }
    
                    leaf ethernet-interface {
                      when
                        "../source-class = 'ethernet-interface-source'" {
                        description
                          "../SourceClass = 'EthernetInterfaceSource'";
                      }
                      type xr:Interface-name;
                      description
                        "Ethernet interface";
                    }
    
                    leaf sonet-interface {
                      when
                        "../source-class = 'sonet-interface-source'" {
                        description
                          "../SourceClass = 'SONETInterfaceSource'";
                      }
                      type xr:Interface-name;
                      description
                        "SONET interfaces";
                    }
    
                    leaf ptp-node {
                      when
                        "../source-class = 'ptp-source'" {
                        description
                          "../SourceClass = 'PTPSource'";
                      }
                      type xr:Node-id;
                      description
                        "PTP Clock Node";
                    }
    
                    leaf satellite-access-interface {
                      when
                        "../source-class = 'satellite-access-interface-source'" {
                        description
                          "../SourceClass =
    'SatelliteAccessInterfaceSource'";
                      }
                      type xr:Interface-name;
                      description
                        "Satellite Access Interface";
                    }
    
                    leaf ntp-node {
                      when
                        "../source-class = 'ntp-source'" {
                        description
                          "../SourceClass = 'NTPSource'";
                      }
                      type xr:Node-id;
                      description
                        "NTP Clock Node";
                    }
                  }  // container source
    
                  container selected-source {
                    description
                      "Timing source selected for clock output";
                    container clock-id {
                      when
                        "../source-class = 'clock-interface-source'" {
                        description
                          "../SourceClass = 'ClockInterfaceSource'";
                      }
                      description "Clock ID";
                      leaf node {
                        type xr:Node-id;
                        description "Node";
                      }
    
                      leaf id {
                        type uint32;
                        description
                          "ID (port number for clock interface, receiver
    number for GNSS receiver)";
                      }
    
                      leaf clock-name {
                        type string {
                          length "0..144";
                        }
                        description "Name";
                      }
                    }  // container clock-id
    
                    container internal-clock-id {
                      when
                        "../source-class = 'internal-clock-source'" {
                        description
                          "../SourceClass = 'InternalClockSource'";
                      }
                      description
                        "Internal Clock ID";
                      leaf node {
                        type xr:Node-id;
                        description "Node";
                      }
    
                      leaf id {
                        type uint32;
                        description
                          "ID (port number for clock interface, receiver
    number for GNSS receiver)";
                      }
    
                      leaf clock-name {
                        type string {
                          length "0..144";
                        }
                        description "Name";
                      }
                    }  // container internal-clock-id
    
                    container gnss-receiver-id {
                      when
                        "../source-class = 'gnss-receiver'" {
                        description
                          "../SourceClass = 'GNSSReceiver'";
                      }
                      description
                        "GNSS Receiver ID";
                      leaf node {
                        type xr:Node-id;
                        description "Node";
                      }
    
                      leaf id {
                        type uint32;
                        description
                          "ID (port number for clock interface, receiver
    number for GNSS receiver)";
                      }
    
                      leaf clock-name {
                        type string {
                          length "0..144";
                        }
                        description "Name";
                      }
                    }  // container gnss-receiver-id
    
                    leaf source-class {
                      type Fsync-bag-source-class;
                      description "SourceClass";
                    }
    
                    leaf ethernet-interface {
                      when
                        "../source-class = 'ethernet-interface-source'" {
                        description
                          "../SourceClass = 'EthernetInterfaceSource'";
                      }
                      type xr:Interface-name;
                      description
                        "Ethernet interface";
                    }
    
                    leaf sonet-interface {
                      when
                        "../source-class = 'sonet-interface-source'" {
                        description
                          "../SourceClass = 'SONETInterfaceSource'";
                      }
                      type xr:Interface-name;
                      description
                        "SONET interfaces";
                    }
    
                    leaf ptp-node {
                      when
                        "../source-class = 'ptp-source'" {
                        description
                          "../SourceClass = 'PTPSource'";
                      }
                      type xr:Node-id;
                      description
                        "PTP Clock Node";
                    }
    
                    leaf satellite-access-interface {
                      when
                        "../source-class = 'satellite-access-interface-source'" {
                        description
                          "../SourceClass =
    'SatelliteAccessInterfaceSource'";
                      }
                      type xr:Interface-name;
                      description
                        "Satellite Access Interface";
                    }
    
                    leaf ntp-node {
                      when
                        "../source-class = 'ntp-source'" {
                        description
                          "../SourceClass = 'NTPSource'";
                      }
                      type xr:Node-id;
                      description
                        "NTP Clock Node";
                    }
                  }  // container selected-source
    
                  container quality-level-received {
                    description
                      "Received quality level";
                    leaf quality-level-option {
                      type Fsync-bag-ql-option;
                      description
                        "QualityLevelOption";
                    }
    
                    leaf option1-value {
                      when
                        "../quality-level-option = 'option1'" {
                        description
                          "../QualityLevelOption = 'Option1'";
                      }
                      type Fsync-bag-ql-o1-value;
                      description
                        "ITU-T Option 1 QL value";
                    }
    
                    leaf option2-generation1-value {
                      when
                        "../quality-level-option = 'option2-generation1'" {
                        description
                          "../QualityLevelOption = 'Option2Generation1'";
                      }
                      type Fsync-bag-ql-o2-g1-value;
                      description
                        "ITU-T Option 2, generation 1 value";
                    }
    
                    leaf option2-generation2-value {
                      when
                        "../quality-level-option = 'option2-generation2'" {
                        description
                          "../QualityLevelOption = 'Option2Generation2'";
                      }
                      type Fsync-bag-ql-o2-g2-value;
                      description
                        "ITU-T Option 2, generation 2 value";
                    }
                  }  // container quality-level-received
    
                  container quality-level-damped {
                    description
                      "Quality level after damping has been applied";
                    leaf quality-level-option {
                      type Fsync-bag-ql-option;
                      description
                        "QualityLevelOption";
                    }
    
                    leaf option1-value {
                      when
                        "../quality-level-option = 'option1'" {
                        description
                          "../QualityLevelOption = 'Option1'";
                      }
                      type Fsync-bag-ql-o1-value;
                      description
                        "ITU-T Option 1 QL value";
                    }
    
                    leaf option2-generation1-value {
                      when
                        "../quality-level-option = 'option2-generation1'" {
                        description
                          "../QualityLevelOption = 'Option2Generation1'";
                      }
                      type Fsync-bag-ql-o2-g1-value;
                      description
                        "ITU-T Option 2, generation 1 value";
                    }
    
                    leaf option2-generation2-value {
                      when
                        "../quality-level-option = 'option2-generation2'" {
                        description
                          "../QualityLevelOption = 'Option2Generation2'";
                      }
                      type Fsync-bag-ql-o2-g2-value;
                      description
                        "ITU-T Option 2, generation 2 value";
                    }
                  }  // container quality-level-damped
    
                  container quality-level-effective-input {
                    description
                      "The effective input quality level";
                    leaf quality-level-option {
                      type Fsync-bag-ql-option;
                      description
                        "QualityLevelOption";
                    }
    
                    leaf option1-value {
                      when
                        "../quality-level-option = 'option1'" {
                        description
                          "../QualityLevelOption = 'Option1'";
                      }
                      type Fsync-bag-ql-o1-value;
                      description
                        "ITU-T Option 1 QL value";
                    }
    
                    leaf option2-generation1-value {
                      when
                        "../quality-level-option = 'option2-generation1'" {
                        description
                          "../QualityLevelOption = 'Option2Generation1'";
                      }
                      type Fsync-bag-ql-o2-g1-value;
                      description
                        "ITU-T Option 2, generation 1 value";
                    }
    
                    leaf option2-generation2-value {
                      when
                        "../quality-level-option = 'option2-generation2'" {
                        description
                          "../QualityLevelOption = 'Option2Generation2'";
                      }
                      type Fsync-bag-ql-o2-g2-value;
                      description
                        "ITU-T Option 2, generation 2 value";
                    }
                  }  // container quality-level-effective-input
    
                  container quality-level-effective-output {
                    description
                      "The effective output quality level";
                    leaf quality-level-option {
                      type Fsync-bag-ql-option;
                      description
                        "QualityLevelOption";
                    }
    
                    leaf option1-value {
                      when
                        "../quality-level-option = 'option1'" {
                        description
                          "../QualityLevelOption = 'Option1'";
                      }
                      type Fsync-bag-ql-o1-value;
                      description
                        "ITU-T Option 1 QL value";
                    }
    
                    leaf option2-generation1-value {
                      when
                        "../quality-level-option = 'option2-generation1'" {
                        description
                          "../QualityLevelOption = 'Option2Generation1'";
                      }
                      type Fsync-bag-ql-o2-g1-value;
                      description
                        "ITU-T Option 2, generation 1 value";
                    }
    
                    leaf option2-generation2-value {
                      when
                        "../quality-level-option = 'option2-generation2'" {
                        description
                          "../QualityLevelOption = 'Option2Generation2'";
                      }
                      type Fsync-bag-ql-o2-g2-value;
                      description
                        "ITU-T Option 2, generation 2 value";
                    }
                  }  // container quality-level-effective-output
    
                  container quality-level-selected-source {
                    description
                      "The quality level of the source driving this
    interface";
                    leaf quality-level-option {
                      type Fsync-bag-ql-option;
                      description
                        "QualityLevelOption";
                    }
    
                    leaf option1-value {
                      when
                        "../quality-level-option = 'option1'" {
                        description
                          "../QualityLevelOption = 'Option1'";
                      }
                      type Fsync-bag-ql-o1-value;
                      description
                        "ITU-T Option 1 QL value";
                    }
    
                    leaf option2-generation1-value {
                      when
                        "../quality-level-option = 'option2-generation1'" {
                        description
                          "../QualityLevelOption = 'Option2Generation1'";
                      }
                      type Fsync-bag-ql-o2-g1-value;
                      description
                        "ITU-T Option 2, generation 1 value";
                    }
    
                    leaf option2-generation2-value {
                      when
                        "../quality-level-option = 'option2-generation2'" {
                        description
                          "../QualityLevelOption = 'Option2Generation2'";
                      }
                      type Fsync-bag-ql-o2-g2-value;
                      description
                        "ITU-T Option 2, generation 2 value";
                    }
                  }  // container quality-level-selected-source
    
                  leaf state {
                    type Fsync-bag-source-state;
                    description "Clock state";
                  }
    
                  leaf down-reason {
                    type Fsync-bag-optional-string;
                    description
                      "Why the clock is down";
                  }
    
                  leaf description {
                    type string;
                    description
                      "Clock description";
                  }
    
                  leaf priority {
                    type Fsync-pri;
                    description "Priority";
                  }
    
                  leaf time-of-day-priority {
                    type Fsync-time-pri;
                    description
                      "Time-of-day priority";
                  }
    
                  leaf ssm-support {
                    type boolean;
                    description
                      "The clock supports SSMs";
                  }
    
                  leaf ssm-enabled {
                    type boolean;
                    description
                      "The clock output is squelched";
                  }
    
                  leaf loopback {
                    type boolean;
                    description
                      "The clock is looped back";
                  }
    
                  leaf selection-input {
                    type boolean;
                    description
                      "The clock is an input for selection";
                  }
    
                  leaf squelched {
                    type boolean;
                    description
                      "The clock output is squelched";
                  }
    
                  leaf damping-state {
                    type Fsync-bag-damping-state;
                    description "Damping state";
                  }
    
                  leaf damping-time {
                    type uint32;
                    description
                      "Time until damping state changes in ms";
                  }
    
                  leaf input-disabled {
                    type boolean;
                    description
                      "Timing input is disabled";
                  }
    
                  leaf output-disabled {
                    type boolean;
                    description
                      "Timing output is disabled";
                  }
    
                  leaf wait-to-restore-time {
                    type uint16;
                    description
                      "Wait-to-restore time for the clock";
                  }
    
                  leaf clock-type-xr {
                    type Fsync-bag-clock-intf-class;
                    description
                      "The type of clock";
                  }
    
                  leaf supports-frequency {
                    type boolean;
                    description
                      "The PTP clock supports frequency";
                  }
    
                  leaf supports-time-of-day {
                    type boolean;
                    description
                      "The PTP clock supports time";
                  }
    
                  list spa-selection-point {
                    description
                      "Spa selection points";
                    leaf selection-point {
                      type Fsync-selection-point-type;
                      description
                        "Selection point ID";
                    }
    
                    leaf selection-point-description {
                      type Fsync-bag-selection-point-desc;
                      description
                        "Selection point description";
                    }
                  }  // list spa-selection-point
    
                  list node-selection-point {
                    description
                      "Node selection points";
                    leaf selection-point {
                      type Fsync-selection-point-type;
                      description
                        "Selection point ID";
                    }
    
                    leaf selection-point-description {
                      type Fsync-bag-selection-point-desc;
                      description
                        "Selection point description";
                    }
                  }  // list node-selection-point
                }  // list clock-data
              }  // container clock-datas
    
              container selection-point-inputs {
                description
                  "Table for selection point input operational
                 data";
                list selection-point-input {
                  description
                    "Operational data for a particular selection
                   point input";
                  leaf selection-point {
                    type uint32 {
                      range "0..4294967295";
                    }
                    description
                      "Selection point ID";
                  }
    
                  leaf stream-type {
                    type Fsync-stream;
                    description "Type of stream";
                  }
    
                  leaf source-type {
                    type Fsync-source;
                    description "Type of source";
                  }
    
                  leaf interface {
                    type xr:Interface-name;
                    description "Interface";
                  }
    
                  leaf clock-port {
                    type uint32 {
                      range "0..4294967295";
                    }
                    description "Clock port";
                  }
    
                  leaf last-node {
                    type xr:Node-id;
                    description
                      "Last node for a selection point stream";
                  }
    
                  leaf last-selection-point {
                    type uint32 {
                      range "0..4294967295";
                    }
                    description
                      "Last selection point for a selection point
                     stream";
                  }
    
                  leaf output-id {
                    type uint32 {
                      range "0..4294967295";
                    }
                    description
                      "Output ID for a selection point stream";
                  }
    
                  container input-selection-point {
                    description
                      "The selection point the input is for";
                    leaf selection-point-type {
                      type Fsync-selection-point-type;
                      description
                        "Selection point type";
                    }
    
                    leaf selection-point-description {
                      type Fsync-bag-selection-point-desc;
                      description
                        "Selection point descrption";
                    }
    
                    leaf node {
                      type xr:Node-id;
                      description "Node";
                    }
                  }  // container input-selection-point
    
                  container stream {
                    description "Stream";
                    container source-id {
                      when
                        "../stream-input = 'source-input'" {
                        description
                          "../StreamInput = 'SourceInput'";
                      }
                      description "Source ID";
                      container clock-id {
                        when
                          "../source-class = 'clock-interface-source'" {
                          description
                            "../SourceClass = 'ClockInterfaceSource'";
                        }
                        description "Clock ID";
                        leaf node {
                          type xr:Node-id;
                          description "Node";
                        }
    
                        leaf id {
                          type uint32;
                          description
                            "ID (port number for clock interface, receiver
    number for GNSS receiver)";
                        }
    
                        leaf clock-name {
                          type string {
                            length "0..144";
                          }
                          description "Name";
                        }
                      }  // container clock-id
    
                      container internal-clock-id {
                        when
                          "../source-class = 'internal-clock-source'" {
                          description
                            "../SourceClass = 'InternalClockSource'";
                        }
                        description
                          "Internal Clock ID";
                        leaf node {
                          type xr:Node-id;
                          description "Node";
                        }
    
                        leaf id {
                          type uint32;
                          description
                            "ID (port number for clock interface, receiver
    number for GNSS receiver)";
                        }
    
                        leaf clock-name {
                          type string {
                            length "0..144";
                          }
                          description "Name";
                        }
                      }  // container internal-clock-id
    
                      container gnss-receiver-id {
                        when
                          "../source-class = 'gnss-receiver'" {
                          description
                            "../SourceClass = 'GNSSReceiver'";
                        }
                        description
                          "GNSS Receiver ID";
                        leaf node {
                          type xr:Node-id;
                          description "Node";
                        }
    
                        leaf id {
                          type uint32;
                          description
                            "ID (port number for clock interface, receiver
    number for GNSS receiver)";
                        }
    
                        leaf clock-name {
                          type string {
                            length "0..144";
                          }
                          description "Name";
                        }
                      }  // container gnss-receiver-id
    
                      leaf source-class {
                        type Fsync-bag-source-class;
                        description
                          "SourceClass";
                      }
    
                      leaf ethernet-interface {
                        when
                          "../source-class = 'ethernet-interface-source'" {
                          description
                            "../SourceClass = 'EthernetInterfaceSource'";
                        }
                        type xr:Interface-name;
                        description
                          "Ethernet interface";
                      }
    
                      leaf sonet-interface {
                        when
                          "../source-class = 'sonet-interface-source'" {
                          description
                            "../SourceClass = 'SONETInterfaceSource'";
                        }
                        type xr:Interface-name;
                        description
                          "SONET interfaces";
                      }
    
                      leaf ptp-node {
                        when
                          "../source-class = 'ptp-source'" {
                          description
                            "../SourceClass = 'PTPSource'";
                        }
                        type xr:Node-id;
                        description
                          "PTP Clock Node";
                      }
    
                      leaf satellite-access-interface {
                        when
                          "../source-class = 'satellite-access-interface-source'" {
                          description
                            "../SourceClass =
    'SatelliteAccessInterfaceSource'";
                        }
                        type xr:Interface-name;
                        description
                          "Satellite Access Interface";
                      }
    
                      leaf ntp-node {
                        when
                          "../source-class = 'ntp-source'" {
                          description
                            "../SourceClass = 'NTPSource'";
                        }
                        type xr:Node-id;
                        description
                          "NTP Clock Node";
                      }
                    }  // container source-id
    
                    container selection-point-id {
                      when
                        "../stream-input = 'selection-point-input'" {
                        description
                          "../StreamInput = 'SelectionPointInput'";
                      }
                      description
                        "Selection point ID";
                      container selection-point {
                        description
                          "Last selection point";
                        leaf selection-point-type {
                          type Fsync-selection-point-type;
                          description
                            "Selection point type";
                        }
    
                        leaf selection-point-description {
                          type Fsync-bag-selection-point-desc;
                          description
                            "Selection point descrption";
                        }
    
                        leaf node {
                          type xr:Node-id;
                          description "Node";
                        }
                      }  // container selection-point
    
                      leaf output-id {
                        type Fsync-output-id;
                        description "Output ID";
                      }
                    }  // container selection-point-id
    
                    leaf stream-input {
                      type Fsync-bag-stream-input;
                      description "StreamInput";
                    }
                  }  // container stream
    
                  container original-source {
                    description
                      "Original source";
                    container clock-id {
                      when
                        "../source-class = 'clock-interface-source'" {
                        description
                          "../SourceClass = 'ClockInterfaceSource'";
                      }
                      description "Clock ID";
                      leaf node {
                        type xr:Node-id;
                        description "Node";
                      }
    
                      leaf id {
                        type uint32;
                        description
                          "ID (port number for clock interface, receiver
    number for GNSS receiver)";
                      }
    
                      leaf clock-name {
                        type string {
                          length "0..144";
                        }
                        description "Name";
                      }
                    }  // container clock-id
    
                    container internal-clock-id {
                      when
                        "../source-class = 'internal-clock-source'" {
                        description
                          "../SourceClass = 'InternalClockSource'";
                      }
                      description
                        "Internal Clock ID";
                      leaf node {
                        type xr:Node-id;
                        description "Node";
                      }
    
                      leaf id {
                        type uint32;
                        description
                          "ID (port number for clock interface, receiver
    number for GNSS receiver)";
                      }
    
                      leaf clock-name {
                        type string {
                          length "0..144";
                        }
                        description "Name";
                      }
                    }  // container internal-clock-id
    
                    container gnss-receiver-id {
                      when
                        "../source-class = 'gnss-receiver'" {
                        description
                          "../SourceClass = 'GNSSReceiver'";
                      }
                      description
                        "GNSS Receiver ID";
                      leaf node {
                        type xr:Node-id;
                        description "Node";
                      }
    
                      leaf id {
                        type uint32;
                        description
                          "ID (port number for clock interface, receiver
    number for GNSS receiver)";
                      }
    
                      leaf clock-name {
                        type string {
                          length "0..144";
                        }
                        description "Name";
                      }
                    }  // container gnss-receiver-id
    
                    leaf source-class {
                      type Fsync-bag-source-class;
                      description "SourceClass";
                    }
    
                    leaf ethernet-interface {
                      when
                        "../source-class = 'ethernet-interface-source'" {
                        description
                          "../SourceClass = 'EthernetInterfaceSource'";
                      }
                      type xr:Interface-name;
                      description
                        "Ethernet interface";
                    }
    
                    leaf sonet-interface {
                      when
                        "../source-class = 'sonet-interface-source'" {
                        description
                          "../SourceClass = 'SONETInterfaceSource'";
                      }
                      type xr:Interface-name;
                      description
                        "SONET interfaces";
                    }
    
                    leaf ptp-node {
                      when
                        "../source-class = 'ptp-source'" {
                        description
                          "../SourceClass = 'PTPSource'";
                      }
                      type xr:Node-id;
                      description
                        "PTP Clock Node";
                    }
    
                    leaf satellite-access-interface {
                      when
                        "../source-class = 'satellite-access-interface-source'" {
                        description
                          "../SourceClass =
    'SatelliteAccessInterfaceSource'";
                      }
                      type xr:Interface-name;
                      description
                        "Satellite Access Interface";
                    }
    
                    leaf ntp-node {
                      when
                        "../source-class = 'ntp-source'" {
                        description
                          "../SourceClass = 'NTPSource'";
                      }
                      type xr:Node-id;
                      description
                        "NTP Clock Node";
                    }
                  }  // container original-source
    
                  container quality-level {
                    description "Quality Level";
                    leaf quality-level-option {
                      type Fsync-bag-ql-option;
                      description
                        "QualityLevelOption";
                    }
    
                    leaf option1-value {
                      when
                        "../quality-level-option = 'option1'" {
                        description
                          "../QualityLevelOption = 'Option1'";
                      }
                      type Fsync-bag-ql-o1-value;
                      description
                        "ITU-T Option 1 QL value";
                    }
    
                    leaf option2-generation1-value {
                      when
                        "../quality-level-option = 'option2-generation1'" {
                        description
                          "../QualityLevelOption = 'Option2Generation1'";
                      }
                      type Fsync-bag-ql-o2-g1-value;
                      description
                        "ITU-T Option 2, generation 1 value";
                    }
    
                    leaf option2-generation2-value {
                      when
                        "../quality-level-option = 'option2-generation2'" {
                        description
                          "../QualityLevelOption = 'Option2Generation2'";
                      }
                      type Fsync-bag-ql-o2-g2-value;
                      description
                        "ITU-T Option 2, generation 2 value";
                    }
                  }  // container quality-level
    
                  leaf supports-frequency {
                    type boolean;
                    description
                      "The selection point input supports frequency";
                  }
    
                  leaf supports-time-of-day {
                    type boolean;
                    description
                      "The selection point input supports time-of-day";
                  }
    
                  leaf priority {
                    type Fsync-pri;
                    description "Priority";
                  }
    
                  leaf time-of-day-priority {
                    type Fsync-time-pri;
                    description
                      "Time-of-day priority";
                  }
    
                  leaf selected {
                    type boolean;
                    description
                      "The selection point input is selected";
                  }
    
                  leaf output-id-xr {
                    type Fsync-output-id;
                    description
                      "Platform output ID, if the input is selected";
                  }
    
                  leaf platform-status {
                    type Fsync-bag-stream-state;
                    description
                      "Platform status";
                  }
    
                  leaf platform-failed-reason {
                    type Fsync-bag-optional-string;
                    description
                      "Why the stream has failed";
                  }
    
                  leaf source {
                    type string {
                      length "0..144";
                    }
                    description
                      "Description of the source that this stream
    represents (if any)";
                  }
    
                  leaf stale {
                    type boolean;
                    description
                      "The stream is stale";
                  }
    
                  leaf removed {
                    type boolean;
                    description
                      "Stream has been removed as input to this SP but
    is still selected";
                  }
    
                  leaf pd-update {
                    type boolean;
                    description
                      "Stream has update that has yet to be processed";
                  }
                }  // list selection-point-input
              }  // container selection-point-inputs
    
              leaf node {
                type xr:Node-id;
                description "Node";
              }
            }  // list node
          }  // container nodes
        }  // container frequency-synchronization
      }  // module Cisco-IOS-XR-freqsync-oper
    

© 2023 YumaWorks, Inc. All rights reserved.