Cisco-IOS-XR-ptp-oper

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

  • Version: 2020-09-07

    Cisco-IOS-XR-ptp-oper@2020-09-07


    
      module Cisco-IOS-XR-ptp-oper {
    
        yang-version 1;
    
        namespace
          "http://cisco.com/ns/yang/Cisco-IOS-XR-ptp-oper";
    
        prefix ptp-oper;
    
        import Cisco-IOS-XR-types {
          prefix xr;
        }
        import cisco-semver {
          prefix semver;
        }
    
        include Cisco-IOS-XR-ptp-oper-sub1 {
          revision-date "2020-09-07";
        }
    
        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 ptp package operational data.
    
    This module contains definitions
    for the following management objects:
      ptp: PTP operational data
    
    Copyright (c) 2013-2020 by Cisco Systems, Inc.
    All rights reserved.";
    
        revision "2020-09-07" {
          description
            "Show command updates for APTS and virtual port";
        }
    
        revision "2020-02-06" {
          description
            "Added valid flags for receiver clock information, sender clock information and master entry properties.
    2019-12-18
    Added checksum related packet drop reasons and servo status enums.";
        }
    
        revision "2019-10-01" {
          description
            "Corrected enum names for servo.
    2019-09-30
    Added incompatible packet for non-negotiated setting in packet drop reasons.";
        }
    
        revision "2019-04-05" {
          description
            "Establish semantic version baseline.";
        }
    
        revision "2017-02-02" {
          description "Initial version.";
        }
    
        revision "2015-11-09" {
          description "IOS XR 6.0 revision.";
        }
    
        semver:module-version "2.2.0";
        semver:module-version "2.1.0";
        semver:module-version "2.0.0";
        semver:module-version "1.0.0";
    
        container ptp {
          config false;
          description "PTP operational data";
          container nodes {
            description
              "Table for node-specific operational data";
            list node {
              key "node-name";
              description
                "Node-specific operational data for a given node";
              container node-interface-foreign-masters {
                description
                  "Table for node foreign master clock
    operational data";
                list node-interface-foreign-master {
                  key "interface-name";
                  description
                    "Node interface foreign master clock
    operational data";
                  leaf interface-name {
                    type xr:Interface-name;
                    description "Interface name";
                  }
    
                  leaf port-number {
                    type Ptp-port-num;
                    description "Port number";
                  }
    
                  list foreign-clock {
                    description
                      "Foreign clocks received on this interface";
                    container foreign-clock {
                      description
                        "Foreign clock information";
                      container utc-offset {
                        description "UTC offset";
                        leaf current-offset {
                          type int16;
                          description
                            "Current offset";
                        }
    
                        leaf offset-valid {
                          type boolean;
                          description
                            "The current offset is valid";
                        }
                      }  // container utc-offset
    
                      container receiver {
                        description "Receiver";
                        leaf clock-id {
                          type Ptp-clock-id1;
                          description "Clock ID";
                        }
    
                        leaf port-number {
                          type Ptp-port-num;
                          description
                            "Port number";
                        }
                      }  // container receiver
    
                      container sender {
                        description "Sender";
                        leaf clock-id {
                          type Ptp-clock-id1;
                          description "Clock ID";
                        }
    
                        leaf port-number {
                          type Ptp-port-num;
                          description
                            "Port number";
                        }
                      }  // container sender
    
                      leaf clock-id {
                        type Ptp-clock-id1;
                        description "Clock ID";
                      }
    
                      leaf priority1 {
                        type Ptp-clock-priority;
                        description "Priority 1";
                      }
    
                      leaf priority2 {
                        type Ptp-clock-priority;
                        description "Priority 2";
                      }
    
                      leaf class {
                        type Ptp-clock-class;
                        description "Class";
                      }
    
                      leaf accuracy {
                        type Ptp-clock-accuracy;
                        description "Accuracy";
                      }
    
                      leaf offset-log-variance {
                        type Ptp-clock-oslv;
                        description
                          "Offset log variance";
                      }
    
                      leaf steps-removed {
                        type uint16;
                        description
                          "Steps removed";
                      }
    
                      leaf time-source {
                        type Ptp-bag-clock-time-source;
                        description
                          "Time source";
                      }
    
                      leaf frequency-traceable {
                        type boolean;
                        description
                          "The clock is frequency traceable";
                      }
    
                      leaf time-traceable {
                        type boolean;
                        description
                          "The clock is time traceable";
                      }
    
                      leaf timescale {
                        type Ptp-bag-clock-timescale;
                        description "Timescale";
                      }
    
                      leaf leap-seconds {
                        type Ptp-bag-clock-leap-seconds;
                        units "second";
                        description
                          "Leap Seconds";
                      }
    
                      leaf is-receiver-valid {
                        type boolean;
                        description
                          "Is the receiver information valid";
                      }
    
                      leaf is-sender-valid {
                        type boolean;
                        description
                          "Is the sender information valid";
                      }
    
                      leaf local {
                        type boolean;
                        description
                          "The clock is the local clock";
                      }
    
                      leaf configured-clock-class {
                        type Ptp-clock-class;
                        description
                          "The configured clock class";
                      }
    
                      leaf configured-priority {
                        type Ptp-clock-priority;
                        description
                          "The configured priority";
                      }
                    }  // container foreign-clock
    
                    container address {
                      description
                        "The address of the clock";
                      container mac-address {
                        when
                          "../encapsulation = 'ethernet'" {
                          description
                            "../Encapsulation = 'Ethernet'";
                        }
                        description
                          "Ethernet MAC address";
                        leaf macaddr {
                          type yang:mac-address;
                          description "macaddr";
                        }
                      }  // container mac-address
    
                      container ipv6-address {
                        when
                          "../encapsulation = 'ipv6'" {
                          description
                            "../Encapsulation = 'IPv6'";
                        }
                        description
                          "IPv6 address";
                        leaf ipv6-address {
                          type Bag-in6-addr;
                          description
                            "IPv6 Address";
                        }
                      }  // container ipv6-address
    
                      leaf encapsulation {
                        type Ptp-bag-encap;
                        description
                          "Encapsulation";
                      }
    
                      leaf address-unknown {
                        when
                          "../encapsulation = 'unknown'" {
                          description
                            "../Encapsulation = 'Unknown'";
                        }
                        type boolean;
                        description
                          "Unknown address type";
                      }
    
                      leaf ipv4-address {
                        when
                          "../encapsulation = 'ipv4'" {
                          description
                            "../Encapsulation = 'IPv4'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 address";
                      }
                    }  // container address
    
                    container announce-grant {
                      description
                        "Unicast grant information for announce messages";
                      leaf log-grant-interval {
                        type int8;
                        description
                          "Log of the interval which has been granted";
                      }
    
                      leaf grant-duration {
                        type uint32;
                        description
                          "Duraction of the grant";
                      }
                    }  // container announce-grant
    
                    container sync-grant {
                      description
                        "Unicast grant information for sync messages";
                      leaf log-grant-interval {
                        type int8;
                        description
                          "Log of the interval which has been granted";
                      }
    
                      leaf grant-duration {
                        type uint32;
                        description
                          "Duraction of the grant";
                      }
                    }  // container sync-grant
    
                    container delay-response-grant {
                      description
                        "Unicast grant information for delay-response
    messages";
                      leaf log-grant-interval {
                        type int8;
                        description
                          "Log of the interval which has been granted";
                      }
    
                      leaf grant-duration {
                        type uint32;
                        description
                          "Duraction of the grant";
                      }
                    }  // container delay-response-grant
    
                    leaf is-qualified {
                      type boolean;
                      description
                        "The clock is qualified for best master clock
    selection";
                    }
    
                    leaf is-grandmaster {
                      type boolean;
                      description
                        "This clock is the currently selected grand
    master clock";
                    }
    
                    leaf communication-model {
                      type Ptp-bag-communication-model;
                      description
                        "The communication model configured on this clock";
                    }
    
                    leaf is-known {
                      type boolean;
                      description
                        "This clock is known by this router";
                    }
    
                    leaf time-known-for {
                      type uint32;
                      units "second";
                      description
                        "How long the clock has been known by this router
    for, in seconds";
                    }
    
                    leaf foreign-domain {
                      type Ptp-domain-num;
                      description
                        "The PTP domain that the foreign clock is in";
                    }
    
                    leaf configured-priority {
                      type Ptp-clock-priority;
                      description
                        "Priority configured for the clock, if any";
                    }
    
                    leaf configured-clock-class {
                      type Ptp-clock-class;
                      description
                        "Clock class configured for the clock, if any";
                    }
    
                    leaf delay-asymmetry {
                      type Ptp-delay-asymmetry;
                      description
                        "Delay asymmetry configured for the clock, if any";
                    }
    
                    leaf ptsf-loss-announce {
                      type boolean;
                      description
                        "Announced messages are not being received from
    the master";
                    }
    
                    leaf ptsf-loss-sync {
                      type boolean;
                      description
                        "Sync messages are not being received from the
    master";
                    }
    
                    leaf is-dnu {
                      type boolean;
                      description
                        "The clock has clock class corresponding to
    QL-DNU";
                    }
                  }  // list foreign-clock
                }  // list node-interface-foreign-master
              }  // container node-interface-foreign-masters
    
              container summary {
                description
                  "Node summary operational data";
                leaf port-state-init-count {
                  type uint32;
                  description
                    "Number of interfaces in 'Init' port state";
                }
    
                leaf port-state-listening-count {
                  type uint32;
                  description
                    "Number of interfaces in 'Listening' port state";
                }
    
                leaf port-state-passive-count {
                  type uint32;
                  description
                    "Number of interfaces in 'Passive' port state";
                }
    
                leaf port-state-pre-master-count {
                  type uint32;
                  description
                    "Number of interfaces in 'Pre-Master' port state";
                }
    
                leaf port-state-master-count {
                  type uint32;
                  description
                    "Number of interfaces in 'Master' port state";
                }
    
                leaf port-state-slave-count {
                  type uint32;
                  description
                    "Number of interfaces in 'Slave' port state";
                }
    
                leaf port-state-uncalibrated-count {
                  type uint32;
                  description
                    "Number of interfaces in 'Uncalibrated port state";
                }
    
                leaf port-state-faulty-count {
                  type uint32;
                  description
                    "Number of interfaces in 'Faulty' port state";
                }
    
                leaf total-interfaces {
                  type uint32;
                  description
                    "Total number of interfaces";
                }
    
                leaf total-interfaces-valid-port-num {
                  type uint32;
                  description
                    "Total number of interfaces with a valid port
    number";
                }
              }  // container summary
    
              container node-interfaces {
                description
                  "Table for node interface operational data";
                list node-interface {
                  key "interface-name";
                  description
                    "Node interface operational data";
                  leaf interface-name {
                    type xr:Interface-name;
                    description "Interface name";
                  }
    
                  container ipv6-address-array {
                    description
                      "List of Ipv6 addresses, if IPv6 encapsulation is
    being used. If a source address is configured,
    this is the only item in the list";
                    leaf-list addr {
                      type Bag-in6-addr;
                      description
                        "List of IPv6 addresses";
                    }
                  }  // container ipv6-address-array
    
                  container ipv4-address-array {
                    description
                      "List of IPv4 addresses, if IPv4 encapsulation is
    being used. The first address is the primary
    address. If a source address is configured, this
    is the only item in the list.";
                    leaf-list addr {
                      type inet:ipv4-address;
                      description
                        "List of IPv4 addresses";
                    }
                  }  // container ipv4-address-array
    
                  container mac-address {
                    description
                      "MAC address, if Ethernet encapsulation is being
    used";
                    leaf macaddr {
                      type yang:mac-address;
                      description "macaddr";
                    }
                  }  // container mac-address
    
                  container ingress-conversion {
                    description
                      "Details of any ingress conversion";
                    leaf priority1 {
                      type Ptp-clock-priority;
                      description "Priority 1";
                    }
    
                    leaf priority2 {
                      type Ptp-clock-priority;
                      description "Priority 2";
                    }
    
                    leaf accuracy {
                      type Ptp-clock-accuracy;
                      description "Accuracy";
                    }
    
                    leaf class-default {
                      type Ptp-clock-class;
                      description
                        "Class Default";
                    }
    
                    leaf offset-log-variance {
                      type Ptp-clock-oslv;
                      description
                        "Offset log variance";
                    }
    
                    list class-mapping {
                      description
                        "Class Mapping";
                      leaf from-clock-class {
                        type Ptp-clock-class;
                        description
                          "From clock class";
                      }
    
                      leaf to-clock-class {
                        type Ptp-clock-class;
                        description
                          "To clock class";
                      }
                    }  // list class-mapping
                  }  // container ingress-conversion
    
                  container egress-conversion {
                    description
                      "Details of any egress conversion";
                    leaf priority1 {
                      type Ptp-clock-priority;
                      description "Priority 1";
                    }
    
                    leaf priority2 {
                      type Ptp-clock-priority;
                      description "Priority 2";
                    }
    
                    leaf accuracy {
                      type Ptp-clock-accuracy;
                      description "Accuracy";
                    }
    
                    leaf class-default {
                      type Ptp-clock-class;
                      description
                        "Class Default";
                    }
    
                    leaf offset-log-variance {
                      type Ptp-clock-oslv;
                      description
                        "Offset log variance";
                    }
    
                    list class-mapping {
                      description
                        "Class Mapping";
                      leaf from-clock-class {
                        type Ptp-clock-class;
                        description
                          "From clock class";
                      }
    
                      leaf to-clock-class {
                        type Ptp-clock-class;
                        description
                          "To clock class";
                      }
                    }  // list class-mapping
                  }  // container egress-conversion
    
                  leaf port-state {
                    type Ptp-bag-port-state;
                    description "Port state";
                  }
    
                  leaf port-number {
                    type Ptp-port-num;
                    description "Port number";
                  }
    
                  leaf line-state {
                    type Im-state-enum;
                    description "Line state";
                  }
    
                  leaf interface-type {
                    type string;
                    description "Interface Type";
                  }
    
                  leaf encapsulation {
                    type Ptp-bag-encap;
                    description "Encapsulation";
                  }
    
                  leaf ipv6-address {
                    type Bag-in6-addr;
                    description
                      "Ipv6 source address for interface running PTP,
    if IPv6 encapsulation is being used";
                  }
    
                  leaf ipv4-address {
                    type inet:ipv4-address;
                    description
                      "IPv4 source address for interface running PTP,
    if IPv4 encapsulation is being used";
                  }
    
                  leaf two-step {
                    type boolean;
                    description
                      "Two step delay-request mechanism is being used";
                  }
    
                  leaf communication-model {
                    type Ptp-bag-communication-model;
                    description
                      "Communication model configured on the interface";
                  }
    
                  leaf log-sync-interval {
                    type int32;
                    description
                      "Log of the interface's sync interval";
                  }
    
                  leaf log-announce-interval {
                    type int32;
                    description
                      "Log of the interface's announce interval";
                  }
    
                  leaf announce-timeout {
                    type uint32;
                    description
                      "Announce timeout";
                  }
    
                  leaf log-min-delay-request-interval {
                    type int32;
                    description
                      "Log of the interface's Minimum delay-request
    interval";
                  }
    
                  leaf configured-port-state {
                    type Ptp-bag-restrict-port-state;
                    description
                      "The configured port state";
                  }
    
                  leaf supports-unicast {
                    type boolean;
                    description
                      "The interface supports unicast";
                  }
    
                  leaf supports-master {
                    type boolean;
                    description
                      "The interface supports operation in master mode";
                  }
    
                  leaf supports-one-step {
                    type boolean;
                    description
                      "The interface supports one-step operation";
                  }
    
                  leaf supports-two-step {
                    type boolean;
                    description
                      "The interface supports two-step operation";
                  }
    
                  leaf supports-ethernet {
                    type boolean;
                    description
                      "The interface supports ethernet transport";
                  }
    
                  leaf supports-multicast {
                    type boolean;
                    description
                      "The interface supports multicast";
                  }
    
                  leaf supports-ipv4 {
                    type boolean;
                    description
                      "The interface supports IPv4 transport";
                  }
    
                  leaf supports-ipv6 {
                    type boolean;
                    description
                      "The interface supports IPv6 transport";
                  }
    
                  leaf supports-slave {
                    type boolean;
                    description
                      "The interface supports operation in slave mode";
                  }
    
                  leaf supports-source-ip {
                    type boolean;
                    description
                      "The interface supports source ip configuration";
                  }
    
                  leaf max-sync-rate {
                    type uint8;
                    description
                      "The maximum rate of sync packets on the
    interface";
                  }
    
                  leaf event-cos {
                    type uint32;
                    description
                      "The class of service used on the interface for
    event messages";
                  }
    
                  leaf general-cos {
                    type uint32;
                    description
                      "The class of service used on the interface for
    general messages";
                  }
    
                  leaf event-dscp {
                    type uint32;
                    description
                      "The DSCP class used on the interface for event
    messages";
                  }
    
                  leaf general-dscp {
                    type uint32;
                    description
                      "The DSCP class used on the interface for general
    messages";
                  }
    
                  leaf unicast-peers {
                    type uint32;
                    description
                      "The number of unicast peers known by the
    interface";
                  }
    
                  leaf local-priority {
                    type uint8;
                    description
                      "Local priority, for the G.8275.1 PTP profile";
                  }
    
                  leaf signal-fail {
                    type boolean;
                    description
                      "Signal fail status of the interface";
                  }
    
                  leaf profile-interop {
                    type boolean;
                    description
                      "Indicate whether profile interop is in use";
                  }
    
                  leaf supports-bvi-slave {
                    type boolean;
                    description
                      "The node supports BVI interfaces as Slaves";
                  }
    
                  leaf interop-domain {
                    type Ptp-domain-num;
                    description
                      "The PTP domain that is being interoperated with";
                  }
    
                  leaf interop-profile {
                    type Ptp-bag-profile;
                    description
                      "Profile that is being interoperated with";
                  }
    
                  list master-table {
                    description
                      "The interface's master table";
                    container address {
                      description
                        "The address of the master clock";
                      container mac-address {
                        when
                          "../encapsulation = 'ethernet'" {
                          description
                            "../Encapsulation = 'Ethernet'";
                        }
                        description
                          "Ethernet MAC address";
                        leaf macaddr {
                          type yang:mac-address;
                          description "macaddr";
                        }
                      }  // container mac-address
    
                      container ipv6-address {
                        when
                          "../encapsulation = 'ipv6'" {
                          description
                            "../Encapsulation = 'IPv6'";
                        }
                        description
                          "IPv6 address";
                        leaf ipv6-address {
                          type Bag-in6-addr;
                          description
                            "IPv6 Address";
                        }
                      }  // container ipv6-address
    
                      leaf encapsulation {
                        type Ptp-bag-encap;
                        description
                          "Encapsulation";
                      }
    
                      leaf address-unknown {
                        when
                          "../encapsulation = 'unknown'" {
                          description
                            "../Encapsulation = 'Unknown'";
                        }
                        type boolean;
                        description
                          "Unknown address type";
                      }
    
                      leaf ipv4-address {
                        when
                          "../encapsulation = 'ipv4'" {
                          description
                            "../Encapsulation = 'IPv4'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 address";
                      }
                    }  // container address
    
                    leaf communication-model {
                      type Ptp-bag-communication-model;
                      description
                        "The configured communication model of the master
    clock";
                    }
    
                    leaf priority {
                      type uint8;
                      description
                        "The priority of the master clock, if it is set";
                    }
    
                    leaf known {
                      type boolean;
                      description
                        "Whether the interface is receiving messages from
    this master";
                    }
    
                    leaf is-knownvalid {
                      type boolean;
                      description
                        "Does the known boolean contain valid information";
                    }
    
                    leaf qualified {
                      type boolean;
                      description
                        "The master is qualified for best master clock
    selection";
                    }
    
                    leaf is-qualified-valid {
                      type boolean;
                      description
                        "Does the Qualified boolean contain valid
    information";
                    }
    
                    leaf is-grandmaster {
                      type boolean;
                      description
                        "Whether this is the grandmaster";
                    }
    
                    leaf is-is-grandmaster-valid {
                      type boolean;
                      description
                        "Does the IsGrandmaster boolean contain valid
    information";
                    }
    
                    leaf ptsf-loss-announce {
                      type uint8;
                      description
                        "Announced messages are not being received from
    the master";
                    }
    
                    leaf ptsf-loss-sync {
                      type uint8;
                      description
                        "Sync messages are not being received from the
    master";
                    }
    
                    leaf are-ptsf-valid {
                      type boolean;
                      description
                        "Do the PTSF values contain valid information";
                    }
    
                    leaf is-nonnegotiated {
                      type boolean;
                      description
                        "Whether this master uses non-negotiated unicast";
                    }
                  }  // list master-table
                }  // list node-interface
              }  // container node-interfaces
    
              container node-interface-unicast-peers {
                description
                  "Table for node unicast peers operational data";
                list node-interface-unicast-peer {
                  key "interface-name";
                  description
                    "Node interface unicast peers operational data";
                  leaf interface-name {
                    type xr:Interface-name;
                    description "Interface name";
                  }
    
                  leaf name {
                    type string;
                    description "Interface name";
                  }
    
                  leaf port-number {
                    type Ptp-port-num;
                    description "Port number";
                  }
    
                  list peers {
                    description "Unicast Peers";
                    container address {
                      description
                        "The address of the unicast peer";
                      container mac-address {
                        when
                          "../encapsulation = 'ethernet'" {
                          description
                            "../Encapsulation = 'Ethernet'";
                        }
                        description
                          "Ethernet MAC address";
                        leaf macaddr {
                          type yang:mac-address;
                          description "macaddr";
                        }
                      }  // container mac-address
    
                      container ipv6-address {
                        when
                          "../encapsulation = 'ipv6'" {
                          description
                            "../Encapsulation = 'IPv6'";
                        }
                        description
                          "IPv6 address";
                        leaf ipv6-address {
                          type Bag-in6-addr;
                          description
                            "IPv6 Address";
                        }
                      }  // container ipv6-address
    
                      leaf encapsulation {
                        type Ptp-bag-encap;
                        description
                          "Encapsulation";
                      }
    
                      leaf address-unknown {
                        when
                          "../encapsulation = 'unknown'" {
                          description
                            "../Encapsulation = 'Unknown'";
                        }
                        type boolean;
                        description
                          "Unknown address type";
                      }
    
                      leaf ipv4-address {
                        when
                          "../encapsulation = 'ipv4'" {
                          description
                            "../Encapsulation = 'IPv4'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 address";
                      }
                    }  // container address
    
                    container announce-grant {
                      description
                        "Unicast grant information for announce messages";
                      leaf log-grant-interval {
                        type int8;
                        description
                          "Log of the interval which has been granted";
                      }
    
                      leaf grant-duration {
                        type uint32;
                        description
                          "Duraction of the grant";
                      }
                    }  // container announce-grant
    
                    container sync-grant {
                      description
                        "Unicast grant information for sync messages";
                      leaf log-grant-interval {
                        type int8;
                        description
                          "Log of the interval which has been granted";
                      }
    
                      leaf grant-duration {
                        type uint32;
                        description
                          "Duraction of the grant";
                      }
                    }  // container sync-grant
    
                    container delay-response-grant {
                      description
                        "Unicast grant information for delay-response
    messages";
                      leaf log-grant-interval {
                        type int8;
                        description
                          "Log of the interval which has been granted";
                      }
    
                      leaf grant-duration {
                        type uint32;
                        description
                          "Duraction of the grant";
                      }
                    }  // container delay-response-grant
                  }  // list peers
    
                  list foreign-master {
                    description
                      "Unicast Foreign Masters";
                    container address {
                      description
                        "The address of the unicast peer";
                      container mac-address {
                        when
                          "../encapsulation = 'ethernet'" {
                          description
                            "../Encapsulation = 'Ethernet'";
                        }
                        description
                          "Ethernet MAC address";
                        leaf macaddr {
                          type yang:mac-address;
                          description "macaddr";
                        }
                      }  // container mac-address
    
                      container ipv6-address {
                        when
                          "../encapsulation = 'ipv6'" {
                          description
                            "../Encapsulation = 'IPv6'";
                        }
                        description
                          "IPv6 address";
                        leaf ipv6-address {
                          type Bag-in6-addr;
                          description
                            "IPv6 Address";
                        }
                      }  // container ipv6-address
    
                      leaf encapsulation {
                        type Ptp-bag-encap;
                        description
                          "Encapsulation";
                      }
    
                      leaf address-unknown {
                        when
                          "../encapsulation = 'unknown'" {
                          description
                            "../Encapsulation = 'Unknown'";
                        }
                        type boolean;
                        description
                          "Unknown address type";
                      }
    
                      leaf ipv4-address {
                        when
                          "../encapsulation = 'ipv4'" {
                          description
                            "../Encapsulation = 'IPv4'";
                        }
                        type inet:ipv4-address;
                        description
                          "IPv4 address";
                      }
                    }  // container address
    
                    container announce-grant {
                      description
                        "Unicast grant information for announce messages";
                      leaf log-grant-interval {
                        type int8;
                        description
                          "Log of the interval which has been granted";
                      }
    
                      leaf grant-duration {
                        type uint32;
                        description
                          "Duraction of the grant";
                      }
                    }  // container announce-grant
    
                    container sync-grant {
                      description
                        "Unicast grant information for sync messages";
                      leaf log-grant-interval {
                        type int8;
                        description
                          "Log of the interval which has been granted";
                      }
    
                      leaf grant-duration {
                        type uint32;
                        description
                          "Duraction of the grant";
                      }
                    }  // container sync-grant
    
                    container delay-response-grant {
                      description
                        "Unicast grant information for delay-response
    messages";
                      leaf log-grant-interval {
                        type int8;
                        description
                          "Log of the interval which has been granted";
                      }
    
                      leaf grant-duration {
                        type uint32;
                        description
                          "Duraction of the grant";
                      }
                    }  // container delay-response-grant
                  }  // list foreign-master
                }  // list node-interface-unicast-peer
              }  // container node-interface-unicast-peers
    
              container packet-counters {
                description
                  "Node packet counter operational data";
                container counters {
                  description "Packet counters";
                  leaf announce-sent {
                    type uint32;
                    description
                      "Number of announce packets sent";
                  }
    
                  leaf announce-received {
                    type uint32;
                    description
                      "Number of announce packets received";
                  }
    
                  leaf announce-dropped {
                    type uint32;
                    description
                      "Number of announce packets dropped";
                  }
    
                  leaf sync-sent {
                    type uint32;
                    description
                      "Number of sync packets sent";
                  }
    
                  leaf sync-received {
                    type uint32;
                    description
                      "Number of sync packets received";
                  }
    
                  leaf sync-dropped {
                    type uint32;
                    description
                      "Number of sync packetsdropped";
                  }
    
                  leaf follow-up-sent {
                    type uint32;
                    description
                      "Number of follow-up packets sent";
                  }
    
                  leaf follow-up-received {
                    type uint32;
                    description
                      "Number of follow-up packets received";
                  }
    
                  leaf follow-up-dropped {
                    type uint32;
                    description
                      "Number of follow-up packets dropped";
                  }
    
                  leaf delay-request-sent {
                    type uint32;
                    description
                      "Number of delay-request packets sent";
                  }
    
                  leaf delay-request-received {
                    type uint32;
                    description
                      "Number of delay-request packets received";
                  }
    
                  leaf delay-request-dropped {
                    type uint32;
                    description
                      "Number of delay-request packets dropped";
                  }
    
                  leaf delay-response-sent {
                    type uint32;
                    description
                      "Number of delay-response packets sent";
                  }
    
                  leaf delay-response-received {
                    type uint32;
                    description
                      "Number of delay-response packets received";
                  }
    
                  leaf delay-response-dropped {
                    type uint32;
                    description
                      "Number of delay-response packets dropped";
                  }
    
                  leaf peer-delay-request-sent {
                    type uint32;
                    description
                      "Number of peer-delay-request packets sent";
                  }
    
                  leaf peer-delay-request-received {
                    type uint32;
                    description
                      "Number of peer-delay-request packets received";
                  }
    
                  leaf peer-delay-request-dropped {
                    type uint32;
                    description
                      "Number of peer-delay-request packets dropped";
                  }
    
                  leaf peer-delay-response-sent {
                    type uint32;
                    description
                      "Number of peer-delay-response packets sent";
                  }
    
                  leaf peer-delay-response-received {
                    type uint32;
                    description
                      "Number of peer-delay-response packets received";
                  }
    
                  leaf peer-delay-response-dropped {
                    type uint32;
                    description
                      "Number of peer-delay-response packets dropped";
                  }
    
                  leaf peer-delay-response-follow-up-sent {
                    type uint32;
                    description
                      "Number of peer-delay-response follow-up packets
    sent";
                  }
    
                  leaf peer-delay-response-follow-up-received {
                    type uint32;
                    description
                      "Number of peer-delay-response follow-up packets
    received";
                  }
    
                  leaf peer-delay-response-follow-up-dropped {
                    type uint32;
                    description
                      "Number of peer-delay-response follow-up packets
    dropped";
                  }
    
                  leaf signaling-sent {
                    type uint32;
                    description
                      "Number of signaling packets sent";
                  }
    
                  leaf signaling-received {
                    type uint32;
                    description
                      "Number of signaling packets received";
                  }
    
                  leaf signaling-dropped {
                    type uint32;
                    description
                      "Number of signaling packets dropped";
                  }
    
                  leaf management-sent {
                    type uint32;
                    description
                      "Number of management messages sent";
                  }
    
                  leaf management-received {
                    type uint32;
                    description
                      "Number of management messages received";
                  }
    
                  leaf management-dropped {
                    type uint32;
                    description
                      "Number of management messages dropped";
                  }
    
                  leaf other-packets-sent {
                    type uint32;
                    description
                      "Number of other packets sent";
                  }
    
                  leaf other-packets-received {
                    type uint32;
                    description
                      "Number of other packets received";
                  }
    
                  leaf other-packets-dropped {
                    type uint32;
                    description
                      "Number of other packets dropped";
                  }
    
                  leaf total-packets-sent {
                    type uint32;
                    description
                      "Total number of packets sent";
                  }
    
                  leaf total-packets-received {
                    type uint32;
                    description
                      "Total number of packets received";
                  }
    
                  leaf total-packets-dropped {
                    type uint32;
                    description
                      "Total number of packets dropped";
                  }
                }  // container counters
    
                container drop-reasons {
                  description "Drop reasons";
                  leaf not-ready {
                    type uint32;
                    description
                      "Not ready for packets";
                  }
    
                  leaf wrong-domain {
                    type uint32;
                    description
                      "Wrong domain number";
                  }
    
                  leaf too-short {
                    type uint32;
                    description
                      "Packet too short";
                  }
    
                  leaf looped-same-port {
                    type uint32;
                    description
                      "Local packet received, same port number";
                  }
    
                  leaf looped-higher-port {
                    type uint32;
                    description
                      "Local packet received, higher port number";
                  }
    
                  leaf looped-lower-port {
                    type uint32;
                    description
                      "Local packet received, lower port number";
                  }
    
                  leaf no-timestamp {
                    type uint32;
                    description
                      "No timestamp received with packet";
                  }
    
                  leaf zero-timestamp {
                    type uint32;
                    description
                      "Zero timestamp received with packet";
                  }
    
                  leaf invalid-tl-vs {
                    type uint32;
                    description
                      "Invalid TLVs received in packet";
                  }
    
                  leaf not-for-us {
                    type uint32;
                    description
                      "Packet not for us";
                  }
    
                  leaf not-listening {
                    type uint32;
                    description
                      "Not listening for packets on this interface";
                  }
    
                  leaf wrong-master {
                    type uint32;
                    description
                      "Packet from incorrect master";
                  }
    
                  leaf unknown-master {
                    type uint32;
                    description
                      "Packet from unknown master";
                  }
    
                  leaf not-master {
                    type uint32;
                    description
                      "Packet only handled in Master state";
                  }
    
                  leaf not-slave {
                    type uint32;
                    description
                      "Packet only handled in Slave state";
                  }
    
                  leaf not-granted {
                    type uint32;
                    description
                      "Packet from peer not granted unicast";
                  }
    
                  leaf too-slow {
                    type uint32;
                    description
                      "Packet received too late";
                  }
    
                  leaf invalid-packet {
                    type uint32;
                    description
                      "Invalid packet or packet metadata";
                  }
    
                  leaf wrong-sequence-id {
                    type uint32;
                    description
                      "Unexpected sequence ID";
                  }
    
                  leaf no-offload-session {
                    type uint32;
                    description
                      "No offload session";
                  }
    
                  leaf not-supported {
                    type uint32;
                    description
                      "PTP packet type not supported";
                  }
    
                  leaf min-clock-class {
                    type uint32;
                    description
                      "Clock class below minimum";
                  }
    
                  leaf bad-clock-class {
                    type uint32;
                    description
                      "Illegal clock class (255) in announce messages";
                  }
    
                  leaf reserved-clock-id {
                    type uint32;
                    description
                      "Reserved Clock ID";
                  }
    
                  leaf steps-removed {
                    type uint32;
                    description
                      "Steps removed too high";
                  }
    
                  leaf g8265-1-incompatible {
                    type uint32;
                    description
                      "Packet not compatible with G.8265.1 profile";
                  }
    
                  leaf g8275-1-incompatible {
                    type uint32;
                    description
                      "Packet not compatible with G.8275.1 profile";
                  }
    
                  leaf g8275-2-incompatible {
                    type uint32;
                    description
                      "Packet not compatible with G.8275.2 profile";
                  }
    
                  leaf incorrect-address {
                    type uint32;
                    description
                      "Packet sent to incorrect address";
                  }
    
                  leaf non-negotiated {
                    type uint32;
                    description
                      "Packet not compatible with non-negotiated";
                  }
    
                  leaf verify-checksum-failed {
                    type uint32;
                    description
                      "Packet IPv6 UDP checksum check failed";
                  }
    
                  leaf ipv4-verify-checksum {
                    type uint32;
                    description
                      "IPv4 packet has corrupted checksum";
                  }
                }  // container drop-reasons
              }  // container packet-counters
    
              leaf node-name {
                type xr:Node-id;
                description "Node";
              }
            }  // list node
          }  // container nodes
    
          container summary {
            description
              "Summary operational data";
            leaf port-state-init-count {
              type uint32;
              description
                "Number of interfaces in 'Init' port state";
            }
    
            leaf port-state-listening-count {
              type uint32;
              description
                "Number of interfaces in 'Listening' port state";
            }
    
            leaf port-state-passive-count {
              type uint32;
              description
                "Number of interfaces in 'Passive' port state";
            }
    
            leaf port-state-pre-master-count {
              type uint32;
              description
                "Number of interfaces in 'Pre-Master' port state";
            }
    
            leaf port-state-master-count {
              type uint32;
              description
                "Number of interfaces in 'Master' port state";
            }
    
            leaf port-state-slave-count {
              type uint32;
              description
                "Number of interfaces in 'Slave' port state";
            }
    
            leaf port-state-uncalibrated-count {
              type uint32;
              description
                "Number of interfaces in 'Uncalibrated port state";
            }
    
            leaf port-state-faulty-count {
              type uint32;
              description
                "Number of interfaces in 'Faulty' port state";
            }
    
            leaf total-interfaces {
              type uint32;
              description
                "Total number of interfaces";
            }
    
            leaf total-interfaces-valid-port-num {
              type uint32;
              description
                "Total number of interfaces with a valid port
    number";
            }
          }  // container summary
    
          container interface-configuration-errors {
            description
              "Table for interface configuration error
    operational data";
            list interface-configuration-error {
              key "interface-name";
              description
                "Interface configuration error operational data";
              leaf interface-name {
                type xr:Interface-name;
                description "Interface name";
              }
    
              container configuration-errors {
                description
                  "Configuration Errors";
                leaf global-ptp {
                  type boolean;
                  description
                    "PTP enabled on interface but not globally";
                }
    
                leaf ethernet-transport {
                  type boolean;
                  description
                    "Ethernet transport configured but not supported";
                }
    
                leaf one-step {
                  type boolean;
                  description
                    "One step clock operation configured but not
    supported";
                }
    
                leaf slave {
                  type boolean;
                  description
                    "Slave-operation configured but not supported";
                }
    
                leaf ipv6 {
                  type boolean;
                  description
                    "IPv6 transport configured but not supported";
                }
    
                leaf multicast {
                  type boolean;
                  description
                    "Multicast configured but not supported";
                }
    
                leaf profile-not-global {
                  type boolean;
                  description
                    "Profile is referenced but not globally
    configured";
                }
    
                leaf local-priority {
                  type boolean;
                  description
                    "Local priority configuration is not compatible
    with profile";
                }
    
                leaf profile-ethernet {
                  type boolean;
                  description
                    "Ethernet transport is not compatible with
    profile";
                }
    
                leaf profile-ipv4 {
                  type boolean;
                  description
                    "IPv6 transport is not compatible with profile";
                }
    
                leaf profile-ipv6 {
                  type boolean;
                  description
                    "IPv6 transport is not compatible with profile";
                }
    
                leaf profile-unicast {
                  type boolean;
                  description
                    "Unicast is not compatible with profile";
                }
    
                leaf profile-multicast {
                  type boolean;
                  description
                    "Multicast is not compatible with profile";
                }
    
                leaf profile-mixed {
                  type boolean;
                  description
                    "Mixed-mode multicast is not compatible with
    profile";
                }
    
                leaf profile-master-unicast {
                  type boolean;
                  description
                    "Unicast master is not compatible with profile";
                }
    
                leaf profile-master-multicast {
                  type boolean;
                  description
                    "Multicast master is not compatible with profile";
                }
    
                leaf profile-master-mixed {
                  type boolean;
                  description
                    "Mixed-mode multicast master is not compatible
    with profile";
                }
    
                leaf target-address-ipv4 {
                  type boolean;
                  description
                    "Ethernet multicast target-address is configured,
    but transport is IPv4";
                }
    
                leaf target-address-ipv6 {
                  type boolean;
                  description
                    "Ethernet multicast target-address is configured,
    but transport is IPv6";
                }
    
                leaf ipv4ttl {
                  type boolean;
                  description
                    "IPv4 TTL value configured but transport is not
    IPv4";
                }
    
                leaf ipv6-hop-limit {
                  type boolean;
                  description
                    "IPv6 hop limit value configured but transport is
    not IPv6";
                }
    
                leaf profile-port-state {
                  type boolean;
                  description
                    "Port state restriction is not compatible with
    telecom clock type";
                }
    
                leaf profile-announce-interval {
                  type boolean;
                  description
                    "Announce interval is not compatible with profile";
                }
    
                leaf profile-sync-interval {
                  type boolean;
                  description
                    "Sync interval is not compatible with profile";
                }
    
                leaf profile-delay-req-interval {
                  type boolean;
                  description
                    "Delay request interval is not compatible with
    profile";
                }
    
                leaf profile-sync-timeout {
                  type boolean;
                  description
                    "Sync timeout configuration is not compatible
    with profile";
                }
    
                leaf profile-delay-resp-timeout {
                  type boolean;
                  description
                    "Delay response timeout configuration is not
    compatible with profile";
                }
    
                leaf invalid-grant-reduction {
                  type boolean;
                  description
                    "Reducing invalid unicast grants is not
    compatible with configured profile";
                }
    
                leaf invalid-interop-domain {
                  type boolean;
                  description
                    "Domain is not compatible with configured profile
    interop";
                }
    
                leaf invalid-interop-ingress-clock-class-default {
                  type boolean;
                  description
                    "Ingress conversion clock class default is not
    compatible with configured profile interop";
                }
    
                leaf invalid-interop-ingress-priority1 {
                  type boolean;
                  description
                    "Ingress conversion priority1 is not compatible
    with configured profile interop";
                }
    
                leaf invalid-interop-ingress-clock-accuracy {
                  type boolean;
                  description
                    "Ingress conversion clock-accuracy is not
    compatible with configured profile interop";
                }
    
                leaf invalid-interop-ingress-oslv {
                  type boolean;
                  description
                    "Ingress conversion OSLV not compatible with
    configured profile interop";
                }
    
                leaf invalid-interop-egress-clock-class-default {
                  type boolean;
                  description
                    "Egress conversion clock class default is not
    compatible with configured profile interop";
                }
    
                leaf invalid-interop-egress-priority1 {
                  type boolean;
                  description
                    "Egress conversion priority1 is not compatible
    with configured profile interop";
                }
    
                leaf invalid-interop-egress-priority2 {
                  type boolean;
                  description
                    "Egress conversion priority2 is not compatible
    with configured profile interop";
                }
    
                leaf invalid-interop-egress-clock-accuracy {
                  type boolean;
                  description
                    "Egress conversion clock-accuracy is not
    compatible with configured profile interop";
                }
    
                leaf invalid-interop-egress-oslv {
                  type boolean;
                  description
                    "Egress conversion OSLV not compatible with
    configured profile interop";
                }
    
                leaf invalid-master-config-clock-type {
                  type boolean;
                  description
                    "Master configuration is not compatible with
    configured clock-type";
                }
    
                leaf invalid-slave-config-clock-type {
                  type boolean;
                  description
                    "Slave configuration is not compatible with
    configured clock-type";
                }
    
                leaf invalid-master-config-port-state {
                  type boolean;
                  description
                    "Master configuration is not compatible with
    configured port-state";
                }
    
                leaf invalid-slave-config-port-state {
                  type boolean;
                  description
                    "Slave configuration is not compatible with
    configured port-state";
                }
    
                leaf delay-asymmetry-config-clock-type {
                  type boolean;
                  description
                    "Delay asymmetry configuration is not compatible
    with configuredclock-type";
                }
    
                leaf delay-asymmetry-config-port-state {
                  type boolean;
                  description
                    "Delay asymmetry configuration is not compatible
    with configuredport-state";
                }
    
                leaf-list invalid-interop-ingress-clock-class-map-from-val {
                  type Ptp-clock-class;
                  description
                    "List of ingress conversion clock class mapping
    'from values' that are not compatible with the
    configure profile interop";
                }
    
                leaf-list invalid-interop-ingress-clock-class-map-to-val {
                  type Ptp-clock-class;
                  description
                    "List of ingress conversion clock class mapping
    'to values' that are not compatible with the
    configure profile interop";
                }
    
                leaf-list invalid-interop-egress-clock-class-map-from-val {
                  type Ptp-clock-class;
                  description
                    "List of egress conversion clock class mapping
    'from values' that are not compatible with the
    configure profile interop";
                }
    
                leaf-list invalid-interop-egress-clock-class-map-to-val {
                  type Ptp-clock-class;
                  description
                    "List of egress conversion clock class mapping
    'to values' that are not compatible with the
    configure profile interop";
                }
              }  // container configuration-errors
    
              leaf configuration-profile-name {
                type Ptp-bag-optional-string;
                description
                  "Configuration profile name, if a profile is
    selected";
              }
    
              leaf clock-profile {
                type Ptp-bag-profile;
                description "The clock profile";
              }
    
              leaf telecom-clock-type {
                type Ptp-bag-telecom-clock;
                description
                  "The telecom clock type";
              }
    
              leaf restrict-port-state {
                type Ptp-bag-restrict-port-state;
                description
                  "Restriction on the port state";
              }
    
              leaf interop-profile {
                type Ptp-bag-profile;
                description
                  "The clock profile to interoperate with, if
    interoperation is configured";
              }
            }  // list interface-configuration-error
          }  // container interface-configuration-errors
    
          container interface-foreign-masters {
            description
              "Table for interface foreign master clock
    operational data";
            list interface-foreign-master {
              key "interface-name";
              description
                "Interface foreign master clock operational data";
              leaf interface-name {
                type xr:Interface-name;
                description "Interface name";
              }
    
              leaf port-number {
                type Ptp-port-num;
                description "Port number";
              }
    
              list foreign-clock {
                description
                  "Foreign clocks received on this interface";
                container foreign-clock {
                  description
                    "Foreign clock information";
                  container utc-offset {
                    description "UTC offset";
                    leaf current-offset {
                      type int16;
                      description
                        "Current offset";
                    }
    
                    leaf offset-valid {
                      type boolean;
                      description
                        "The current offset is valid";
                    }
                  }  // container utc-offset
    
                  container receiver {
                    description "Receiver";
                    leaf clock-id {
                      type Ptp-clock-id1;
                      description "Clock ID";
                    }
    
                    leaf port-number {
                      type Ptp-port-num;
                      description "Port number";
                    }
                  }  // container receiver
    
                  container sender {
                    description "Sender";
                    leaf clock-id {
                      type Ptp-clock-id1;
                      description "Clock ID";
                    }
    
                    leaf port-number {
                      type Ptp-port-num;
                      description "Port number";
                    }
                  }  // container sender
    
                  leaf clock-id {
                    type Ptp-clock-id1;
                    description "Clock ID";
                  }
    
                  leaf priority1 {
                    type Ptp-clock-priority;
                    description "Priority 1";
                  }
    
                  leaf priority2 {
                    type Ptp-clock-priority;
                    description "Priority 2";
                  }
    
                  leaf class {
                    type Ptp-clock-class;
                    description "Class";
                  }
    
                  leaf accuracy {
                    type Ptp-clock-accuracy;
                    description "Accuracy";
                  }
    
                  leaf offset-log-variance {
                    type Ptp-clock-oslv;
                    description
                      "Offset log variance";
                  }
    
                  leaf steps-removed {
                    type uint16;
                    description "Steps removed";
                  }
    
                  leaf time-source {
                    type Ptp-bag-clock-time-source;
                    description "Time source";
                  }
    
                  leaf frequency-traceable {
                    type boolean;
                    description
                      "The clock is frequency traceable";
                  }
    
                  leaf time-traceable {
                    type boolean;
                    description
                      "The clock is time traceable";
                  }
    
                  leaf timescale {
                    type Ptp-bag-clock-timescale;
                    description "Timescale";
                  }
    
                  leaf leap-seconds {
                    type Ptp-bag-clock-leap-seconds;
                    units "second";
                    description "Leap Seconds";
                  }
    
                  leaf is-receiver-valid {
                    type boolean;
                    description
                      "Is the receiver information valid";
                  }
    
                  leaf is-sender-valid {
                    type boolean;
                    description
                      "Is the sender information valid";
                  }
    
                  leaf local {
                    type boolean;
                    description
                      "The clock is the local clock";
                  }
    
                  leaf configured-clock-class {
                    type Ptp-clock-class;
                    description
                      "The configured clock class";
                  }
    
                  leaf configured-priority {
                    type Ptp-clock-priority;
                    description
                      "The configured priority";
                  }
                }  // container foreign-clock
    
                container address {
                  description
                    "The address of the clock";
                  container mac-address {
                    when
                      "../encapsulation = 'ethernet'" {
                      description
                        "../Encapsulation = 'Ethernet'";
                    }
                    description
                      "Ethernet MAC address";
                    leaf macaddr {
                      type yang:mac-address;
                      description "macaddr";
                    }
                  }  // container mac-address
    
                  container ipv6-address {
                    when
                      "../encapsulation = 'ipv6'" {
                      description
                        "../Encapsulation = 'IPv6'";
                    }
                    description "IPv6 address";
                    leaf ipv6-address {
                      type Bag-in6-addr;
                      description "IPv6 Address";
                    }
                  }  // container ipv6-address
    
                  leaf encapsulation {
                    type Ptp-bag-encap;
                    description "Encapsulation";
                  }
    
                  leaf address-unknown {
                    when
                      "../encapsulation = 'unknown'" {
                      description
                        "../Encapsulation = 'Unknown'";
                    }
                    type boolean;
                    description
                      "Unknown address type";
                  }
    
                  leaf ipv4-address {
                    when
                      "../encapsulation = 'ipv4'" {
                      description
                        "../Encapsulation = 'IPv4'";
                    }
                    type inet:ipv4-address;
                    description "IPv4 address";
                  }
                }  // container address
    
                container announce-grant {
                  description
                    "Unicast grant information for announce messages";
                  leaf log-grant-interval {
                    type int8;
                    description
                      "Log of the interval which has been granted";
                  }
    
                  leaf grant-duration {
                    type uint32;
                    description
                      "Duraction of the grant";
                  }
                }  // container announce-grant
    
                container sync-grant {
                  description
                    "Unicast grant information for sync messages";
                  leaf log-grant-interval {
                    type int8;
                    description
                      "Log of the interval which has been granted";
                  }
    
                  leaf grant-duration {
                    type uint32;
                    description
                      "Duraction of the grant";
                  }
                }  // container sync-grant
    
                container delay-response-grant {
                  description
                    "Unicast grant information for delay-response
    messages";
                  leaf log-grant-interval {
                    type int8;
                    description
                      "Log of the interval which has been granted";
                  }
    
                  leaf grant-duration {
                    type uint32;
                    description
                      "Duraction of the grant";
                  }
                }  // container delay-response-grant
    
                leaf is-qualified {
                  type boolean;
                  description
                    "The clock is qualified for best master clock
    selection";
                }
    
                leaf is-grandmaster {
                  type boolean;
                  description
                    "This clock is the currently selected grand
    master clock";
                }
    
                leaf communication-model {
                  type Ptp-bag-communication-model;
                  description
                    "The communication model configured on this clock";
                }
    
                leaf is-known {
                  type boolean;
                  description
                    "This clock is known by this router";
                }
    
                leaf time-known-for {
                  type uint32;
                  units "second";
                  description
                    "How long the clock has been known by this router
    for, in seconds";
                }
    
                leaf foreign-domain {
                  type Ptp-domain-num;
                  description
                    "The PTP domain that the foreign clock is in";
                }
    
                leaf configured-priority {
                  type Ptp-clock-priority;
                  description
                    "Priority configured for the clock, if any";
                }
    
                leaf configured-clock-class {
                  type Ptp-clock-class;
                  description
                    "Clock class configured for the clock, if any";
                }
    
                leaf delay-asymmetry {
                  type Ptp-delay-asymmetry;
                  description
                    "Delay asymmetry configured for the clock, if any";
                }
    
                leaf ptsf-loss-announce {
                  type boolean;
                  description
                    "Announced messages are not being received from
    the master";
                }
    
                leaf ptsf-loss-sync {
                  type boolean;
                  description
                    "Sync messages are not being received from the
    master";
                }
    
                leaf is-dnu {
                  type boolean;
                  description
                    "The clock has clock class corresponding to
    QL-DNU";
                }
              }  // list foreign-clock
            }  // list interface-foreign-master
          }  // container interface-foreign-masters
    
          container interface-interops {
            description
              "Table for interface interop operational data";
            list interface-interop {
              key "interface-name";
              description
                "Interface interop operational data";
              leaf interface-name {
                type xr:Interface-name;
                description "Interface name";
              }
    
              container egress-interop {
                description
                  "Egress interop information";
                leaf from-priority1 {
                  type Ptp-clock-priority;
                  description "From Priority 1";
                }
    
                leaf to-priority1 {
                  type Ptp-clock-priority;
                  description "To Priority 1";
                }
    
                leaf from-priority2 {
                  type Ptp-clock-priority;
                  description "From Priority 2";
                }
    
                leaf to-priority2 {
                  type Ptp-clock-priority;
                  description "To Priority 2";
                }
    
                leaf from-accuracy {
                  type Ptp-clock-accuracy;
                  description "From Accuracy";
                }
    
                leaf to-accuracy {
                  type Ptp-clock-accuracy;
                  description "To Accuracy";
                }
    
                leaf from-clock-class {
                  type Ptp-clock-class;
                  description "From Clock Class";
                }
    
                leaf to-clock-class {
                  type Ptp-clock-class;
                  description "To Clock Class";
                }
    
                leaf from-offset-log-variance {
                  type Ptp-clock-oslv;
                  description
                    "From Offset log variance";
                }
    
                leaf to-offset-log-variance {
                  type Ptp-clock-oslv;
                  description
                    "To Offset log variance";
                }
              }  // container egress-interop
    
              leaf local-domain {
                type Ptp-domain-num;
                description
                  "The PTP domain configured for this interface";
              }
    
              leaf interop-domain {
                type Ptp-domain-num;
                description
                  "The PTP domain that is being interoperated with";
              }
    
              leaf local-profile {
                type Ptp-bag-profile;
                description
                  "The PTP Profile configured for this interface";
              }
    
              leaf interop-profile {
                type Ptp-bag-profile;
                description
                  "The PTP profile that is being interoperated with";
              }
    
              list ingress-interop {
                description
                  "Per-peer ingress interop information";
                container address {
                  description "Peer address";
                  container mac-address {
                    when
                      "../encapsulation = 'ethernet'" {
                      description
                        "../Encapsulation = 'Ethernet'";
                    }
                    description
                      "Ethernet MAC address";
                    leaf macaddr {
                      type yang:mac-address;
                      description "macaddr";
                    }
                  }  // container mac-address
    
                  container ipv6-address {
                    when
                      "../encapsulation = 'ipv6'" {
                      description
                        "../Encapsulation = 'IPv6'";
                    }
                    description "IPv6 address";
                    leaf ipv6-address {
                      type Bag-in6-addr;
                      description "IPv6 Address";
                    }
                  }  // container ipv6-address
    
                  leaf encapsulation {
                    type Ptp-bag-encap;
                    description "Encapsulation";
                  }
    
                  leaf address-unknown {
                    when
                      "../encapsulation = 'unknown'" {
                      description
                        "../Encapsulation = 'Unknown'";
                    }
                    type boolean;
                    description
                      "Unknown address type";
                  }
    
                  leaf ipv4-address {
                    when
                      "../encapsulation = 'ipv4'" {
                      description
                        "../Encapsulation = 'IPv4'";
                    }
                    type inet:ipv4-address;
                    description "IPv4 address";
                  }
                }  // container address
    
                container interop {
                  description
                    "Interop information";
                  leaf from-priority1 {
                    type Ptp-clock-priority;
                    description
                      "From Priority 1";
                  }
    
                  leaf to-priority1 {
                    type Ptp-clock-priority;
                    description "To Priority 1";
                  }
    
                  leaf from-priority2 {
                    type Ptp-clock-priority;
                    description
                      "From Priority 2";
                  }
    
                  leaf to-priority2 {
                    type Ptp-clock-priority;
                    description "To Priority 2";
                  }
    
                  leaf from-accuracy {
                    type Ptp-clock-accuracy;
                    description "From Accuracy";
                  }
    
                  leaf to-accuracy {
                    type Ptp-clock-accuracy;
                    description "To Accuracy";
                  }
    
                  leaf from-clock-class {
                    type Ptp-clock-class;
                    description
                      "From Clock Class";
                  }
    
                  leaf to-clock-class {
                    type Ptp-clock-class;
                    description "To Clock Class";
                  }
    
                  leaf from-offset-log-variance {
                    type Ptp-clock-oslv;
                    description
                      "From Offset log variance";
                  }
    
                  leaf to-offset-log-variance {
                    type Ptp-clock-oslv;
                    description
                      "To Offset log variance";
                  }
                }  // container interop
              }  // list ingress-interop
            }  // list interface-interop
          }  // container interface-interops
    
          container local-clock {
            description
              "Local clock operational data";
            container clock-properties {
              description "Local clock";
              container utc-offset {
                description "UTC offset";
                leaf current-offset {
                  type int16;
                  description "Current offset";
                }
    
                leaf offset-valid {
                  type boolean;
                  description
                    "The current offset is valid";
                }
              }  // container utc-offset
    
              container receiver {
                description "Receiver";
                leaf clock-id {
                  type Ptp-clock-id1;
                  description "Clock ID";
                }
    
                leaf port-number {
                  type Ptp-port-num;
                  description "Port number";
                }
              }  // container receiver
    
              container sender {
                description "Sender";
                leaf clock-id {
                  type Ptp-clock-id1;
                  description "Clock ID";
                }
    
                leaf port-number {
                  type Ptp-port-num;
                  description "Port number";
                }
              }  // container sender
    
              leaf clock-id {
                type Ptp-clock-id1;
                description "Clock ID";
              }
    
              leaf priority1 {
                type Ptp-clock-priority;
                description "Priority 1";
              }
    
              leaf priority2 {
                type Ptp-clock-priority;
                description "Priority 2";
              }
    
              leaf class {
                type Ptp-clock-class;
                description "Class";
              }
    
              leaf accuracy {
                type Ptp-clock-accuracy;
                description "Accuracy";
              }
    
              leaf offset-log-variance {
                type Ptp-clock-oslv;
                description
                  "Offset log variance";
              }
    
              leaf steps-removed {
                type uint16;
                description "Steps removed";
              }
    
              leaf time-source {
                type Ptp-bag-clock-time-source;
                description "Time source";
              }
    
              leaf frequency-traceable {
                type boolean;
                description
                  "The clock is frequency traceable";
              }
    
              leaf time-traceable {
                type boolean;
                description
                  "The clock is time traceable";
              }
    
              leaf timescale {
                type Ptp-bag-clock-timescale;
                description "Timescale";
              }
    
              leaf leap-seconds {
                type Ptp-bag-clock-leap-seconds;
                units "second";
                description "Leap Seconds";
              }
    
              leaf is-receiver-valid {
                type boolean;
                description
                  "Is the receiver information valid";
              }
    
              leaf is-sender-valid {
                type boolean;
                description
                  "Is the sender information valid";
              }
    
              leaf local {
                type boolean;
                description
                  "The clock is the local clock";
              }
    
              leaf configured-clock-class {
                type Ptp-clock-class;
                description
                  "The configured clock class";
              }
    
              leaf configured-priority {
                type Ptp-clock-priority;
                description
                  "The configured priority";
              }
            }  // container clock-properties
    
            container virtual-port {
              description "Virtual port";
              leaf configured {
                type boolean;
                description "Configured";
              }
    
              leaf connected {
                type boolean;
                description "Connected";
              }
    
              leaf priority1 {
                type Ptp-clock-priority;
                description "Priority 1";
              }
    
              leaf priority2 {
                type Ptp-clock-priority;
                description "Priority 2";
              }
    
              leaf class {
                type Ptp-clock-class;
                description "Class";
              }
    
              leaf accuracy {
                type Ptp-clock-accuracy;
                description "Accuracy";
              }
    
              leaf offset-log-variance {
                type Ptp-clock-oslv;
                description
                  "Offset log variance";
              }
    
              leaf local-priority {
                type Ptp-clock-priority;
                description "The local priority";
              }
            }  // container virtual-port
    
            leaf domain {
              type Ptp-domain-num;
              description
                "The PTP domain of the local clock";
            }
    
            leaf grandmaster {
              type boolean;
              description
                "Whether the local clock is the grandmaster";
            }
    
            leaf servo-status {
              type Ptp-platform-servo-status;
              description "Servo status";
            }
    
            leaf mean-path-delay {
              type int64;
              units "nanosecond";
              description
                "Mean path delay of master (nanoseconds)";
            }
    
            leaf offset-from-master {
              type int64;
              units "nanosecond";
              description
                "Offset from master (nanoseconds)";
            }
    
            leaf apts-enabled {
              type boolean;
              description
                "Whether assisted partial timing support is
    enabled";
            }
          }  // container local-clock
    
          container interface-packet-counters {
            description
              "Table for interface packet counter operational
    data";
            list interface-packet-counter {
              key "interface-name";
              description
                "Interface packet counter operational data";
              leaf interface-name {
                type xr:Interface-name;
                description "Interface name";
              }
    
              container counters {
                description "Packet counters";
                leaf announce-sent {
                  type uint32;
                  description
                    "Number of announce packets sent";
                }
    
                leaf announce-received {
                  type uint32;
                  description
                    "Number of announce packets received";
                }
    
                leaf announce-dropped {
                  type uint32;
                  description
                    "Number of announce packets dropped";
                }
    
                leaf sync-sent {
                  type uint32;
                  description
                    "Number of sync packets sent";
                }
    
                leaf sync-received {
                  type uint32;
                  description
                    "Number of sync packets received";
                }
    
                leaf sync-dropped {
                  type uint32;
                  description
                    "Number of sync packetsdropped";
                }
    
                leaf follow-up-sent {
                  type uint32;
                  description
                    "Number of follow-up packets sent";
                }
    
                leaf follow-up-received {
                  type uint32;
                  description
                    "Number of follow-up packets received";
                }
    
                leaf follow-up-dropped {
                  type uint32;
                  description
                    "Number of follow-up packets dropped";
                }
    
                leaf delay-request-sent {
                  type uint32;
                  description
                    "Number of delay-request packets sent";
                }
    
                leaf delay-request-received {
                  type uint32;
                  description
                    "Number of delay-request packets received";
                }
    
                leaf delay-request-dropped {
                  type uint32;
                  description
                    "Number of delay-request packets dropped";
                }
    
                leaf delay-response-sent {
                  type uint32;
                  description
                    "Number of delay-response packets sent";
                }
    
                leaf delay-response-received {
                  type uint32;
                  description
                    "Number of delay-response packets received";
                }
    
                leaf delay-response-dropped {
                  type uint32;
                  description
                    "Number of delay-response packets dropped";
                }
    
                leaf peer-delay-request-sent {
                  type uint32;
                  description
                    "Number of peer-delay-request packets sent";
                }
    
                leaf peer-delay-request-received {
                  type uint32;
                  description
                    "Number of peer-delay-request packets received";
                }
    
                leaf peer-delay-request-dropped {
                  type uint32;
                  description
                    "Number of peer-delay-request packets dropped";
                }
    
                leaf peer-delay-response-sent {
                  type uint32;
                  description
                    "Number of peer-delay-response packets sent";
                }
    
                leaf peer-delay-response-received {
                  type uint32;
                  description
                    "Number of peer-delay-response packets received";
                }
    
                leaf peer-delay-response-dropped {
                  type uint32;
                  description
                    "Number of peer-delay-response packets dropped";
                }
    
                leaf peer-delay-response-follow-up-sent {
                  type uint32;
                  description
                    "Number of peer-delay-response follow-up packets
    sent";
                }
    
                leaf peer-delay-response-follow-up-received {
                  type uint32;
                  description
                    "Number of peer-delay-response follow-up packets
    received";
                }
    
                leaf peer-delay-response-follow-up-dropped {
                  type uint32;
                  description
                    "Number of peer-delay-response follow-up packets
    dropped";
                }
    
                leaf signaling-sent {
                  type uint32;
                  description
                    "Number of signaling packets sent";
                }
    
                leaf signaling-received {
                  type uint32;
                  description
                    "Number of signaling packets received";
                }
    
                leaf signaling-dropped {
                  type uint32;
                  description
                    "Number of signaling packets dropped";
                }
    
                leaf management-sent {
                  type uint32;
                  description
                    "Number of management messages sent";
                }
    
                leaf management-received {
                  type uint32;
                  description
                    "Number of management messages received";
                }
    
                leaf management-dropped {
                  type uint32;
                  description
                    "Number of management messages dropped";
                }
    
                leaf other-packets-sent {
                  type uint32;
                  description
                    "Number of other packets sent";
                }
    
                leaf other-packets-received {
                  type uint32;
                  description
                    "Number of other packets received";
                }
    
                leaf other-packets-dropped {
                  type uint32;
                  description
                    "Number of other packets dropped";
                }
    
                leaf total-packets-sent {
                  type uint32;
                  description
                    "Total number of packets sent";
                }
    
                leaf total-packets-received {
                  type uint32;
                  description
                    "Total number of packets received";
                }
    
                leaf total-packets-dropped {
                  type uint32;
                  description
                    "Total number of packets dropped";
                }
              }  // container counters
    
              list peer-counter {
                description
                  "Packet counters for each peer on this interface";
                container address {
                  description "Peer address";
                  container mac-address {
                    when
                      "../encapsulation = 'ethernet'" {
                      description
                        "../Encapsulation = 'Ethernet'";
                    }
                    description
                      "Ethernet MAC address";
                    leaf macaddr {
                      type yang:mac-address;
                      description "macaddr";
                    }
                  }  // container mac-address
    
                  container ipv6-address {
                    when
                      "../encapsulation = 'ipv6'" {
                      description
                        "../Encapsulation = 'IPv6'";
                    }
                    description "IPv6 address";
                    leaf ipv6-address {
                      type Bag-in6-addr;
                      description "IPv6 Address";
                    }
                  }  // container ipv6-address
    
                  leaf encapsulation {
                    type Ptp-bag-encap;
                    description "Encapsulation";
                  }
    
                  leaf address-unknown {
                    when
                      "../encapsulation = 'unknown'" {
                      description
                        "../Encapsulation = 'Unknown'";
                    }
                    type boolean;
                    description
                      "Unknown address type";
                  }
    
                  leaf ipv4-address {
                    when
                      "../encapsulation = 'ipv4'" {
                      description
                        "../Encapsulation = 'IPv4'";
                    }
                    type inet:ipv4-address;
                    description "IPv4 address";
                  }
                }  // container address
    
                container counters {
                  description "Packet counters";
                  leaf announce-sent {
                    type uint32;
                    description
                      "Number of announce packets sent";
                  }
    
                  leaf announce-received {
                    type uint32;
                    description
                      "Number of announce packets received";
                  }
    
                  leaf announce-dropped {
                    type uint32;
                    description
                      "Number of announce packets dropped";
                  }
    
                  leaf sync-sent {
                    type uint32;
                    description
                      "Number of sync packets sent";
                  }
    
                  leaf sync-received {
                    type uint32;
                    description
                      "Number of sync packets received";
                  }
    
                  leaf sync-dropped {
                    type uint32;
                    description
                      "Number of sync packetsdropped";
                  }
    
                  leaf follow-up-sent {
                    type uint32;
                    description
                      "Number of follow-up packets sent";
                  }
    
                  leaf follow-up-received {
                    type uint32;
                    description
                      "Number of follow-up packets received";
                  }
    
                  leaf follow-up-dropped {
                    type uint32;
                    description
                      "Number of follow-up packets dropped";
                  }
    
                  leaf delay-request-sent {
                    type uint32;
                    description
                      "Number of delay-request packets sent";
                  }
    
                  leaf delay-request-received {
                    type uint32;
                    description
                      "Number of delay-request packets received";
                  }
    
                  leaf delay-request-dropped {
                    type uint32;
                    description
                      "Number of delay-request packets dropped";
                  }
    
                  leaf delay-response-sent {
                    type uint32;
                    description
                      "Number of delay-response packets sent";
                  }
    
                  leaf delay-response-received {
                    type uint32;
                    description
                      "Number of delay-response packets received";
                  }
    
                  leaf delay-response-dropped {
                    type uint32;
                    description
                      "Number of delay-response packets dropped";
                  }
    
                  leaf peer-delay-request-sent {
                    type uint32;
                    description
                      "Number of peer-delay-request packets sent";
                  }
    
                  leaf peer-delay-request-received {
                    type uint32;
                    description
                      "Number of peer-delay-request packets received";
                  }
    
                  leaf peer-delay-request-dropped {
                    type uint32;
                    description
                      "Number of peer-delay-request packets dropped";
                  }
    
                  leaf peer-delay-response-sent {
                    type uint32;
                    description
                      "Number of peer-delay-response packets sent";
                  }
    
                  leaf peer-delay-response-received {
                    type uint32;
                    description
                      "Number of peer-delay-response packets received";
                  }
    
                  leaf peer-delay-response-dropped {
                    type uint32;
                    description
                      "Number of peer-delay-response packets dropped";
                  }
    
                  leaf peer-delay-response-follow-up-sent {
                    type uint32;
                    description
                      "Number of peer-delay-response follow-up packets
    sent";
                  }
    
                  leaf peer-delay-response-follow-up-received {
                    type uint32;
                    description
                      "Number of peer-delay-response follow-up packets
    received";
                  }
    
                  leaf peer-delay-response-follow-up-dropped {
                    type uint32;
                    description
                      "Number of peer-delay-response follow-up packets
    dropped";
                  }
    
                  leaf signaling-sent {
                    type uint32;
                    description
                      "Number of signaling packets sent";
                  }
    
                  leaf signaling-received {
                    type uint32;
                    description
                      "Number of signaling packets received";
                  }
    
                  leaf signaling-dropped {
                    type uint32;
                    description
                      "Number of signaling packets dropped";
                  }
    
                  leaf management-sent {
                    type uint32;
                    description
                      "Number of management messages sent";
                  }
    
                  leaf management-received {
                    type uint32;
                    description
                      "Number of management messages received";
                  }
    
                  leaf management-dropped {
                    type uint32;
                    description
                      "Number of management messages dropped";
                  }
    
                  leaf other-packets-sent {
                    type uint32;
                    description
                      "Number of other packets sent";
                  }
    
                  leaf other-packets-received {
                    type uint32;
                    description
                      "Number of other packets received";
                  }
    
                  leaf other-packets-dropped {
                    type uint32;
                    description
                      "Number of other packets dropped";
                  }
    
                  leaf total-packets-sent {
                    type uint32;
                    description
                      "Total number of packets sent";
                  }
    
                  leaf total-packets-received {
                    type uint32;
                    description
                      "Total number of packets received";
                  }
    
                  leaf total-packets-dropped {
                    type uint32;
                    description
                      "Total number of packets dropped";
                  }
                }  // container counters
              }  // list peer-counter
            }  // list interface-packet-counter
          }  // container interface-packet-counters
    
          container advertised-clock {
            description
              "Advertised clock operational data";
            container clock-properties {
              description "Advertised Clock";
              container utc-offset {
                description "UTC offset";
                leaf current-offset {
                  type int16;
                  description "Current offset";
                }
    
                leaf offset-valid {
                  type boolean;
                  description
                    "The current offset is valid";
                }
              }  // container utc-offset
    
              container receiver {
                description "Receiver";
                leaf clock-id {
                  type Ptp-clock-id1;
                  description "Clock ID";
                }
    
                leaf port-number {
                  type Ptp-port-num;
                  description "Port number";
                }
              }  // container receiver
    
              container sender {
                description "Sender";
                leaf clock-id {
                  type Ptp-clock-id1;
                  description "Clock ID";
                }
    
                leaf port-number {
                  type Ptp-port-num;
                  description "Port number";
                }
              }  // container sender
    
              leaf clock-id {
                type Ptp-clock-id1;
                description "Clock ID";
              }
    
              leaf priority1 {
                type Ptp-clock-priority;
                description "Priority 1";
              }
    
              leaf priority2 {
                type Ptp-clock-priority;
                description "Priority 2";
              }
    
              leaf class {
                type Ptp-clock-class;
                description "Class";
              }
    
              leaf accuracy {
                type Ptp-clock-accuracy;
                description "Accuracy";
              }
    
              leaf offset-log-variance {
                type Ptp-clock-oslv;
                description
                  "Offset log variance";
              }
    
              leaf steps-removed {
                type uint16;
                description "Steps removed";
              }
    
              leaf time-source {
                type Ptp-bag-clock-time-source;
                description "Time source";
              }
    
              leaf frequency-traceable {
                type boolean;
                description
                  "The clock is frequency traceable";
              }
    
              leaf time-traceable {
                type boolean;
                description
                  "The clock is time traceable";
              }
    
              leaf timescale {
                type Ptp-bag-clock-timescale;
                description "Timescale";
              }
    
              leaf leap-seconds {
                type Ptp-bag-clock-leap-seconds;
                units "second";
                description "Leap Seconds";
              }
    
              leaf is-receiver-valid {
                type boolean;
                description
                  "Is the receiver information valid";
              }
    
              leaf is-sender-valid {
                type boolean;
                description
                  "Is the sender information valid";
              }
    
              leaf local {
                type boolean;
                description
                  "The clock is the local clock";
              }
    
              leaf configured-clock-class {
                type Ptp-clock-class;
                description
                  "The configured clock class";
              }
    
              leaf configured-priority {
                type Ptp-clock-priority;
                description
                  "The configured priority";
              }
            }  // container clock-properties
    
            leaf domain {
              type Ptp-domain-num;
              description
                "The PTP domain of that the advertised clock is
    in";
            }
    
            leaf time-source-configured {
              type boolean;
              description
                "Whether the advertised time source is configured";
            }
    
            leaf received-time-source {
              type Ptp-bag-clock-time-source;
              description
                "The time source received from the parent clock";
            }
    
            leaf timescale-configured {
              type boolean;
              description
                "Whether the advertised timescale is configured";
            }
    
            leaf received-timescale {
              type Ptp-bag-clock-timescale;
              description
                "The timescale received from the parent clock";
            }
          }  // container advertised-clock
    
          container interfaces {
            description
              "Table for interface operational data";
            list interface {
              key "interface-name";
              description
                "Interface operational data";
              leaf interface-name {
                type xr:Interface-name;
                description "Interface name";
              }
    
              container ipv6-address-array {
                description
                  "List of Ipv6 addresses, if IPv6 encapsulation is
    being used. If a source address is configured,
    this is the only item in the list";
                leaf-list addr {
                  type Bag-in6-addr;
                  description
                    "List of IPv6 addresses";
                }
              }  // container ipv6-address-array
    
              container ipv4-address-array {
                description
                  "List of IPv4 addresses, if IPv4 encapsulation is
    being used. The first address is the primary
    address. If a source address is configured, this
    is the only item in the list.";
                leaf-list addr {
                  type inet:ipv4-address;
                  description
                    "List of IPv4 addresses";
                }
              }  // container ipv4-address-array
    
              container mac-address {
                description
                  "MAC address, if Ethernet encapsulation is being
    used";
                leaf macaddr {
                  type yang:mac-address;
                  description "macaddr";
                }
              }  // container mac-address
    
              container ingress-conversion {
                description
                  "Details of any ingress conversion";
                leaf priority1 {
                  type Ptp-clock-priority;
                  description "Priority 1";
                }
    
                leaf priority2 {
                  type Ptp-clock-priority;
                  description "Priority 2";
                }
    
                leaf accuracy {
                  type Ptp-clock-accuracy;
                  description "Accuracy";
                }
    
                leaf class-default {
                  type Ptp-clock-class;
                  description "Class Default";
                }
    
                leaf offset-log-variance {
                  type Ptp-clock-oslv;
                  description
                    "Offset log variance";
                }
    
                list class-mapping {
                  description "Class Mapping";
                  leaf from-clock-class {
                    type Ptp-clock-class;
                    description
                      "From clock class";
                  }
    
                  leaf to-clock-class {
                    type Ptp-clock-class;
                    description "To clock class";
                  }
                }  // list class-mapping
              }  // container ingress-conversion
    
              container egress-conversion {
                description
                  "Details of any egress conversion";
                leaf priority1 {
                  type Ptp-clock-priority;
                  description "Priority 1";
                }
    
                leaf priority2 {
                  type Ptp-clock-priority;
                  description "Priority 2";
                }
    
                leaf accuracy {
                  type Ptp-clock-accuracy;
                  description "Accuracy";
                }
    
                leaf class-default {
                  type Ptp-clock-class;
                  description "Class Default";
                }
    
                leaf offset-log-variance {
                  type Ptp-clock-oslv;
                  description
                    "Offset log variance";
                }
    
                list class-mapping {
                  description "Class Mapping";
                  leaf from-clock-class {
                    type Ptp-clock-class;
                    description
                      "From clock class";
                  }
    
                  leaf to-clock-class {
                    type Ptp-clock-class;
                    description "To clock class";
                  }
                }  // list class-mapping
              }  // container egress-conversion
    
              leaf port-state {
                type Ptp-bag-port-state;
                description "Port state";
              }
    
              leaf port-number {
                type Ptp-port-num;
                description "Port number";
              }
    
              leaf line-state {
                type Im-state-enum;
                description "Line state";
              }
    
              leaf interface-type {
                type string;
                description "Interface Type";
              }
    
              leaf encapsulation {
                type Ptp-bag-encap;
                description "Encapsulation";
              }
    
              leaf ipv6-address {
                type Bag-in6-addr;
                description
                  "Ipv6 source address for interface running PTP,
    if IPv6 encapsulation is being used";
              }
    
              leaf ipv4-address {
                type inet:ipv4-address;
                description
                  "IPv4 source address for interface running PTP,
    if IPv4 encapsulation is being used";
              }
    
              leaf two-step {
                type boolean;
                description
                  "Two step delay-request mechanism is being used";
              }
    
              leaf communication-model {
                type Ptp-bag-communication-model;
                description
                  "Communication model configured on the interface";
              }
    
              leaf log-sync-interval {
                type int32;
                description
                  "Log of the interface's sync interval";
              }
    
              leaf log-announce-interval {
                type int32;
                description
                  "Log of the interface's announce interval";
              }
    
              leaf announce-timeout {
                type uint32;
                description "Announce timeout";
              }
    
              leaf log-min-delay-request-interval {
                type int32;
                description
                  "Log of the interface's Minimum delay-request
    interval";
              }
    
              leaf configured-port-state {
                type Ptp-bag-restrict-port-state;
                description
                  "The configured port state";
              }
    
              leaf supports-unicast {
                type boolean;
                description
                  "The interface supports unicast";
              }
    
              leaf supports-master {
                type boolean;
                description
                  "The interface supports operation in master mode";
              }
    
              leaf supports-one-step {
                type boolean;
                description
                  "The interface supports one-step operation";
              }
    
              leaf supports-two-step {
                type boolean;
                description
                  "The interface supports two-step operation";
              }
    
              leaf supports-ethernet {
                type boolean;
                description
                  "The interface supports ethernet transport";
              }
    
              leaf supports-multicast {
                type boolean;
                description
                  "The interface supports multicast";
              }
    
              leaf supports-ipv4 {
                type boolean;
                description
                  "The interface supports IPv4 transport";
              }
    
              leaf supports-ipv6 {
                type boolean;
                description
                  "The interface supports IPv6 transport";
              }
    
              leaf supports-slave {
                type boolean;
                description
                  "The interface supports operation in slave mode";
              }
    
              leaf supports-source-ip {
                type boolean;
                description
                  "The interface supports source ip configuration";
              }
    
              leaf max-sync-rate {
                type uint8;
                description
                  "The maximum rate of sync packets on the
    interface";
              }
    
              leaf event-cos {
                type uint32;
                description
                  "The class of service used on the interface for
    event messages";
              }
    
              leaf general-cos {
                type uint32;
                description
                  "The class of service used on the interface for
    general messages";
              }
    
              leaf event-dscp {
                type uint32;
                description
                  "The DSCP class used on the interface for event
    messages";
              }
    
              leaf general-dscp {
                type uint32;
                description
                  "The DSCP class used on the interface for general
    messages";
              }
    
              leaf unicast-peers {
                type uint32;
                description
                  "The number of unicast peers known by the
    interface";
              }
    
              leaf local-priority {
                type uint8;
                description
                  "Local priority, for the G.8275.1 PTP profile";
              }
    
              leaf signal-fail {
                type boolean;
                description
                  "Signal fail status of the interface";
              }
    
              leaf profile-interop {
                type boolean;
                description
                  "Indicate whether profile interop is in use";
              }
    
              leaf supports-bvi-slave {
                type boolean;
                description
                  "The node supports BVI interfaces as Slaves";
              }
    
              leaf interop-domain {
                type Ptp-domain-num;
                description
                  "The PTP domain that is being interoperated with";
              }
    
              leaf interop-profile {
                type Ptp-bag-profile;
                description
                  "Profile that is being interoperated with";
              }
    
              list master-table {
                description
                  "The interface's master table";
                container address {
                  description
                    "The address of the master clock";
                  container mac-address {
                    when
                      "../encapsulation = 'ethernet'" {
                      description
                        "../Encapsulation = 'Ethernet'";
                    }
                    description
                      "Ethernet MAC address";
                    leaf macaddr {
                      type yang:mac-address;
                      description "macaddr";
                    }
                  }  // container mac-address
    
                  container ipv6-address {
                    when
                      "../encapsulation = 'ipv6'" {
                      description
                        "../Encapsulation = 'IPv6'";
                    }
                    description "IPv6 address";
                    leaf ipv6-address {
                      type Bag-in6-addr;
                      description "IPv6 Address";
                    }
                  }  // container ipv6-address
    
                  leaf encapsulation {
                    type Ptp-bag-encap;
                    description "Encapsulation";
                  }
    
                  leaf address-unknown {
                    when
                      "../encapsulation = 'unknown'" {
                      description
                        "../Encapsulation = 'Unknown'";
                    }
                    type boolean;
                    description
                      "Unknown address type";
                  }
    
                  leaf ipv4-address {
                    when
                      "../encapsulation = 'ipv4'" {
                      description
                        "../Encapsulation = 'IPv4'";
                    }
                    type inet:ipv4-address;
                    description "IPv4 address";
                  }
                }  // container address
    
                leaf communication-model {
                  type Ptp-bag-communication-model;
                  description
                    "The configured communication model of the master
    clock";
                }
    
                leaf priority {
                  type uint8;
                  description
                    "The priority of the master clock, if it is set";
                }
    
                leaf known {
                  type boolean;
                  description
                    "Whether the interface is receiving messages from
    this master";
                }
    
                leaf is-knownvalid {
                  type boolean;
                  description
                    "Does the known boolean contain valid information";
                }
    
                leaf qualified {
                  type boolean;
                  description
                    "The master is qualified for best master clock
    selection";
                }
    
                leaf is-qualified-valid {
                  type boolean;
                  description
                    "Does the Qualified boolean contain valid
    information";
                }
    
                leaf is-grandmaster {
                  type boolean;
                  description
                    "Whether this is the grandmaster";
                }
    
                leaf is-is-grandmaster-valid {
                  type boolean;
                  description
                    "Does the IsGrandmaster boolean contain valid
    information";
                }
    
                leaf ptsf-loss-announce {
                  type uint8;
                  description
                    "Announced messages are not being received from
    the master";
                }
    
                leaf ptsf-loss-sync {
                  type uint8;
                  description
                    "Sync messages are not being received from the
    master";
                }
    
                leaf are-ptsf-valid {
                  type boolean;
                  description
                    "Do the PTSF values contain valid information";
                }
    
                leaf is-nonnegotiated {
                  type boolean;
                  description
                    "Whether this master uses non-negotiated unicast";
                }
              }  // list master-table
            }  // list interface
          }  // container interfaces
    
          container dataset {
            description "Global PTP datasets";
            container default-ds {
              description
                "defaultDS information as described in IEEE
    1588-2008";
              leaf two-step-flag {
                type boolean;
                description
                  "Is the twoStepFlag set for this clock";
              }
    
              leaf clock-id {
                type Ptp-clock-id1;
                description "The local-clock ID";
              }
    
              leaf number-ports {
                type uint32;
                description
                  "The number of active PTP ports on this clock";
              }
    
              leaf clock-class {
                type Ptp-clock-class;
                description
                  "The clock class of the local-clock";
              }
    
              leaf clock-accuracy {
                type Ptp-clock-accuracy;
                description
                  "The accuracy of the local-clock";
              }
    
              leaf oslv {
                type Ptp-clock-oslv;
                description
                  "The offset scaled log variance of the
    local-clock";
              }
    
              leaf priority1 {
                type Ptp-clock-priority;
                description
                  "The priority1 of the local-clock";
              }
    
              leaf priority2 {
                type Ptp-clock-priority;
                description
                  "The priority2 of the local-clock";
              }
    
              leaf domain-number {
                type Ptp-domain-num;
                description
                  "The domain of the local-clock";
              }
    
              leaf slave-only {
                type boolean;
                description
                  "Whether the local-clock is globally configured
    as slave-only";
              }
    
              leaf local-priority {
                type uint32;
                description
                  "Local priority of the local clock";
              }
    
              leaf signal-fail {
                type boolean;
                description
                  "Signal fail status of the local clock";
              }
            }  // container default-ds
    
            container current-ds {
              description
                "currentDS information as described in IEEE
    1588-2008";
              leaf steps-removed {
                type uint16;
                description
                  "How many steps removed this clock is from the GM";
              }
    
              leaf offset-from-master {
                type int64;
                description
                  "The UTC offset of the local-clock from the GM";
              }
    
              leaf mean-path-delay {
                type int64;
                description
                  "The mean path delay between the foreign-master
    and the local-clock";
              }
            }  // container current-ds
    
            container parent-ds {
              description
                "parentDS information as described in IEEE
    1588-2008";
              leaf parent-clock-id {
                type Ptp-clock-id1;
                description
                  "The Clock ID of the parent clock";
              }
    
              leaf parent-port-number {
                type Ptp-port-num;
                description
                  "The port number on which the parent clock is
    received";
              }
    
              leaf parent-stats {
                type boolean;
                description
                  "Whether the parentStats is valid";
              }
    
              leaf observed-parent-oslv {
                type Ptp-clock-oslv;
                description
                  "The observed parent offset scaled log variance";
              }
    
              leaf observed-parent-clock-phase-change-rate {
                type uint32;
                description
                  "The observed rate of change of phase of the
    parent clock";
              }
    
              leaf gm-clock-id {
                type Ptp-clock-id1;
                description
                  "The Clock ID of the GM";
              }
    
              leaf gm-clock-class {
                type Ptp-clock-class;
                description
                  "The clock class of the GM";
              }
    
              leaf gm-clock-accuracy {
                type Ptp-clock-accuracy;
                description
                  "The clock accuracy of the GM";
              }
    
              leaf gmoslv {
                type Ptp-clock-oslv;
                description
                  "The offset scaled log variance of the GM";
              }
    
              leaf gm-priority1 {
                type Ptp-clock-priority;
                description
                  "The priority1 of the GM";
              }
    
              leaf gm-priority2 {
                type Ptp-clock-priority;
                description
                  "The priority2 of the GM";
              }
            }  // container parent-ds
    
            container port-dses {
              description
                "Table for portDS information";
              list port-ds {
                key "interface-name";
                description "PortDS information";
                leaf interface-name {
                  type xr:Interface-name;
                  description "Interface name";
                }
    
                leaf clock-id {
                  type Ptp-clock-id1;
                  description
                    "The ID of the local-clock";
                }
    
                leaf port-number {
                  type Ptp-port-num;
                  description "The port number";
                }
    
                leaf port-state {
                  type Ptp-bag-port-state;
                  description "The port state";
                }
    
                leaf log-min-delay-req-interval {
                  type int16;
                  description
                    "The log (base 2) of the minimum delay-request
    interval";
                }
    
                leaf peer-mean-path-delay {
                  type int64;
                  description
                    "The mean path delay between peers";
                }
    
                leaf log-announce-interval {
                  type int16;
                  description
                    "The log (base 2) of the announce interval";
                }
    
                leaf annoucne-receipt-timeout {
                  type uint32;
                  description
                    "The announce timeout";
                }
    
                leaf log-sync-interval {
                  type int16;
                  description
                    "The log (base 2) of the sync interval";
                }
    
                leaf delay-mechanism {
                  type Ptp-bag-delay-mechanism;
                  description
                    "The delay mechanism being used on this port";
                }
    
                leaf log-min-p-delay-req-interval {
                  type int16;
                  description
                    "The log (base 2) of the minimum
    peer-delay-request interval";
                }
    
                leaf version-number {
                  type Ptp-msg-version;
                  description
                    "The version of IEEE 1588 being run";
                }
    
                leaf local-priority {
                  type uint32;
                  description
                    "Local priority of the local clock";
                }
    
                leaf master-only {
                  type boolean;
                  description
                    "Is the port master-only?";
                }
    
                leaf signal-fail {
                  type boolean;
                  description
                    "Signal fail status of the port";
                }
              }  // list port-ds
            }  // container port-dses
    
            container time-properties-ds {
              description
                "timePropertiesDS information as described in
    IEEE 1588-2008";
              leaf current-utc-offset {
                type int16;
                description
                  "The current UTC offset";
              }
    
              leaf current-utc-offset-valid {
                type boolean;
                description
                  "Whether the current UTC offset is valid";
              }
    
              leaf leap59 {
                type boolean;
                description
                  "Whether the last minute of the day has 59
    seconds";
              }
    
              leaf leap61 {
                type boolean;
                description
                  "Whether the last minute of the day has 61
    seconds";
              }
    
              leaf time-traceable {
                type boolean;
                description
                  "Whether the time-of-day source is traceable";
              }
    
              leaf frequency-traceable {
                type boolean;
                description
                  "Whther the frequency source is traceable";
              }
    
              leaf ptp-timescale {
                type boolean;
                description
                  "Whether the timescale being used is the PTP
    timescale";
              }
    
              leaf time-source {
                type Ptp-bag-clock-time-source;
                description
                  "The physical time-source of the GM clock";
              }
            }  // container time-properties-ds
          }  // container dataset
    
          container global-configuration-error {
            description
              "Global configuration error operational data";
            container configuration-errors {
              description "Configuration Errors";
              leaf domain {
                type boolean;
                description
                  "Domain not compatible with configured profile";
              }
    
              leaf profile-priority1-config {
                type boolean;
                description
                  "Priority1 configuration is not compatible with
    configured profile";
              }
    
              leaf profile-priority2-value {
                type boolean;
                description
                  "Priority2 value is not compatible with
    configured profile";
              }
    
              leaf utc-offset-change {
                type boolean;
                description
                  "Leap seconds configuration contains an invalid
    UTC offset change";
              }
    
              leaf physical-layer-frequency {
                type boolean;
                description
                  "Physical Layer Frequency configuration is not
    compatible with G.8265.1 profile";
              }
    
              leaf network-type {
                type boolean;
                description
                  "Network type high PDV configuration is only
    compatible with G.8265.1 profile";
              }
    
              leaf profile-virtual-port {
                type boolean;
                description
                  "Virtual Port configuration is not compatible
    with default profile";
              }
    
              leaf virtual-port-priority1-config {
                type boolean;
                description
                  "Virtual Port priority1 configuration is not
    compatible with configured profile";
              }
    
              leaf virtual-port-priority2-value {
                type boolean;
                description
                  "Virtual Port priority2 value is not compatible
    with configured profile";
              }
    
              leaf virtual-port-profile-clock-class {
                type boolean;
                description
                  "Virtual port clock class is not compatible with
    configured profile";
              }
    
              leaf virtual-port-clock-accuracy {
                type boolean;
                description
                  "Virtual port clock accuracy is not compatible
    with configured profile";
              }
    
              leaf virtual-port-oslv {
                type boolean;
                description
                  "Virtual port OSLV is not compatible with
    configured profile";
              }
    
              leaf virtual-port-local-priority {
                type boolean;
                description
                  "Virtual port local priority configuration is not
    compatible with configured profile";
              }
    
              leaf apts-clock-type {
                type boolean;
                description
                  "APTS configuration is not compatible with
    configured clock type";
              }
    
              leaf apts-clock-profile {
                type boolean;
                description
                  "APTS configuration is not compatible with
    configured profile";
              }
            }  // container configuration-errors
    
            leaf clock-profile {
              type Ptp-bag-profile;
              description "The clock profile";
            }
    
            leaf clock-profile-set {
              type boolean;
              description
                "Is the clock profile set";
            }
    
            leaf telecom-clock-type {
              type Ptp-bag-telecom-clock;
              description
                "Configured telecom clock type";
            }
    
            leaf domain-number {
              type Ptp-domain-num;
              description "The PTP domain";
            }
    
            leaf priority2 {
              type Ptp-clock-priority;
              description
                "The configured priority2 value";
            }
    
            leaf virtual-port-priority2 {
              type Ptp-clock-priority;
              description
                "The configured priority2 value of the virtual
    port";
            }
    
            leaf virtual-port-clock-class {
              type Ptp-clock-class;
              description
                "The configured clock class of the virtual port";
            }
    
            leaf virtual-port-clock-accuracy {
              type Ptp-clock-accuracy;
              description
                "The configured clock accuracy of the virtual
    port";
            }
    
            leaf virtual-port-oslv {
              type Ptp-clock-oslv;
              description
                "The configured oslv of the virtual port";
            }
          }  // container global-configuration-error
    
          container grandmaster {
            description
              "Grandmaster clock operational data";
            container clock-properties {
              description "Grandmaster clock";
              container utc-offset {
                description "UTC offset";
                leaf current-offset {
                  type int16;
                  description "Current offset";
                }
    
                leaf offset-valid {
                  type boolean;
                  description
                    "The current offset is valid";
                }
              }  // container utc-offset
    
              container receiver {
                description "Receiver";
                leaf clock-id {
                  type Ptp-clock-id1;
                  description "Clock ID";
                }
    
                leaf port-number {
                  type Ptp-port-num;
                  description "Port number";
                }
              }  // container receiver
    
              container sender {
                description "Sender";
                leaf clock-id {
                  type Ptp-clock-id1;
                  description "Clock ID";
                }
    
                leaf port-number {
                  type Ptp-port-num;
                  description "Port number";
                }
              }  // container sender
    
              leaf clock-id {
                type Ptp-clock-id1;
                description "Clock ID";
              }
    
              leaf priority1 {
                type Ptp-clock-priority;
                description "Priority 1";
              }
    
              leaf priority2 {
                type Ptp-clock-priority;
                description "Priority 2";
              }
    
              leaf class {
                type Ptp-clock-class;
                description "Class";
              }
    
              leaf accuracy {
                type Ptp-clock-accuracy;
                description "Accuracy";
              }
    
              leaf offset-log-variance {
                type Ptp-clock-oslv;
                description
                  "Offset log variance";
              }
    
              leaf steps-removed {
                type uint16;
                description "Steps removed";
              }
    
              leaf time-source {
                type Ptp-bag-clock-time-source;
                description "Time source";
              }
    
              leaf frequency-traceable {
                type boolean;
                description
                  "The clock is frequency traceable";
              }
    
              leaf time-traceable {
                type boolean;
                description
                  "The clock is time traceable";
              }
    
              leaf timescale {
                type Ptp-bag-clock-timescale;
                description "Timescale";
              }
    
              leaf leap-seconds {
                type Ptp-bag-clock-leap-seconds;
                units "second";
                description "Leap Seconds";
              }
    
              leaf is-receiver-valid {
                type boolean;
                description
                  "Is the receiver information valid";
              }
    
              leaf is-sender-valid {
                type boolean;
                description
                  "Is the sender information valid";
              }
    
              leaf local {
                type boolean;
                description
                  "The clock is the local clock";
              }
    
              leaf configured-clock-class {
                type Ptp-clock-class;
                description
                  "The configured clock class";
              }
    
              leaf configured-priority {
                type Ptp-clock-priority;
                description
                  "The configured priority";
              }
            }  // container clock-properties
    
            container address {
              description
                "The grandmaster's address information";
              container mac-address {
                when
                  "../encapsulation = 'ethernet'" {
                  description
                    "../Encapsulation = 'Ethernet'";
                }
                description
                  "Ethernet MAC address";
                leaf macaddr {
                  type yang:mac-address;
                  description "macaddr";
                }
              }  // container mac-address
    
              container ipv6-address {
                when "../encapsulation = 'ipv6'" {
                  description
                    "../Encapsulation = 'IPv6'";
                }
                description "IPv6 address";
                leaf ipv6-address {
                  type Bag-in6-addr;
                  description "IPv6 Address";
                }
              }  // container ipv6-address
    
              leaf encapsulation {
                type Ptp-bag-encap;
                description "Encapsulation";
              }
    
              leaf address-unknown {
                when
                  "../encapsulation = 'unknown'" {
                  description
                    "../Encapsulation = 'Unknown'";
                }
                type boolean;
                description
                  "Unknown address type";
              }
    
              leaf ipv4-address {
                when "../encapsulation = 'ipv4'" {
                  description
                    "../Encapsulation = 'IPv4'";
                }
                type inet:ipv4-address;
                description "IPv4 address";
              }
            }  // container address
    
            leaf used-for-time {
              type boolean;
              description
                "Whether the grandmaster is setting time-of-day
    on the system";
            }
    
            leaf used-for-frequency {
              type boolean;
              description
                "Whether the grandmaster is setting frequency on
    the system";
            }
    
            leaf known-for-time {
              type uint32;
              units "second";
              description
                "How long the clock has been grandmaster for, in
    seconds";
            }
    
            leaf domain {
              type Ptp-domain-num;
              description
                "The PTP domain that the grandmaster is in";
            }
    
            leaf running-drrm {
              type boolean;
              description
                "Whether DRRM is running for the grandmaster";
            }
          }  // container grandmaster
    
          container interface-unicast-peers {
            description
              "Table for interface unicast peers operational
    data";
            list interface-unicast-peer {
              key "interface-name";
              description
                "Interface unicast peers operational data";
              leaf interface-name {
                type xr:Interface-name;
                description "Interface name";
              }
    
              leaf name {
                type string;
                description "Interface name";
              }
    
              leaf port-number {
                type Ptp-port-num;
                description "Port number";
              }
    
              list peers {
                description "Unicast Peers";
                container address {
                  description
                    "The address of the unicast peer";
                  container mac-address {
                    when
                      "../encapsulation = 'ethernet'" {
                      description
                        "../Encapsulation = 'Ethernet'";
                    }
                    description
                      "Ethernet MAC address";
                    leaf macaddr {
                      type yang:mac-address;
                      description "macaddr";
                    }
                  }  // container mac-address
    
                  container ipv6-address {
                    when
                      "../encapsulation = 'ipv6'" {
                      description
                        "../Encapsulation = 'IPv6'";
                    }
                    description "IPv6 address";
                    leaf ipv6-address {
                      type Bag-in6-addr;
                      description "IPv6 Address";
                    }
                  }  // container ipv6-address
    
                  leaf encapsulation {
                    type Ptp-bag-encap;
                    description "Encapsulation";
                  }
    
                  leaf address-unknown {
                    when
                      "../encapsulation = 'unknown'" {
                      description
                        "../Encapsulation = 'Unknown'";
                    }
                    type boolean;
                    description
                      "Unknown address type";
                  }
    
                  leaf ipv4-address {
                    when
                      "../encapsulation = 'ipv4'" {
                      description
                        "../Encapsulation = 'IPv4'";
                    }
                    type inet:ipv4-address;
                    description "IPv4 address";
                  }
                }  // container address
    
                container announce-grant {
                  description
                    "Unicast grant information for announce messages";
                  leaf log-grant-interval {
                    type int8;
                    description
                      "Log of the interval which has been granted";
                  }
    
                  leaf grant-duration {
                    type uint32;
                    description
                      "Duraction of the grant";
                  }
                }  // container announce-grant
    
                container sync-grant {
                  description
                    "Unicast grant information for sync messages";
                  leaf log-grant-interval {
                    type int8;
                    description
                      "Log of the interval which has been granted";
                  }
    
                  leaf grant-duration {
                    type uint32;
                    description
                      "Duraction of the grant";
                  }
                }  // container sync-grant
    
                container delay-response-grant {
                  description
                    "Unicast grant information for delay-response
    messages";
                  leaf log-grant-interval {
                    type int8;
                    description
                      "Log of the interval which has been granted";
                  }
    
                  leaf grant-duration {
                    type uint32;
                    description
                      "Duraction of the grant";
                  }
                }  // container delay-response-grant
              }  // list peers
    
              list foreign-master {
                description
                  "Unicast Foreign Masters";
                container address {
                  description
                    "The address of the unicast peer";
                  container mac-address {
                    when
                      "../encapsulation = 'ethernet'" {
                      description
                        "../Encapsulation = 'Ethernet'";
                    }
                    description
                      "Ethernet MAC address";
                    leaf macaddr {
                      type yang:mac-address;
                      description "macaddr";
                    }
                  }  // container mac-address
    
                  container ipv6-address {
                    when
                      "../encapsulation = 'ipv6'" {
                      description
                        "../Encapsulation = 'IPv6'";
                    }
                    description "IPv6 address";
                    leaf ipv6-address {
                      type Bag-in6-addr;
                      description "IPv6 Address";
                    }
                  }  // container ipv6-address
    
                  leaf encapsulation {
                    type Ptp-bag-encap;
                    description "Encapsulation";
                  }
    
                  leaf address-unknown {
                    when
                      "../encapsulation = 'unknown'" {
                      description
                        "../Encapsulation = 'Unknown'";
                    }
                    type boolean;
                    description
                      "Unknown address type";
                  }
    
                  leaf ipv4-address {
                    when
                      "../encapsulation = 'ipv4'" {
                      description
                        "../Encapsulation = 'IPv4'";
                    }
                    type inet:ipv4-address;
                    description "IPv4 address";
                  }
                }  // container address
    
                container announce-grant {
                  description
                    "Unicast grant information for announce messages";
                  leaf log-grant-interval {
                    type int8;
                    description
                      "Log of the interval which has been granted";
                  }
    
                  leaf grant-duration {
                    type uint32;
                    description
                      "Duraction of the grant";
                  }
                }  // container announce-grant
    
                container sync-grant {
                  description
                    "Unicast grant information for sync messages";
                  leaf log-grant-interval {
                    type int8;
                    description
                      "Log of the interval which has been granted";
                  }
    
                  leaf grant-duration {
                    type uint32;
                    description
                      "Duraction of the grant";
                  }
                }  // container sync-grant
    
                container delay-response-grant {
                  description
                    "Unicast grant information for delay-response
    messages";
                  leaf log-grant-interval {
                    type int8;
                    description
                      "Log of the interval which has been granted";
                  }
    
                  leaf grant-duration {
                    type uint32;
                    description
                      "Duraction of the grant";
                  }
                }  // container delay-response-grant
              }  // list foreign-master
            }  // list interface-unicast-peer
          }  // container interface-unicast-peers
    
          container utc-offset-info {
            description "UTC offset information";
            container current-offset-info {
              description
                "The current UTC offset information";
              leaf offset {
                type int16;
                units "second";
                description
                  "The UTC offset (TAI - UTC), in seconds";
              }
    
              leaf valid {
                type boolean;
                description
                  "Is the UTC offset valid?";
              }
    
              leaf flag {
                type Ptp-clock-leap-seconds;
                description
                  "Indicates the duration of the final minute of
    the current day";
              }
            }  // container current-offset-info
    
            container current-gm-offset-info {
              description
                "The UTC offset information recovered from the
    current grandmaster";
              leaf offset {
                type int16;
                units "second";
                description
                  "The UTC offset (TAI - UTC), in seconds";
              }
    
              leaf valid {
                type boolean;
                description
                  "Is the UTC offset valid?";
              }
    
              leaf flag {
                type Ptp-clock-leap-seconds;
                description
                  "Indicates the duration of the final minute of
    the current day";
              }
            }  // container current-gm-offset-info
    
            container configured-offset-info {
              description
                "The currently configured UTC offset information";
              leaf offset {
                type int16;
                units "second";
                description
                  "The UTC offset (TAI - UTC), in seconds";
              }
    
              leaf valid {
                type boolean;
                description
                  "Is the UTC offset valid?";
              }
    
              leaf flag {
                type Ptp-clock-leap-seconds;
                description
                  "Indicates the duration of the final minute of
    the current day";
              }
            }  // container configured-offset-info
    
            container previous-gm-offset-info {
              description
                "The UTC offset information recovered from the
    prevous grandmaster";
              leaf offset {
                type int16;
                units "second";
                description
                  "The UTC offset (TAI - UTC), in seconds";
              }
    
              leaf valid {
                type boolean;
                description
                  "Is the UTC offset valid?";
              }
    
              leaf flag {
                type Ptp-clock-leap-seconds;
                description
                  "Indicates the duration of the final minute of
    the current day";
              }
            }  // container previous-gm-offset-info
    
            container hardware-offset-info {
              description
                "The UTC offset information taken from the
    hardware";
              leaf offset {
                type int16;
                units "second";
                description
                  "The UTC offset (TAI - UTC), in seconds";
              }
    
              leaf valid {
                type boolean;
                description
                  "Is the UTC offset valid?";
              }
    
              leaf flag {
                type Ptp-clock-leap-seconds;
                description
                  "Indicates the duration of the final minute of
    the current day";
              }
            }  // container hardware-offset-info
    
            container gm-leap-second {
              description
                "The upcoming leap second advertised by the
    grandmaster (if there is one)";
              leaf offset {
                type int16;
                units "second";
                description
                  "The UTC offset (TAI - UTC), in seconds";
              }
    
              leaf offset-start-date {
                type uint64;
                description
                  "The UNIX timestamp at which the offset becomes
    valid";
              }
    
              leaf offset-change {
                type int16;
                description
                  "The change in UTC offset on applying this offset";
              }
    
              leaf offset-applied {
                type boolean;
                description
                  "Indicates whether the offset has been applied";
              }
            }  // container gm-leap-second
    
            leaf source-type {
              type Ptp-leap-seconds-source;
              description
                "The current source of the UTC offset information";
            }
    
            leaf source-file {
              type Ptp-bag-optional-string;
              description
                "The URL of the file containing leap second
    information";
            }
    
            leaf source-expiry-date {
              type uint32;
              units "second";
              description
                "Source file expiry timestamp, in seconds since
    UNIX epoch";
            }
    
            leaf polling-frequency {
              type uint32;
              units "day";
              description
                "Source file polling frequency, in days";
            }
    
            list configured-leap-second {
              description
                "The list of upcoming configured leap second
    updates";
              leaf offset {
                type int16;
                units "second";
                description
                  "The UTC offset (TAI - UTC), in seconds";
              }
    
              leaf offset-start-date {
                type uint64;
                description
                  "The UNIX timestamp at which the offset becomes
    valid";
              }
    
              leaf offset-change {
                type int16;
                description
                  "The change in UTC offset on applying this offset";
              }
    
              leaf offset-applied {
                type boolean;
                description
                  "Indicates whether the offset has been applied";
              }
            }  // list configured-leap-second
          }  // container utc-offset-info
    
          container platform {
            description
              "PTP platform specific data";
            container servo {
              description
                "PTP servo related parameters";
              container last-set-time {
                description
                  "last input of setTime";
                leaf second {
                  type uint32;
                  description "value of second";
                }
    
                leaf nano-second {
                  type uint32;
                  description
                    "value of nano second";
                }
              }  // container last-set-time
    
              container last-received-t1 {
                description
                  "last T1 timestamp received";
                leaf second {
                  type uint32;
                  description "value of second";
                }
    
                leaf nano-second {
                  type uint32;
                  description
                    "value of nano second";
                }
              }  // container last-received-t1
    
              container last-received-t2 {
                description
                  "last T2 timestamp received";
                leaf second {
                  type uint32;
                  description "value of second";
                }
    
                leaf nano-second {
                  type uint32;
                  description
                    "value of nano second";
                }
              }  // container last-received-t2
    
              container last-received-t3 {
                description
                  "last T3 timestamp received";
                leaf second {
                  type uint32;
                  description "value of second";
                }
    
                leaf nano-second {
                  type uint32;
                  description
                    "value of nano second";
                }
              }  // container last-received-t3
    
              container last-received-t4 {
                description
                  "last T4 timestamp received";
                leaf second {
                  type uint32;
                  description "value of second";
                }
    
                leaf nano-second {
                  type uint32;
                  description
                    "value of nano second";
                }
              }  // container last-received-t4
    
              container pre-received-t1 {
                description
                  "pre T1 timestamp received";
                leaf second {
                  type uint32;
                  description "value of second";
                }
    
                leaf nano-second {
                  type uint32;
                  description
                    "value of nano second";
                }
              }  // container pre-received-t1
    
              container pre-received-t2 {
                description
                  "pre T2 timestamp received";
                leaf second {
                  type uint32;
                  description "value of second";
                }
    
                leaf nano-second {
                  type uint32;
                  description
                    "value of nano second";
                }
              }  // container pre-received-t2
    
              container pre-received-t3 {
                description
                  "pre T3 timestamp received";
                leaf second {
                  type uint32;
                  description "value of second";
                }
    
                leaf nano-second {
                  type uint32;
                  description
                    "value of nano second";
                }
              }  // container pre-received-t3
    
              container pre-received-t4 {
                description
                  "pre T4 timestamp received";
                leaf second {
                  type uint32;
                  description "value of second";
                }
    
                leaf nano-second {
                  type uint32;
                  description
                    "value of nano second";
                }
              }  // container pre-received-t4
    
              leaf lock-status {
                type uint16;
                description
                  "lock status of device";
              }
    
              leaf running {
                type boolean;
                description
                  "running status of apr";
              }
    
              leaf device-status {
                type string {
                  length "0..50";
                }
                description "status of device";
              }
    
              leaf log-level {
                type uint16;
                description "log level of apr";
              }
    
              leaf phase-accuracy-last {
                type int64;
                description
                  " last phase alignment accuracy";
              }
    
              leaf num-sync-timestamp {
                type uint32;
                description
                  "number of sync timestamp received";
              }
    
              leaf num-delay-timestamp {
                type uint32;
                description
                  "number of delay timestamp received";
              }
    
              leaf num-set-time {
                type uint32;
                description
                  "number of setTime() been called";
              }
    
              leaf num-step-time {
                type uint32;
                description
                  "number of stepTime() been called";
              }
    
              leaf num-adjust-freq {
                type uint32;
                description
                  "number of adjustFreq() been called";
              }
    
              leaf num-adjust-freq-time {
                type uint32;
                description
                  "number of adjustFreqTime() been called";
              }
    
              leaf last-adjust-freq {
                type int32;
                description
                  "last input of adjustFreq";
              }
    
              leaf last-step-time {
                type int32;
                description
                  "last input of stepTime";
              }
    
              leaf num-discard-sync-timestamp {
                type uint32;
                description
                  "number of sync timestamp discarded";
              }
    
              leaf num-discard-delay-timestamp {
                type uint32;
                description
                  "number of delay timestamp discarded";
              }
    
              leaf flagof-last-set-time {
                type boolean;
                description
                  "last input flag of setTime";
              }
    
              leaf offset-from-master {
                type int64;
                description
                  "Time Offset From Master";
              }
    
              leaf mean-path-delay {
                type int64;
                description "Mean Path Delay";
              }
    
              leaf servo-mode {
                type int32;
                description "Servo Mode";
              }
            }  // container servo
          }  // container platform
        }  // container ptp
      }  // module Cisco-IOS-XR-ptp-oper
    

© 2023 YumaWorks, Inc. All rights reserved.