Cisco-IOS-XR-perf-meas-oper

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

  • Version: 2021-06-02

    Cisco-IOS-XR-perf-meas-oper@2021-06-02


    
      module Cisco-IOS-XR-perf-meas-oper {
    
        yang-version 1;
    
        namespace
          "http://cisco.com/ns/yang/Cisco-IOS-XR-perf-meas-oper";
    
        prefix perf-meas-oper;
    
        import Cisco-IOS-XR-types {
          prefix xr;
        }
        import cisco-semver {
          prefix semver;
        }
    
        include Cisco-IOS-XR-perf-meas-oper-sub2 {
          revision-date "2021-06-02";
        }
        include Cisco-IOS-XR-perf-meas-oper-sub1 {
          revision-date "2021-06-02";
        }
    
        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 perf-meas package operational data.
         
         This module contains definitions
         for the following management objects:
           performance-measurement: Performance Measurement operational
             data
           performance-measurement-responder: Performance Measurement
             operational data
         
         Copyright (c) 2013-2021 by Cisco Systems, Inc.
         All rights reserved.";
    
        revision "2021-06-02" {
          description
            "Added session id to endpoint liveness bag.
           2021-04-17
             Removed liveness parameters from delay profile bag.
           2021-02-26
             Remove PM hidden show cli, loss, history packet.
           2021-02-16
             Remove liveness history and liveness detection verbose from sr-policy delay schema.
           2021-01-08
             Added srpolicy liveness schema.
           2021-01-08
             Added srpolicy liveness history schema and renamed liveness detection schema.
           2020-12-19
             Added schema for endpoint liveness profile.
           2020-12-02
             Add sr-policy liveness profile bag and oper schema.
           2020-11-26
             Update endpoint show command bags in order to support liveness-detection.
           2020-11-17
             Added new bag for PPS info. IosSetYangSchemaRev Cisco-IOS-XR-perf-meas-oper
           2020-10-27
             Added anomaly support for sr-policy min delay metrics.
           2020-10-27
             Added all endpoint show commands support and respective bags.
           2020-10-15
             Update probe running reason name for link down.
           2020-10-02
             Added anomaly support for interface min delay metrics.
           2020-08-06
             Added liveness session state history information.
           2020-07-23
             Fixed typos in perf-meas oper bag.";
        }
    
        revision "2020-06-24" {
          description
            "Update perf-meas oper schema task group.
           2020-04-10
           Added new TX error counter for next hop MAC missing.
           2020-03-31
           721 nohelp CLI for liveness, loopback, endpoint, src-port, named profile, distribution.
           2020-03-25
           Add trace id in PM session bag.
           2020-03-17
           Added new types counters to count different types of PM DM sessions.
           2020-03-09
           Added new types of probe running errors and counters for probe running errors.
           2020-02-24
           Modifid type of service knobs from array to integer.
           2020-02-21
           Modify router alert type
           2020-02-19
           Modifiy periodic minimum change value.
           2020-02-13
           Modifiy delay-measurement hisotry key words.
           2020-01-22
           Added a new advertisement reason for interface delay-measurement.
           2019-12-16
           Revision IOS XR 7.2.1 Added responder src address and num of hops for PM DM.
           2019-12-09
           Added new reason for DM probe not running.
           2019-11-18
           Revision IOS XR 7.2.1 Added EDT for Liveness state for SR Policy Candidate path atmoic path.";
        }
    
        revision "2019-10-19" {
          description
            "Added burst-interval-effective to oper data.";
        }
    
        revision "2019-04-05" {
          description
            "Establish semantic version baseline.";
        }
    
        revision "2018-12-13" {
          description
            "Revision IOS XR 7.0.1 Added delay measurment for SR Policy and RSVP-TE LSP.";
        }
    
        revision "2017-10-17" {
          description "Revision Zero.";
        }
    
        revision "2015-11-09" {
          description "IOS XR 6.0 revision.";
        }
    
        semver:module-version "4.0.0";
        semver:module-version "3.0.0";
        semver:module-version "2.0.0";
        semver:module-version "1.0.0";
    
        container performance-measurement {
          config false;
          description
            "Performance Measurement operational data";
          container nodes {
            description
              "Node table for node-specific operational data";
            list node {
              key "node";
              description
                "Node-specific data for a particular node";
              container sr-policies {
                description "SR Policies";
                container sr-policy-details {
                  description
                    "Table of SR Policies detail info";
                  list sr-policy-detail {
                    key "policy-name";
                    description
                      "SR Policy information";
                    leaf policy-name {
                      type xr:Cisco-ios-xr-string;
                      description "Policy name";
                    }
    
                    container end-point-address {
                      description
                        "IPv4/IPv6 End point address";
                      leaf ip-address-type {
                        type Pm-addr;
                        description
                          "IPAddressType";
                      }
    
                      leaf ipv4 {
                        when
                          "../ip-address-type = 'ipv4'" {
                          description
                            "../IPAddressType = 'IPv4'";
                        }
                        type Pm-ipv4-addr;
                        description
                          "IPv4 address type";
                      }
    
                      leaf ipv6 {
                        when
                          "../ip-address-type = 'ipv6'" {
                          description
                            "../IPAddressType = 'IPv6'";
                        }
                        type Pm-ipv6-addr;
                        description
                          "IPv6 address type";
                      }
                    }  // container end-point-address
    
                    leaf color {
                      type uint32;
                      description "Color";
                    }
    
                    leaf policy-name-xr {
                      type string;
                      description
                        "Name of the SR Policy";
                    }
    
                    leaf candidate-path-total-count {
                      type uint32;
                      description
                        "Number of candidate-paths in the SR Policy";
                    }
    
                    list candidate-path {
                      description
                        "List of candidate-paths";
                      container last-advertisement-information {
                        description
                          "Last advertisement information of the
    candidate-path";
                        container advertised-values {
                          description
                            "Advertised delay information";
                          leaf average {
                            type uint32;
                            description
                              "Average value (uSec)";
                          }
    
                          leaf minimum {
                            type uint32;
                            description
                              "Minimum value (uSec)";
                          }
    
                          leaf maximum {
                            type uint32;
                            description
                              "Maximum value (uSec)";
                          }
    
                          leaf variance {
                            type uint32;
                            description
                              "Variance value (uSec)";
                          }
                        }  // container advertised-values
    
                        leaf time-of-advertisement {
                          type uint64;
                          units "millisecond";
                          description
                            "Time of the advertisement (milliseconds since
    Jan. 1, 1970)";
                        }
    
                        leaf advertisement-reason {
                          type Pm-advert-reason;
                          description
                            "Reason for advertisement";
                        }
    
                        leaf aflag-set {
                          type boolean;
                          description
                            "A flag is set";
                        }
                      }  // container last-advertisement-information
    
                      container next-advertisement-information {
                        description
                          "Current advertisement information of the
    candidate-path";
                        container advertisement-interval-values {
                          description
                            "Next advertisement values";
                          leaf average {
                            type uint32;
                            description
                              "Average value (uSec)";
                          }
    
                          leaf minimum {
                            type uint32;
                            description
                              "Minimum value (uSec)";
                          }
    
                          leaf maximum {
                            type uint32;
                            description
                              "Maximum value (uSec)";
                          }
    
                          leaf variance {
                            type uint32;
                            description
                              "Variance value (uSec)";
                          }
                        }  // container advertisement-interval-values
    
                        leaf advertisement-interval-probes-remaining {
                          type uint32;
                          description
                            "Probes remaining until next periodic
    advertisement check";
                        }
    
                        leaf rolling-average {
                          type uint32;
                          description
                            "Rolling average value (uSec)";
                        }
                      }  // container next-advertisement-information
    
                      container last-probe-results {
                        description
                          "Last probe results of candidate-path";
                        container probe-values {
                          description
                            "Summarized results of the probe";
                          leaf average {
                            type uint32;
                            description
                              "Average value (uSec)";
                          }
    
                          leaf minimum {
                            type uint32;
                            description
                              "Minimum value (uSec)";
                          }
    
                          leaf maximum {
                            type uint32;
                            description
                              "Maximum value (uSec)";
                          }
    
                          leaf variance {
                            type uint32;
                            description
                              "Variance value (uSec)";
                          }
                        }  // container probe-values
    
                        leaf number-of-packets-sent {
                          type uint32;
                          description
                            "Number of packets sent in the probe";
                        }
    
                        leaf number-of-packets-received {
                          type uint32;
                          description
                            "Number of packets received in the probe";
                        }
                      }  // container last-probe-results
    
                      container current-probe {
                        description
                          "Information for the current probe";
                        container probe-results {
                          description
                            "Summarized  results of the current probe";
                          leaf average {
                            type uint32;
                            description
                              "Average value (uSec)";
                          }
    
                          leaf minimum {
                            type uint32;
                            description
                              "Minimum value (uSec)";
                          }
    
                          leaf maximum {
                            type uint32;
                            description
                              "Maximum value (uSec)";
                          }
    
                          leaf variance {
                            type uint32;
                            description
                              "Variance value (uSec)";
                          }
                        }  // container probe-results
    
                        leaf probe-start-time-stamp {
                          type uint64;
                          units "millisecond";
                          description
                            "Timestamp in milliseconds of the current probe
    start (milliseconds since Jan. 1, 1970)";
                        }
    
                        leaf next-probe-start-time-remaining-in-millisec {
                          type uint32;
                          units "millisecond";
                          description
                            "Time in milliseconds until the next probe starts";
                        }
    
                        leaf next-packet-sent-time-remaining-in-millisec {
                          type uint32;
                          units "millisecond";
                          description
                            "Time in milliseconds until the next packet is
    sent";
                        }
    
                        leaf burst-interval {
                          type uint32;
                          units "millisecond";
                          description
                            "Burst interval (in milliseconds)";
                        }
    
                        leaf burst-interval-is-stretched {
                          type boolean;
                          description
                            "True if the burst interval has been stretched
    for packet rate-limiting";
                        }
    
                        leaf number-of-packets-sent {
                          type uint32;
                          description
                            "Number of packets sent in the current probe";
                        }
    
                        leaf number-of-packets-received {
                          type uint32;
                          description
                            "Number of packets received in the current probe";
                        }
    
                        leaf probe-not-running-reason {
                          type Pm-probe-running-error-reason;
                          description
                            "Reason why probe is not running";
                        }
                      }  // container current-probe
    
                      container last-notification-control-code {
                        description
                          "Last notifcation control code received of the
    candidate-path";
                        leaf control-code {
                          type uint8;
                          description
                            "MPLS PM RFC 6374 control code";
                        }
    
                        leaf timestamp {
                          type uint64;
                          units "millisecond";
                          description
                            "Received timestamp of the control code
    (milliseconds since Jan. 1, 1970)";
                        }
                      }  // container last-notification-control-code
    
                      container last-error-control-code {
                        description
                          "Last error control code received of the
    candidate-path";
                        leaf control-code {
                          type uint8;
                          description
                            "MPLS PM RFC 6374 control code";
                        }
    
                        leaf timestamp {
                          type uint64;
                          units "millisecond";
                          description
                            "Received timestamp of the control code
    (milliseconds since Jan. 1, 1970)";
                        }
                      }  // container last-error-control-code
    
                      container liveness-detection-info {
                        description
                          "Information for liveness detection";
                        leaf session-is-up {
                          type boolean;
                          description
                            "Liveness session state";
                        }
    
                        leaf miss-count {
                          type uint32;
                          description
                            "Number of continuously missed probe packets";
                        }
    
                        leaf last-session-state-change-timestamp {
                          type uint64;
                          description
                            "Timestamp of the last liveness session state
    change";
                        }
                      }  // container liveness-detection-info
    
                      leaf instance {
                        type uint32;
                        description
                          "Session instance";
                      }
    
                      leaf preference {
                        type uint32;
                        description
                          "Preference of the candidate-path";
                      }
    
                      leaf origin {
                        type Pm-xtc-srpolicy-origin;
                        description
                          "Protocol-origin of the candidate-path";
                      }
    
                      leaf discriminator {
                        type uint32;
                        description
                          "Discriminator of the candidate-path";
                      }
    
                      leaf source-address-v4 {
                        type inet:ipv4-address;
                        description
                          "Source address of the candidate-path";
                      }
    
                      leaf reverse-path-label {
                        type uint32;
                        description
                          "Reverse-path label";
                      }
    
                      leaf profile-name {
                        type string;
                        description
                          "SR Policy delay-measurement profile name";
                      }
    
                      leaf periodic-advertisement-interval-in-sec {
                        type uint32;
                        units "second";
                        description
                          "Interval of periodic advertisement in seconds";
                      }
    
                      leaf liveness-detection-enabled {
                        type boolean;
                        description
                          "Liveness detection is enabled";
                      }
    
                      leaf segment-list-total-count {
                        type uint32;
                        description
                          "Number of segment lists in the candidate-path";
                      }
    
                      list segment-list {
                        description
                          "List of segment-lists";
                        container last-advertisement-information {
                          description
                            "Last advertisement information of the
    segment-list";
                          container advertised-values {
                            description
                              "Advertised delay information";
                            leaf average {
                              type uint32;
                              description
                                "Average value (uSec)";
                            }
    
                            leaf minimum {
                              type uint32;
                              description
                                "Minimum value (uSec)";
                            }
    
                            leaf maximum {
                              type uint32;
                              description
                                "Maximum value (uSec)";
                            }
    
                            leaf variance {
                              type uint32;
                              description
                                "Variance value (uSec)";
                            }
                          }  // container advertised-values
    
                          leaf time-of-advertisement {
                            type uint64;
                            units "millisecond";
                            description
                              "Time of the advertisement (milliseconds since
    Jan. 1, 1970)";
                          }
    
                          leaf advertisement-reason {
                            type Pm-advert-reason;
                            description
                              "Reason for advertisement";
                          }
    
                          leaf aflag-set {
                            type boolean;
                            description
                              "A flag is set";
                          }
                        }  // container last-advertisement-information
    
                        container next-advertisement-information {
                          description
                            "Current advertisement information of the
    segment-list";
                          container advertisement-interval-values {
                            description
                              "Next advertisement values";
                            leaf average {
                              type uint32;
                              description
                                "Average value (uSec)";
                            }
    
                            leaf minimum {
                              type uint32;
                              description
                                "Minimum value (uSec)";
                            }
    
                            leaf maximum {
                              type uint32;
                              description
                                "Maximum value (uSec)";
                            }
    
                            leaf variance {
                              type uint32;
                              description
                                "Variance value (uSec)";
                            }
                          }  // container advertisement-interval-values
    
                          leaf advertisement-interval-probes-remaining {
                            type uint32;
                            description
                              "Probes remaining until next periodic
    advertisement check";
                          }
    
                          leaf rolling-average {
                            type uint32;
                            description
                              "Rolling average value (uSec)";
                          }
                        }  // container next-advertisement-information
    
                        container current-probe-results {
                          description
                            "Current probe results of the segment-list";
                          container probe-values {
                            description
                              "Summarized results of the probe";
                            leaf average {
                              type uint32;
                              description
                                "Average value (uSec)";
                            }
    
                            leaf minimum {
                              type uint32;
                              description
                                "Minimum value (uSec)";
                            }
    
                            leaf maximum {
                              type uint32;
                              description
                                "Maximum value (uSec)";
                            }
    
                            leaf variance {
                              type uint32;
                              description
                                "Variance value (uSec)";
                            }
                          }  // container probe-values
    
                          leaf number-of-packets-sent {
                            type uint32;
                            description
                              "Number of packets sent in the probe";
                          }
    
                          leaf number-of-packets-received {
                            type uint32;
                            description
                              "Number of packets received in the probe";
                          }
                        }  // container current-probe-results
    
                        container last-probe-results {
                          description
                            "Last probe results of the segment-list";
                          container probe-values {
                            description
                              "Summarized results of the probe";
                            leaf average {
                              type uint32;
                              description
                                "Average value (uSec)";
                            }
    
                            leaf minimum {
                              type uint32;
                              description
                                "Minimum value (uSec)";
                            }
    
                            leaf maximum {
                              type uint32;
                              description
                                "Maximum value (uSec)";
                            }
    
                            leaf variance {
                              type uint32;
                              description
                                "Variance value (uSec)";
                            }
                          }  // container probe-values
    
                          leaf number-of-packets-sent {
                            type uint32;
                            description
                              "Number of packets sent in the probe";
                          }
    
                          leaf number-of-packets-received {
                            type uint32;
                            description
                              "Number of packets received in the probe";
                          }
                        }  // container last-probe-results
    
                        container liveness-detection-info {
                          description
                            "Information for liveness detection";
                          leaf session-is-up {
                            type boolean;
                            description
                              "Liveness session state";
                          }
    
                          leaf miss-count {
                            type uint32;
                            description
                              "Number of continuously missed probe packets";
                          }
    
                          leaf last-session-state-change-timestamp {
                            type uint64;
                            description
                              "Timestamp of the last liveness session state
    change";
                          }
                        }  // container liveness-detection-info
    
                        container last-notification-control-code {
                          description
                            "Last notifcation control code received of the
    segment-list";
                          leaf control-code {
                            type uint8;
                            description
                              "MPLS PM RFC 6374 control code";
                          }
    
                          leaf timestamp {
                            type uint64;
                            units "millisecond";
                            description
                              "Received timestamp of the control code
    (milliseconds since Jan. 1, 1970)";
                          }
                        }  // container last-notification-control-code
    
                        container last-error-control-code {
                          description
                            "Last error control code received of the
    segment-list";
                          leaf control-code {
                            type uint8;
                            description
                              "MPLS PM RFC 6374 control code";
                          }
    
                          leaf timestamp {
                            type uint64;
                            units "millisecond";
                            description
                              "Received timestamp of the control code
    (milliseconds since Jan. 1, 1970)";
                          }
                        }  // container last-error-control-code
    
                        leaf segment-list-name {
                          type string;
                          description
                            "Name of the segment-list";
                        }
    
                        leaf atomic-path-total-count {
                          type uint32;
                          description
                            "Number of atomic paths in the segment-list";
                        }
    
                        leaf liveness-detection-enabled {
                          type boolean;
                          description
                            "Liveness detection is enabled";
                        }
    
                        list segment {
                          description
                            "List of segments";
                          container ip-address {
                            description
                              "Segment IP address";
                            leaf ip-address-type {
                              type Pm-addr;
                              description
                                "IPAddressType";
                            }
    
                            leaf ipv4 {
                              when
                                "../ip-address-type = 'ipv4'" {
                                description
                                  "../IPAddressType = 'IPv4'";
                              }
                              type Pm-ipv4-addr;
                              description
                                "IPv4 address type";
                            }
    
                            leaf ipv6 {
                              when
                                "../ip-address-type = 'ipv6'" {
                                description
                                  "../IPAddressType = 'IPv6'";
                              }
                              type Pm-ipv6-addr;
                              description
                                "IPv6 address type";
                            }
                          }  // container ip-address
    
                          leaf mpls-label {
                            type uint32;
                            description
                              "Segment mpls label";
                          }
                        }  // list segment
    
                        list atomic-path {
                          description
                            "List of atomic paths";
                          container last-advertisement-information {
                            description
                              "Last advertisement information of the atomic
    path";
                            container advertised-values {
                              description
                                "Advertised delay information";
                              leaf average {
                                type uint32;
                                description
                                  "Average value (uSec)";
                              }
    
                              leaf minimum {
                                type uint32;
                                description
                                  "Minimum value (uSec)";
                              }
    
                              leaf maximum {
                                type uint32;
                                description
                                  "Maximum value (uSec)";
                              }
    
                              leaf variance {
                                type uint32;
                                description
                                  "Variance value (uSec)";
                              }
                            }  // container advertised-values
    
                            leaf time-of-advertisement {
                              type uint64;
                              units
                                "millisecond";
                              description
                                "Time of the advertisement (milliseconds since
    Jan. 1, 1970)";
                            }
    
                            leaf advertisement-reason {
                              type Pm-advert-reason;
                              description
                                "Reason for advertisement";
                            }
    
                            leaf aflag-set {
                              type boolean;
                              description
                                "A flag is set";
                            }
                          }  // container last-advertisement-information
    
                          container next-advertisement-information {
                            description
                              "Current advertisement information of the atomic
    path";
                            container advertisement-interval-values {
                              description
                                "Next advertisement values";
                              leaf average {
                                type uint32;
                                description
                                  "Average value (uSec)";
                              }
    
                              leaf minimum {
                                type uint32;
                                description
                                  "Minimum value (uSec)";
                              }
    
                              leaf maximum {
                                type uint32;
                                description
                                  "Maximum value (uSec)";
                              }
    
                              leaf variance {
                                type uint32;
                                description
                                  "Variance value (uSec)";
                              }
                            }  // container advertisement-interval-values
    
                            leaf advertisement-interval-probes-remaining {
                              type uint32;
                              description
                                "Probes remaining until next periodic
    advertisement check";
                            }
    
                            leaf rolling-average {
                              type uint32;
                              description
                                "Rolling average value (uSec)";
                            }
                          }  // container next-advertisement-information
    
                          container current-probe-results {
                            description
                              "Current probe results of the atomic path";
                            container probe-values {
                              description
                                "Summarized results of the probe";
                              leaf average {
                                type uint32;
                                description
                                  "Average value (uSec)";
                              }
    
                              leaf minimum {
                                type uint32;
                                description
                                  "Minimum value (uSec)";
                              }
    
                              leaf maximum {
                                type uint32;
                                description
                                  "Maximum value (uSec)";
                              }
    
                              leaf variance {
                                type uint32;
                                description
                                  "Variance value (uSec)";
                              }
                            }  // container probe-values
    
                            leaf number-of-packets-sent {
                              type uint32;
                              description
                                "Number of packets sent in the probe";
                            }
    
                            leaf number-of-packets-received {
                              type uint32;
                              description
                                "Number of packets received in the probe";
                            }
                          }  // container current-probe-results
    
                          container last-probe-results {
                            description
                              "Last probe results of the atomic path";
                            container probe-values {
                              description
                                "Summarized results of the probe";
                              leaf average {
                                type uint32;
                                description
                                  "Average value (uSec)";
                              }
    
                              leaf minimum {
                                type uint32;
                                description
                                  "Minimum value (uSec)";
                              }
    
                              leaf maximum {
                                type uint32;
                                description
                                  "Maximum value (uSec)";
                              }
    
                              leaf variance {
                                type uint32;
                                description
                                  "Variance value (uSec)";
                              }
                            }  // container probe-values
    
                            leaf number-of-packets-sent {
                              type uint32;
                              description
                                "Number of packets sent in the probe";
                            }
    
                            leaf number-of-packets-received {
                              type uint32;
                              description
                                "Number of packets received in the probe";
                            }
                          }  // container last-probe-results
    
                          container liveness-detection-info {
                            description
                              "Information for liveness detection";
                            leaf session-is-up {
                              type boolean;
                              description
                                "Liveness session state";
                            }
    
                            leaf miss-count {
                              type uint32;
                              description
                                "Number of continuously missed probe packets";
                            }
    
                            leaf last-session-state-change-timestamp {
                              type uint64;
                              description
                                "Timestamp of the last liveness session state
    change";
                            }
                          }  // container liveness-detection-info
    
                          container last-notification-control-code {
                            description
                              "Last notifcation control code received of the
    atomic path";
                            leaf control-code {
                              type uint8;
                              description
                                "MPLS PM RFC 6374 control code";
                            }
    
                            leaf timestamp {
                              type uint64;
                              units
                                "millisecond";
                              description
                                "Received timestamp of the control code
    (milliseconds since Jan. 1, 1970)";
                            }
                          }  // container last-notification-control-code
    
                          container last-error-control-code {
                            description
                              "Last error control code received of the atomic
    path";
                            leaf control-code {
                              type uint8;
                              description
                                "MPLS PM RFC 6374 control code";
                            }
    
                            leaf timestamp {
                              type uint64;
                              units
                                "millisecond";
                              description
                                "Received timestamp of the control code
    (milliseconds since Jan. 1, 1970)";
                            }
                          }  // container last-error-control-code
    
                          container responder-address {
                            description
                              "Address of the Responder";
                            leaf ip-address-type {
                              type Pm-addr;
                              description
                                "IPAddressType";
                            }
    
                            leaf ipv4 {
                              when
                                "../ip-address-type = 'ipv4'" {
                                description
                                  "../IPAddressType = 'IPv4'";
                              }
                              type Pm-ipv4-addr;
                              description
                                "IPv4 address type";
                            }
    
                            leaf ipv6 {
                              when
                                "../ip-address-type = 'ipv6'" {
                                description
                                  "../IPAddressType = 'IPv6'";
                              }
                              type Pm-ipv6-addr;
                              description
                                "IPv6 address type";
                            }
                          }  // container responder-address
    
                          leaf outgoing-interface {
                            type uint32;
                            description
                              "Outgoing interface of the atomic path";
                          }
    
                          leaf session-id {
                            type uint32;
                            description
                              "Session ID of the atomic path";
                          }
    
                          leaf liveness-detection-enabled {
                            type boolean;
                            description
                              "Liveness detection is enabled";
                          }
    
                          leaf query-number-of-hops {
                            type uint8;
                            description
                              "Number of hops traversed by the query packet";
                          }
    
                          list hop-address {
                            description
                              "Hop addresses list";
                            leaf ip-address-type {
                              type Pm-addr;
                              description
                                "IPAddressType";
                            }
    
                            leaf ipv4 {
                              when
                                "../ip-address-type = 'ipv4'" {
                                description
                                  "../IPAddressType = 'IPv4'";
                              }
                              type Pm-ipv4-addr;
                              description
                                "IPv4 address type";
                            }
    
                            leaf ipv6 {
                              when
                                "../ip-address-type = 'ipv6'" {
                                description
                                  "../IPAddressType = 'IPv6'";
                              }
                              type Pm-ipv6-addr;
                              description
                                "IPv6 address type";
                            }
                          }  // list hop-address
    
                          list label {
                            description
                              "MPLS labels of the atomic path";
                            leaf entry {
                              type uint32;
                              description
                                "MPLS labels of the atomic path";
                            }
                          }  // list label
    
                          list current-probe-history {
                            description
                              "Current probe history of the atomic path";
                            leaf measurement-value {
                              type uint64;
                              description
                                "Measurement value (nsec)";
                            }
    
                            leaf query-timestamp {
                              type uint64;
                              units
                                "millisecond";
                              description
                                "Timestamp when the measurement was taken
    (milliseconds since Jan. 1, 1970)";
                            }
                          }  // list current-probe-history
                        }  // list atomic-path
                      }  // list segment-list
                    }  // list candidate-path
                  }  // list sr-policy-detail
                }  // container sr-policy-details
    
                container sr-policy-delay {
                  description
                    "SR Policy Delay-measurement information";
                  container sr-policy-last-advertisements {
                    description
                      "Table of last advertisement metrics";
                    list sr-policy-last-advertisement {
                      key "sr-policy-name";
                      description
                        "Last advertisement metrics information";
                      leaf sr-policy-name {
                        type xr:Cisco-ios-xr-string;
                        description
                          "SR Policy name";
                      }
    
                      leaf policy-name {
                        type string;
                        description
                          "Name of the SR Policy";
                      }
    
                      list candidate-path {
                        description
                          "List of candidate-paths";
                        container metrics {
                          description
                            "Candidate-path metrics";
                          leaf average {
                            type uint32;
                            description
                              "Average value (uSec)";
                          }
    
                          leaf minimum {
                            type uint32;
                            description
                              "Minimum value (uSec)";
                          }
    
                          leaf maximum {
                            type uint32;
                            description
                              "Maximum value (uSec)";
                          }
    
                          leaf variance {
                            type uint32;
                            description
                              "Variance value (uSec)";
                          }
                        }  // container metrics
    
                        leaf instance {
                          type uint32;
                          description
                            "Session instance";
                        }
    
                        leaf preference {
                          type uint32;
                          description
                            "Preference of the candidate-path";
                        }
    
                        leaf origin {
                          type Pm-xtc-srpolicy-origin;
                          description
                            "Protocol origin";
                        }
    
                        leaf discriminator {
                          type uint32;
                          description
                            "Discriminator of the candidate-path";
                        }
    
                        leaf timestamp {
                          type uint64;
                          units "millisecond";
                          description
                            "Time when the metrics were computed
    (milliseconds since Jan. 1, 1970)";
                        }
    
                        list segment-list {
                          description
                            "List of segment-lists";
                          container metrics {
                            description
                              "Segment-list metrics";
                            leaf average {
                              type uint32;
                              description
                                "Average value (uSec)";
                            }
    
                            leaf minimum {
                              type uint32;
                              description
                                "Minimum value (uSec)";
                            }
    
                            leaf maximum {
                              type uint32;
                              description
                                "Maximum value (uSec)";
                            }
    
                            leaf variance {
                              type uint32;
                              description
                                "Variance value (uSec)";
                            }
                          }  // container metrics
    
                          leaf segment-list-name {
                            type string;
                            description
                              "Segment-list name, not set if path is dynamic";
                          }
    
                          list segment {
                            description
                              "List of segments";
                            container ip-address {
                              description
                                "Segment IP address";
                              leaf ip-address-type {
                                type Pm-addr;
                                description
                                  "IPAddressType";
                              }
    
                              leaf ipv4 {
                                when
                                  "../ip-address-type = 'ipv4'" {
                                  description
                                    "../IPAddressType = 'IPv4'";
                                }
                                type Pm-ipv4-addr;
                                description
                                  "IPv4 address type";
                              }
    
                              leaf ipv6 {
                                when
                                  "../ip-address-type = 'ipv6'" {
                                  description
                                    "../IPAddressType = 'IPv6'";
                                }
                                type Pm-ipv6-addr;
                                description
                                  "IPv6 address type";
                              }
                            }  // container ip-address
    
                            leaf mpls-label {
                              type uint32;
                              description
                                "Segment mpls label";
                            }
                          }  // list segment
    
                          list atomic-path {
                            description
                              "List of atomic paths";
                            container metrics {
                              description
                                "Atomic Path metrics";
                              leaf average {
                                type uint32;
                                description
                                  "Average value (uSec)";
                              }
    
                              leaf minimum {
                                type uint32;
                                description
                                  "Minimum value (uSec)";
                              }
    
                              leaf maximum {
                                type uint32;
                                description
                                  "Maximum value (uSec)";
                              }
    
                              leaf variance {
                                type uint32;
                                description
                                  "Variance value (uSec)";
                              }
                            }  // container metrics
    
                            list hop-address {
                              description
                                "Hop addresses list";
                              leaf ip-address-type {
                                type Pm-addr;
                                description
                                  "IPAddressType";
                              }
    
                              leaf ipv4 {
                                when
                                  "../ip-address-type = 'ipv4'" {
                                  description
                                    "../IPAddressType = 'IPv4'";
                                }
                                type Pm-ipv4-addr;
                                description
                                  "IPv4 address type";
                              }
    
                              leaf ipv6 {
                                when
                                  "../ip-address-type = 'ipv6'" {
                                  description
                                    "../IPAddressType = 'IPv6'";
                                }
                                type Pm-ipv6-addr;
                                description
                                  "IPv6 address type";
                              }
                            }  // list hop-address
    
                            list label {
                              description
                                "MPLS labels";
                              leaf entry {
                                type uint32;
                                description
                                  "MPLS labels";
                              }
                            }  // list label
                          }  // list atomic-path
                        }  // list segment-list
                      }  // list candidate-path
                    }  // list sr-policy-last-advertisement
                  }  // container sr-policy-last-advertisements
    
                  container sr-policy-probe-computation-histories {
                    description
                      "Table of probe computation history";
                    list sr-policy-probe-computation-history {
                      key "sr-policy-name";
                      description
                        "Probe computation history information";
                      leaf sr-policy-name {
                        type xr:Cisco-ios-xr-string;
                        description
                          "SR Policy name";
                      }
    
                      container end-point-address {
                        description
                          "IPv4/IPv6 End point address";
                        leaf ip-address-type {
                          type Pm-addr;
                          description
                            "IPAddressType";
                        }
    
                        leaf ipv4 {
                          when
                            "../ip-address-type = 'ipv4'" {
                            description
                              "../IPAddressType = 'IPv4'";
                          }
                          type Pm-ipv4-addr;
                          description
                            "IPv4 address type";
                        }
    
                        leaf ipv6 {
                          when
                            "../ip-address-type = 'ipv6'" {
                            description
                              "../IPAddressType = 'IPv6'";
                          }
                          type Pm-ipv6-addr;
                          description
                            "IPv6 address type";
                        }
                      }  // container end-point-address
    
                      leaf color {
                        type uint32;
                        description "Color";
                      }
    
                      leaf policy-name {
                        type string;
                        description
                          "Name of the SR Policy";
                      }
    
                      list candidate-paths-history {
                        description
                          "List of candidate-paths";
                        container history-info {
                          description
                            "History info of the candidate-path";
                          container probe-history {
                            when
                              "../history-type = 'history-type-probe'" {
                              description
                                "../HistoryType = 'HistoryTypeProbe'";
                            }
                            description
                              "Info of delay-measurement probe history";
                            list probe-history {
                              description
                                "List of samples of probe history records";
                              container probe-values {
                                description
                                  "Summarized results of the probe";
                                leaf average {
                                  type uint32;
                                  description
                                    "Average value (uSec)";
                                }
    
                                leaf minimum {
                                  type uint32;
                                  description
                                    "Minimum value (uSec)";
                                }
    
                                leaf maximum {
                                  type uint32;
                                  description
                                    "Maximum value (uSec)";
                                }
    
                                leaf variance {
                                  type uint32;
                                  description
                                    "Variance value (uSec)";
                                }
                              }  // container probe-values
    
                              leaf probe-start-timestamp {
                                type uint64;
                                units
                                  "millisecond";
                                description
                                  "Time last probe started (milliseconds since Jan.
    1, 1970)";
                              }
    
                              leaf packets-sent {
                                type uint32;
                                description
                                  "Number of query packets sent";
                              }
    
                              leaf packets-received {
                                type uint32;
                                description
                                  "Number of query Packets received";
                              }
                            }  // list probe-history
                          }  // container probe-history
    
                          container aggregated-history {
                            when
                              "../history-type = 'history-type-aggregated'" {
                              description
                                "../HistoryType = 'HistoryTypeAggregated'";
                            }
                            description
                              "Info of delay-measurement aggregation history";
                            list aggregated-history {
                              description
                                "List of samples of aggregation history records";
                              container aggregated-probe-values {
                                description
                                  "Summarised results of the aggregated probe";
                                leaf average {
                                  type uint32;
                                  description
                                    "Average value (uSec)";
                                }
    
                                leaf minimum {
                                  type uint32;
                                  description
                                    "Minimum value (uSec)";
                                }
    
                                leaf maximum {
                                  type uint32;
                                  description
                                    "Maximum value (uSec)";
                                }
    
                                leaf variance {
                                  type uint32;
                                  description
                                    "Variance value (uSec)";
                                }
                              }  // container aggregated-probe-values
    
                              leaf aggregation-timestamp {
                                type uint64;
                                units
                                  "millisecond";
                                description
                                  "Time probe aggregation was done (milliseconds
    since Jan. 1, 1970)";
                              }
                            }  // list aggregated-history
                          }  // container aggregated-history
    
                          container advertisement-history {
                            when
                              "../history-type = 'history-type-advertisement'" {
                              description
                                "../HistoryType = 'HistoryTypeAdvertisement'";
                            }
                            description
                              "Info of delay-measurement advertisement history";
                            list advertisement-history {
                              description
                                "List of samples of advertisement history records";
                              container advertised-values {
                                description
                                  "Advertised delay information";
                                leaf average {
                                  type uint32;
                                  description
                                    "Average value (uSec)";
                                }
    
                                leaf minimum {
                                  type uint32;
                                  description
                                    "Minimum value (uSec)";
                                }
    
                                leaf maximum {
                                  type uint32;
                                  description
                                    "Maximum value (uSec)";
                                }
    
                                leaf variance {
                                  type uint32;
                                  description
                                    "Variance value (uSec)";
                                }
                              }  // container advertised-values
    
                              leaf advertisement-timestamp {
                                type uint64;
                                units
                                  "millisecond";
                                description
                                  "Time advertisement was done (milliseconds since
    Jan. 1, 1970)";
                              }
    
                              leaf advertisement-reason {
                                type Pm-advert-reason;
                                description
                                  "Reason for advertisement";
                              }
                            }  // list advertisement-history
                          }  // container advertisement-history
    
                          container liveness-history {
                            when
                              "../history-type = 'history-type-liveness-state'" {
                              description
                                "../HistoryType = 'HistoryTypeLivenessState'";
                            }
                            description
                              "Info of liveness session history";
                            list liveness-hisotry {
                              description
                                "List of records of liveness history";
                              leaf liveness-state-change-timestamp {
                                type uint64;
                                description
                                  "Time liveness session state was changed";
                              }
    
                              leaf liveness-state-is-up {
                                type boolean;
                                description
                                  "True if liveness session is in UP state";
                              }
                            }  // list liveness-hisotry
                          }  // container liveness-history
    
                          container lm-probe-history {
                            when
                              "../history-type = 'history-type-lm-probe'" {
                              description
                                "../HistoryType = 'HistoryTypeLMProbe'";
                            }
                            description
                              "Info of loss-measurement probe history";
                            list lm-probe-hisotry {
                              description
                                "LM probe history";
                              leaf timestamp {
                                type uint64;
                                units
                                  "millisecond";
                                description
                                  "Timestamp (milliseconds since Jan. 1, 1970)";
                              }
    
                              leaf num-sent-packet {
                                type uint64;
                                description
                                  "Number of packets been sent in this probe
    interval";
                              }
    
                              leaf num-received-packet {
                                type uint64;
                                description
                                  "Number of packets been received in this probe
    interval";
                              }
    
                              leaf loss-percentage {
                                type uint32;
                                units
                                  "percentage";
                                description
                                  "Packet loss percentage";
                              }
                            }  // list lm-probe-hisotry
                          }  // container lm-probe-history
    
                          container lm-packet-history {
                            when
                              "../history-type = 'history-type-lm-packet'" {
                              description
                                "../HistoryType = 'HistoryTypeLMPacket'";
                            }
                            description
                              "Info of loss-measurement packet history";
                            list lm-packet-hisotry {
                              description
                                "LM packet history";
                              leaf timestamp {
                                type uint64;
                                units
                                  "millisecond";
                                description
                                  "Timestamp (milliseconds since Jan. 1, 1970)";
                              }
    
                              leaf tx-counter {
                                type uint64;
                                description
                                  "TX counter";
                              }
    
                              leaf rx-counter {
                                type uint64;
                                description
                                  "RX RX counter";
                              }
                            }  // list lm-packet-hisotry
                          }  // container lm-packet-history
    
                          container lm-aggregated-history {
                            when
                              "../history-type = 'history-type-lm-aggregated'" {
                              description
                                "../HistoryType = 'HistoryTypeLMAggregated'";
                            }
                            description
                              "Info of loss-measurement aggregation history";
                            list lm-aggregated-hisotry {
                              description
                                "LM aggregation history";
                              leaf timestamp {
                                type uint64;
                                units
                                  "millisecond";
                                description
                                  "Timestamp (milliseconds since Jan. 1, 1970)";
                              }
    
                              leaf num-sent-packet {
                                type uint64;
                                description
                                  "Number of packets been sent in this aggregation
    interval";
                              }
    
                              leaf num-received-packet {
                                type uint64;
                                description
                                  "Number of packets been received in this
    aggregation interval";
                              }
    
                              leaf loss-percentage {
                                type uint32;
                                units
                                  "percentage";
                                description
                                  "Packet loss percentage";
                              }
                            }  // list lm-aggregated-hisotry
                          }  // container lm-aggregated-history
    
                          container lm-advertisement-history {
                            when
                              "../history-type = 'history-type-lm-advertisement'" {
                              description
                                "../HistoryType = 'HistoryTypeLMAdvertisement'";
                            }
                            description
                              "Info of loss-measurement advertisement history";
                            list lm-advertisement-history {
                              description
                                "LM advertisement history";
                              leaf timestamp {
                                type uint64;
                                units
                                  "millisecond";
                                description
                                  "Timestamp (milliseconds since Jan. 1, 1970)";
                              }
    
                              leaf advertisement-reason {
                                type Pm-advert-reason;
                                description
                                  "Advertisement reason";
                              }
    
                              leaf loss-percentage {
                                type uint32;
                                units
                                  "percentage";
                                description
                                  "Packet loss percentage";
                              }
                            }  // list lm-advertisement-history
                          }  // container lm-advertisement-history
    
                          leaf history-type {
                            type Pm-history;
                            description
                              "HistoryType";
                          }
                        }  // container history-info
    
                        leaf preference {
                          type uint32;
                          description
                            "Preference of the candidate-path";
                        }
    
                        leaf origin {
                          type Pm-xtc-srpolicy-origin;
                          description
                            "Protocol origin";
                        }
    
                        leaf discriminator {
                          type uint32;
                          description
                            "Discriminator of the candidate-path";
                        }
    
                        list segment-lists-history {
                          description
                            "List of segment-lists";
                          container history-info {
                            description
                              "History info of the segment-list";
                            container probe-history {
                              when
                                "../history-type = 'history-type-probe'" {
                                description
                                  "../HistoryType = 'HistoryTypeProbe'";
                              }
                              description
                                "Info of delay-measurement probe history";
                              list probe-history {
                                description
                                  "List of samples of probe history records";
                                container probe-values {
                                  description
                                    "Summarized results of the probe";
                                  leaf average {
                                    type uint32;
                                    description
                                      "Average value (uSec)";
                                  }
    
                                  leaf minimum {
                                    type uint32;
                                    description
                                      "Minimum value (uSec)";
                                  }
    
                                  leaf maximum {
                                    type uint32;
                                    description
                                      "Maximum value (uSec)";
                                  }
    
                                  leaf variance {
                                    type uint32;
                                    description
                                      "Variance value (uSec)";
                                  }
                                }  // container probe-values
    
                                leaf probe-start-timestamp {
                                  type uint64;
                                  units
                                    "millisecond";
                                  description
                                    "Time last probe started (milliseconds since Jan.
    1, 1970)";
                                }
    
                                leaf packets-sent {
                                  type uint32;
                                  description
                                    "Number of query packets sent";
                                }
    
                                leaf packets-received {
                                  type uint32;
                                  description
                                    "Number of query Packets received";
                                }
                              }  // list probe-history
                            }  // container probe-history
    
                            container aggregated-history {
                              when
                                "../history-type = 'history-type-aggregated'" {
                                description
                                  "../HistoryType = 'HistoryTypeAggregated'";
                              }
                              description
                                "Info of delay-measurement aggregation history";
                              list aggregated-history {
                                description
                                  "List of samples of aggregation history records";
                                container aggregated-probe-values {
                                  description
                                    "Summarised results of the aggregated probe";
                                  leaf average {
                                    type uint32;
                                    description
                                      "Average value (uSec)";
                                  }
    
                                  leaf minimum {
                                    type uint32;
                                    description
                                      "Minimum value (uSec)";
                                  }
    
                                  leaf maximum {
                                    type uint32;
                                    description
                                      "Maximum value (uSec)";
                                  }
    
                                  leaf variance {
                                    type uint32;
                                    description
                                      "Variance value (uSec)";
                                  }
                                }  // container aggregated-probe-values
    
                                leaf aggregation-timestamp {
                                  type uint64;
                                  units
                                    "millisecond";
                                  description
                                    "Time probe aggregation was done (milliseconds
    since Jan. 1, 1970)";
                                }
                              }  // list aggregated-history
                            }  // container aggregated-history
    
                            container advertisement-history {
                              when
                                "../history-type = 'history-type-advertisement'" {
                                description
                                  "../HistoryType = 'HistoryTypeAdvertisement'";
                              }
                              description
                                "Info of delay-measurement advertisement history";
                              list advertisement-history {
                                description
                                  "List of samples of advertisement history records";
                                container advertised-values {
                                  description
                                    "Advertised delay information";
                                  leaf average {
                                    type uint32;
                                    description
                                      "Average value (uSec)";
                                  }
    
                                  leaf minimum {
                                    type uint32;
                                    description
                                      "Minimum value (uSec)";
                                  }
    
                                  leaf maximum {
                                    type uint32;
                                    description
                                      "Maximum value (uSec)";
                                  }
    
                                  leaf variance {
                                    type uint32;
                                    description
                                      "Variance value (uSec)";
                                  }
                                }  // container advertised-values
    
                                leaf advertisement-timestamp {
                                  type uint64;
                                  units
                                    "millisecond";
                                  description
                                    "Time advertisement was done (milliseconds since
    Jan. 1, 1970)";
                                }
    
                                leaf advertisement-reason {
                                  type Pm-advert-reason;
                                  description
                                    "Reason for advertisement";
                                }
                              }  // list advertisement-history
                            }  // container advertisement-history
    
                            container liveness-history {
                              when
                                "../history-type = 'history-type-liveness-state'" {
                                description
                                  "../HistoryType = 'HistoryTypeLivenessState'";
                              }
                              description
                                "Info of liveness session history";
                              list liveness-hisotry {
                                description
                                  "List of records of liveness history";
                                leaf liveness-state-change-timestamp {
                                  type uint64;
                                  description
                                    "Time liveness session state was changed";
                                }
    
                                leaf liveness-state-is-up {
                                  type boolean;
                                  description
                                    "True if liveness session is in UP state";
                                }
                              }  // list liveness-hisotry
                            }  // container liveness-history
    
                            container lm-probe-history {
                              when
                                "../history-type = 'history-type-lm-probe'" {
                                description
                                  "../HistoryType = 'HistoryTypeLMProbe'";
                              }
                              description
                                "Info of loss-measurement probe history";
                              list lm-probe-hisotry {
                                description
                                  "LM probe history";
                                leaf timestamp {
                                  type uint64;
                                  units
                                    "millisecond";
                                  description
                                    "Timestamp (milliseconds since Jan. 1, 1970)";
                                }
    
                                leaf num-sent-packet {
                                  type uint64;
                                  description
                                    "Number of packets been sent in this probe
    interval";
                                }
    
                                leaf num-received-packet {
                                  type uint64;
                                  description
                                    "Number of packets been received in this probe
    interval";
                                }
    
                                leaf loss-percentage {
                                  type uint32;
                                  units
                                    "percentage";
                                  description
                                    "Packet loss percentage";
                                }
                              }  // list lm-probe-hisotry
                            }  // container lm-probe-history
    
                            container lm-packet-history {
                              when
                                "../history-type = 'history-type-lm-packet'" {
                                description
                                  "../HistoryType = 'HistoryTypeLMPacket'";
                              }
                              description
                                "Info of loss-measurement packet history";
                              list lm-packet-hisotry {
                                description
                                  "LM packet history";
                                leaf timestamp {
                                  type uint64;
                                  units
                                    "millisecond";
                                  description
                                    "Timestamp (milliseconds since Jan. 1, 1970)";
                                }
    
                                leaf tx-counter {
                                  type uint64;
                                  description
                                    "TX counter";
                                }
    
                                leaf rx-counter {
                                  type uint64;
                                  description
                                    "RX RX counter";
                                }
                              }  // list lm-packet-hisotry
                            }  // container lm-packet-history
    
                            container lm-aggregated-history {
                              when
                                "../history-type = 'history-type-lm-aggregated'" {
                                description
                                  "../HistoryType = 'HistoryTypeLMAggregated'";
                              }
                              description
                                "Info of loss-measurement aggregation history";
                              list lm-aggregated-hisotry {
                                description
                                  "LM aggregation history";
                                leaf timestamp {
                                  type uint64;
                                  units
                                    "millisecond";
                                  description
                                    "Timestamp (milliseconds since Jan. 1, 1970)";
                                }
    
                                leaf num-sent-packet {
                                  type uint64;
                                  description
                                    "Number of packets been sent in this aggregation
    interval";
                                }
    
                                leaf num-received-packet {
                                  type uint64;
                                  description
                                    "Number of packets been received in this
    aggregation interval";
                                }
    
                                leaf loss-percentage {
                                  type uint32;
                                  units
                                    "percentage";
                                  description
                                    "Packet loss percentage";
                                }
                              }  // list lm-aggregated-hisotry
                            }  // container lm-aggregated-history
    
                            container lm-advertisement-history {
                              when
                                "../history-type = 'history-type-lm-advertisement'" {
                                description
                                  "../HistoryType = 'HistoryTypeLMAdvertisement'";
                              }
                              description
                                "Info of loss-measurement advertisement history";
                              list lm-advertisement-history {
                                description
                                  "LM advertisement history";
                                leaf timestamp {
                                  type uint64;
                                  units
                                    "millisecond";
                                  description
                                    "Timestamp (milliseconds since Jan. 1, 1970)";
                                }
    
                                leaf advertisement-reason {
                                  type Pm-advert-reason;
                                  description
                                    "Advertisement reason";
                                }
    
                                leaf loss-percentage {
                                  type uint32;
                                  units
                                    "percentage";
                                  description
                                    "Packet loss percentage";
                                }
                              }  // list lm-advertisement-history
                            }  // container lm-advertisement-history
    
                            leaf history-type {
                              type Pm-history;
                              description
                                "HistoryType";
                            }
                          }  // container history-info
    
                          leaf segment-list-name {
                            type string;
                            description
                              "Segment-list name, not set if path is dynamic";
                          }
    
                          list segment {
                            description
                              "List of segments";
                            container ip-address {
                              description
                                "Segment IP address";
                              leaf ip-address-type {
                                type Pm-addr;
                                description
                                  "IPAddressType";
                              }
    
                              leaf ipv4 {
                                when
                                  "../ip-address-type = 'ipv4'" {
                                  description
                                    "../IPAddressType = 'IPv4'";
                                }
                                type Pm-ipv4-addr;
                                description
                                  "IPv4 address type";
                              }
    
                              leaf ipv6 {
                                when
                                  "../ip-address-type = 'ipv6'" {
                                  description
                                    "../IPAddressType = 'IPv6'";
                                }
                                type Pm-ipv6-addr;
                                description
                                  "IPv6 address type";
                              }
                            }  // container ip-address
    
                            leaf mpls-label {
                              type uint32;
                              description
                                "Segment mpls label";
                            }
                          }  // list segment
    
                          list atomic-paths-history {
                            description
                              "List of atomic paths";
                            container history-info {
                              description
                                "History info of the atomic path ";
                              container probe-history {
                                when
                                  "../history-type = 'history-type-probe'" {
                                  description
                                    "../HistoryType = 'HistoryTypeProbe'";
                                }
                                description
                                  "Info of delay-measurement probe history";
                                list probe-history {
                                  description
                                    "List of samples of probe history records";
                                  container probe-values {
                                    description
                                      "Summarized results of the probe";
                                    leaf average {
                                      type uint32;
                                      description
                                        "Average value (uSec)";
                                    }
    
                                    leaf minimum {
                                      type uint32;
                                      description
                                        "Minimum value (uSec)";
                                    }
    
                                    leaf maximum {
                                      type uint32;
                                      description
                                        "Maximum value (uSec)";
                                    }
    
                                    leaf variance {
                                      type uint32;
                                      description
                                        "Variance value (uSec)";
                                    }
                                  }  // container probe-values
    
                                  leaf probe-start-timestamp {
                                    type uint64;
                                    units
                                      "millisecond";
                                    description
                                      "Time last probe started (milliseconds since Jan.
    1, 1970)";
                                  }
    
                                  leaf packets-sent {
                                    type uint32;
                                    description
                                      "Number of query packets sent";
                                  }
    
                                  leaf packets-received {
                                    type uint32;
                                    description
                                      "Number of query Packets received";
                                  }
                                }  // list probe-history
                              }  // container probe-history
    
                              container aggregated-history {
                                when
                                  "../history-type = 'history-type-aggregated'" {
                                  description
                                    "../HistoryType = 'HistoryTypeAggregated'";
                                }
                                description
                                  "Info of delay-measurement aggregation history";
                                list aggregated-history {
                                  description
                                    "List of samples of aggregation history records";
                                  container aggregated-probe-values {
                                    description
                                      "Summarised results of the aggregated probe";
                                    leaf average {
                                      type uint32;
                                      description
                                        "Average value (uSec)";
                                    }
    
                                    leaf minimum {
                                      type uint32;
                                      description
                                        "Minimum value (uSec)";
                                    }
    
                                    leaf maximum {
                                      type uint32;
                                      description
                                        "Maximum value (uSec)";
                                    }
    
                                    leaf variance {
                                      type uint32;
                                      description
                                        "Variance value (uSec)";
                                    }
                                  }  // container aggregated-probe-values
    
                                  leaf aggregation-timestamp {
                                    type uint64;
                                    units
                                      "millisecond";
                                    description
                                      "Time probe aggregation was done (milliseconds
    since Jan. 1, 1970)";
                                  }
                                }  // list aggregated-history
                              }  // container aggregated-history
    
                              container advertisement-history {
                                when
                                  "../history-type = 'history-type-advertisement'" {
                                  description
                                    "../HistoryType = 'HistoryTypeAdvertisement'";
                                }
                                description
                                  "Info of delay-measurement advertisement history";
                                list advertisement-history {
                                  description
                                    "List of samples of advertisement history records";
                                  container advertised-values {
                                    description
                                      "Advertised delay information";
                                    leaf average {
                                      type uint32;
                                      description
                                        "Average value (uSec)";
                                    }
    
                                    leaf minimum {
                                      type uint32;
                                      description
                                        "Minimum value (uSec)";
                                    }
    
                                    leaf maximum {
                                      type uint32;
                                      description
                                        "Maximum value (uSec)";
                                    }
    
                                    leaf variance {
                                      type uint32;
                                      description
                                        "Variance value (uSec)";
                                    }
                                  }  // container advertised-values
    
                                  leaf advertisement-timestamp {
                                    type uint64;
                                    units
                                      "millisecond";
                                    description
                                      "Time advertisement was done (milliseconds since
    Jan. 1, 1970)";
                                  }
    
                                  leaf advertisement-reason {
                                    type Pm-advert-reason;
                                    description
                                      "Reason for advertisement";
                                  }
                                }  // list advertisement-history
                              }  // container advertisement-history
    
                              container liveness-history {
                                when
                                  "../history-type = 'history-type-liveness-state'" {
                                  description
                                    "../HistoryType = 'HistoryTypeLivenessState'";
                                }
                                description
                                  "Info of liveness session history";
                                list liveness-hisotry {
                                  description
                                    "List of records of liveness history";
                                  leaf liveness-state-change-timestamp {
                                    type uint64;
                                    description
                                      "Time liveness session state was changed";
                                  }
    
                                  leaf liveness-state-is-up {
                                    type boolean;
                                    description
                                      "True if liveness session is in UP state";
                                  }
                                }  // list liveness-hisotry
                              }  // container liveness-history
    
                              container lm-probe-history {
                                when
                                  "../history-type = 'history-type-lm-probe'" {
                                  description
                                    "../HistoryType = 'HistoryTypeLMProbe'";
                                }
                                description
                                  "Info of loss-measurement probe history";
                                list lm-probe-hisotry {
                                  description
                                    "LM probe history";
                                  leaf timestamp {
                                    type uint64;
                                    units
                                      "millisecond";
                                    description
                                      "Timestamp (milliseconds since Jan. 1, 1970)";
                                  }
    
                                  leaf num-sent-packet {
                                    type uint64;
                                    description
                                      "Number of packets been sent in this probe
    interval";
                                  }
    
                                  leaf num-received-packet {
                                    type uint64;
                                    description
                                      "Number of packets been received in this probe
    interval";
                                  }
    
                                  leaf loss-percentage {
                                    type uint32;
                                    units
                                      "percentage";
                                    description
                                      "Packet loss percentage";
                                  }
                                }  // list lm-probe-hisotry
                              }  // container lm-probe-history
    
                              container lm-packet-history {
                                when
                                  "../history-type = 'history-type-lm-packet'" {
                                  description
                                    "../HistoryType = 'HistoryTypeLMPacket'";
                                }
                                description
                                  "Info of loss-measurement packet history";
                                list lm-packet-hisotry {
                                  description
                                    "LM packet history";
                                  leaf timestamp {
                                    type uint64;
                                    units
                                      "millisecond";
                                    description
                                      "Timestamp (milliseconds since Jan. 1, 1970)";
                                  }
    
                                  leaf tx-counter {
                                    type uint64;
                                    description
                                      "TX counter";
                                  }
    
                                  leaf rx-counter {
                                    type uint64;
                                    description
                                      "RX RX counter";
                                  }
                                }  // list lm-packet-hisotry
                              }  // container lm-packet-history
    
                              container lm-aggregated-history {
                                when
                                  "../history-type = 'history-type-lm-aggregated'" {
                                  description
                                    "../HistoryType = 'HistoryTypeLMAggregated'";
                                }
                                description
                                  "Info of loss-measurement aggregation history";
                                list lm-aggregated-hisotry {
                                  description
                                    "LM aggregation history";
                                  leaf timestamp {
                                    type uint64;
                                    units
                                      "millisecond";
                                    description
                                      "Timestamp (milliseconds since Jan. 1, 1970)";
                                  }
    
                                  leaf num-sent-packet {
                                    type uint64;
                                    description
                                      "Number of packets been sent in this aggregation
    interval";
                                  }
    
                                  leaf num-received-packet {
                                    type uint64;
                                    description
                                      "Number of packets been received in this
    aggregation interval";
                                  }
    
                                  leaf loss-percentage {
                                    type uint32;
                                    units
                                      "percentage";
                                    description
                                      "Packet loss percentage";
                                  }
                                }  // list lm-aggregated-hisotry
                              }  // container lm-aggregated-history
    
                              container lm-advertisement-history {
                                when
                                  "../history-type = 'history-type-lm-advertisement'" {
                                  description
                                    "../HistoryType = 'HistoryTypeLMAdvertisement'";
                                }
                                description
                                  "Info of loss-measurement advertisement history";
                                list lm-advertisement-history {
                                  description
                                    "LM advertisement history";
                                  leaf timestamp {
                                    type uint64;
                                    units
                                      "millisecond";
                                    description
                                      "Timestamp (milliseconds since Jan. 1, 1970)";
                                  }
    
                                  leaf advertisement-reason {
                                    type Pm-advert-reason;
                                    description
                                      "Advertisement reason";
                                  }
    
                                  leaf loss-percentage {
                                    type uint32;
                                    units
                                      "percentage";
                                    description
                                      "Packet loss percentage";
                                  }
                                }  // list lm-advertisement-history
                              }  // container lm-advertisement-history
    
                              leaf history-type {
                                type Pm-history;
                                description
                                  "HistoryType";
                              }
                            }  // container history-info
    
                            list hop-address {
                              description
                                "Hop addresses list";
                              leaf ip-address-type {
                                type Pm-addr;
                                description
                                  "IPAddressType";
                              }
    
                              leaf ipv4 {
                                when
                                  "../ip-address-type = 'ipv4'" {
                                  description
                                    "../IPAddressType = 'IPv4'";
                                }
                                type Pm-ipv4-addr;
                                description
                                  "IPv4 address type";
                              }
    
                              leaf ipv6 {
                                when
                                  "../ip-address-type = 'ipv6'" {
                                  description
                                    "../IPAddressType = 'IPv6'";
                                }
                                type Pm-ipv6-addr;
                                description
                                  "IPv6 address type";
                              }
                            }  // list hop-address
                          }  // list atomic-paths-history
                        }  // list segment-lists-history
                      }  // list candidate-paths-history
                    }  // list sr-policy-probe-computation-history
                  }  // container sr-policy-probe-computation-histories
    
                  container sr-policy-advertisement-histories {
                    description
                      "Table of advertisement history";
                    list sr-policy-advertisement-history {
                      key "sr-policy-name";
                      description
                        "Advertisement history information";
                      leaf sr-policy-name {
                        type xr:Cisco-ios-xr-string;
                        description
                          "SR Policy name";
                      }
    
                      container end-point-address {
                        description
                          "IPv4/IPv6 End point address";
                        leaf ip-address-type {
                          type Pm-addr;
                          description
                            "IPAddressType";
                        }
    
                        leaf ipv4 {
                          when
                            "../ip-address-type = 'ipv4'" {
                            description
                              "../IPAddressType = 'IPv4'";
                          }
                          type Pm-ipv4-addr;
                          description
                            "IPv4 address type";
                        }
    
                        leaf ipv6 {
                          when
                            "../ip-address-type = 'ipv6'" {
                            description
                              "../IPAddressType = 'IPv6'";
                          }
                          type Pm-ipv6-addr;
                          description
                            "IPv6 address type";
                        }
                      }  // container end-point-address
    
                      leaf color {
                        type uint32;
                        description "Color";
                      }
    
                      leaf policy-name {
                        type string;
                        description
                          "Name of the SR Policy";
                      }
    
                      list candidate-paths-history {
                        description
                          "List of candidate-paths";
                        container history-info {
                          description
                            "History info of the candidate-path";
                          container probe-history {
                            when
                              "../history-type = 'history-type-probe'" {
                              description
                                "../HistoryType = 'HistoryTypeProbe'";
                            }
                            description
                              "Info of delay-measurement probe history";
                            list probe-history {
                              description
                                "List of samples of probe history records";
                              container probe-values {
                                description
                                  "Summarized results of the probe";
                                leaf average {
                                  type uint32;
                                  description
                                    "Average value (uSec)";
                                }
    
                                leaf minimum {
                                  type uint32;
                                  description
                                    "Minimum value (uSec)";
                                }
    
                                leaf maximum {
                                  type uint32;
                                  description
                                    "Maximum value (uSec)";
                                }
    
                                leaf variance {
                                  type uint32;
                                  description
                                    "Variance value (uSec)";
                                }
                              }  // container probe-values
    
                              leaf probe-start-timestamp {
                                type uint64;
                                units
                                  "millisecond";
                                description
                                  "Time last probe started (milliseconds since Jan.
    1, 1970)";
                              }
    
                              leaf packets-sent {
                                type uint32;
                                description
                                  "Number of query packets sent";
                              }
    
                              leaf packets-received {
                                type uint32;
                                description
                                  "Number of query Packets received";
                              }
                            }  // list probe-history
                          }  // container probe-history
    
                          container aggregated-history {
                            when
                              "../history-type = 'history-type-aggregated'" {
                              description
                                "../HistoryType = 'HistoryTypeAggregated'";
                            }
                            description
                              "Info of delay-measurement aggregation history";
                            list aggregated-history {
                              description
                                "List of samples of aggregation history records";
                              container aggregated-probe-values {
                                description
                                  "Summarised results of the aggregated probe";
                                leaf average {
                                  type uint32;
                                  description
                                    "Average value (uSec)";
                                }
    
                                leaf minimum {
                                  type uint32;
                                  description
                                    "Minimum value (uSec)";
                                }
    
                                leaf maximum {
                                  type uint32;
                                  description
                                    "Maximum value (uSec)";
                                }
    
                                leaf variance {
                                  type uint32;
                                  description
                                    "Variance value (uSec)";
                                }
                              }  // container aggregated-probe-values
    
                              leaf aggregation-timestamp {
                                type uint64;
                                units
                                  "millisecond";
                                description
                                  "Time probe aggregation was done (milliseconds
    since Jan. 1, 1970)";
                              }
                            }  // list aggregated-history
                          }  // container aggregated-history
    
                          container advertisement-history {
                            when
                              "../history-type = 'history-type-advertisement'" {
                              description
                                "../HistoryType = 'HistoryTypeAdvertisement'";
                            }
                            description
                              "Info of delay-measurement advertisement history";
                            list advertisement-history {
                              description
                                "List of samples of advertisement history records";
                              container advertised-values {
                                description
                                  "Advertised delay information";
                                leaf average {
                                  type uint32;
                                  description
                                    "Average value (uSec)";
                                }
    
                                leaf minimum {
                                  type uint32;
                                  description
                                    "Minimum value (uSec)";
                                }
    
                                leaf maximum {
                                  type uint32;
                                  description
                                    "Maximum value (uSec)";
                                }
    
                                leaf variance {
                                  type uint32;
                                  description
                                    "Variance value (uSec)";
                                }
                              }  // container advertised-values
    
                              leaf advertisement-timestamp {
                                type uint64;
                                units
                                  "millisecond";
                                description
                                  "Time advertisement was done (milliseconds since
    Jan. 1, 1970)";
                              }
    
                              leaf advertisement-reason {
                                type Pm-advert-reason;
                                description
                                  "Reason for advertisement";
                              }
                            }  // list advertisement-history
                          }  // container advertisement-history
    
                          container liveness-history {
                            when
                              "../history-type = 'history-type-liveness-state'" {
                              description
                                "../HistoryType = 'HistoryTypeLivenessState'";
                            }
                            description
                              "Info of liveness session history";
                            list liveness-hisotry {
                              description
                                "List of records of liveness history";
                              leaf liveness-state-change-timestamp {
                                type uint64;
                                description
                                  "Time liveness session state was changed";
                              }
    
                              leaf liveness-state-is-up {
                                type boolean;
                                description
                                  "True if liveness session is in UP state";
                              }
                            }  // list liveness-hisotry
                          }  // container liveness-history
    
                          container lm-probe-history {
                            when
                              "../history-type = 'history-type-lm-probe'" {
                              description
                                "../HistoryType = 'HistoryTypeLMProbe'";
                            }
                            description
                              "Info of loss-measurement probe history";
                            list lm-probe-hisotry {
                              description
                                "LM probe history";
                              leaf timestamp {
                                type uint64;
                                units
                                  "millisecond";
                                description
                                  "Timestamp (milliseconds since Jan. 1, 1970)";
                              }
    
                              leaf num-sent-packet {
                                type uint64;
                                description
                                  "Number of packets been sent in this probe
    interval";
                              }
    
                              leaf num-received-packet {
                                type uint64;
                                description
                                  "Number of packets been received in this probe
    interval";
                              }
    
                              leaf loss-percentage {
                                type uint32;
                                units
                                  "percentage";
                                description
                                  "Packet loss percentage";
                              }
                            }  // list lm-probe-hisotry
                          }  // container lm-probe-history
    
                          container lm-packet-history {
                            when
                              "../history-type = 'history-type-lm-packet'" {
                              description
                                "../HistoryType = 'HistoryTypeLMPacket'";
                            }
                            description
                              "Info of loss-measurement packet history";
                            list lm-packet-hisotry {
                              description
                                "LM packet history";
                              leaf timestamp {
                                type uint64;
                                units
                                  "millisecond";
                                description
                                  "Timestamp (milliseconds since Jan. 1, 1970)";
                              }
    
                              leaf tx-counter {
                                type uint64;
                                description
                                  "TX counter";
                              }
    
                              leaf rx-counter {
                                type uint64;
                                description
                                  "RX RX counter";
                              }
                            }  // list lm-packet-hisotry
                          }  // container lm-packet-history
    
                          container lm-aggregated-history {
                            when
                              "../history-type = 'history-type-lm-aggregated'" {
                              description
                                "../HistoryType = 'HistoryTypeLMAggregated'";
                            }
                            description
                              "Info of loss-measurement aggregation history";
                            list lm-aggregated-hisotry {
                              description
                                "LM aggregation history";
                              leaf timestamp {
                                type uint64;
                                units
                                  "millisecond";
                                description
                                  "Timestamp (milliseconds since Jan. 1, 1970)";
                              }
    
                              leaf num-sent-packet {
                                type uint64;
                                description
                                  "Number of packets been sent in this aggregation
    interval";
                              }
    
                              leaf num-received-packet {
                                type uint64;
                                description
                                  "Number of packets been received in this
    aggregation interval";
                              }
    
                              leaf loss-percentage {
                                type uint32;
                                units
                                  "percentage";
                                description
                                  "Packet loss percentage";
                              }
                            }  // list lm-aggregated-hisotry
                          }  // container lm-aggregated-history
    
                          container lm-advertisement-history {
                            when
                              "../history-type = 'history-type-lm-advertisement'" {
                              description
                                "../HistoryType = 'HistoryTypeLMAdvertisement'";
                            }
                            description
                              "Info of loss-measurement advertisement history";
                            list lm-advertisement-history {
                              description
                                "LM advertisement history";
                              leaf timestamp {
                                type uint64;
                                units
                                  "millisecond";
                                description
                                  "Timestamp (milliseconds since Jan. 1, 1970)";
                              }
    
                              leaf advertisement-reason {
                                type Pm-advert-reason;
                                description
                                  "Advertisement reason";
                              }
    
                              leaf loss-percentage {
                                type uint32;
                                units
                                  "percentage";
                                description
                                  "Packet loss percentage";
                              }
                            }  // list lm-advertisement-history
                          }  // container lm-advertisement-history
    
                          leaf history-type {
                            type Pm-history;
                            description
                              "HistoryType";
                          }
                        }  // container history-info
    
                        leaf preference {
                          type uint32;
                          description
                            "Preference of the candidate-path";
                        }
    
                        leaf origin {
                          type Pm-xtc-srpolicy-origin;
                          description
                            "Protocol origin";
                        }
    
                        leaf discriminator {
                          type uint32;
                          description
                            "Discriminator of the candidate-path";
                        }
    
                        list segment-lists-history {
                          description
                            "List of segment-lists";
                          container history-info {
                            description
                              "History info of the segment-list";
                            container probe-history {
                              when
                                "../history-type = 'history-type-probe'" {
                                description
                                  "../HistoryType = 'HistoryTypeProbe'";
                              }
                              description
                                "Info of delay-measurement probe history";
                              list probe-history {
                                description
                                  "List of samples of probe history records";
                                container probe-values {
                                  description
                                    "Summarized results of the probe";
                                  leaf average {
                                    type uint32;
                                    description
                                      "Average value (uSec)";
                                  }
    
                                  leaf minimum {
                                    type uint32;
                                    description
                                      "Minimum value (uSec)";
                                  }
    
                                  leaf maximum {
                                    type uint32;
                                    description
                                      "Maximum value (uSec)";
                                  }
    
                                  leaf variance {
                                    type uint32;
                                    description
                                      "Variance value (uSec)";
                                  }
                                }  // container probe-values
    
                                leaf probe-start-timestamp {
                                  type uint64;
                                  units
                                    "millisecond";
                                  description
                                    "Time last probe started (milliseconds since Jan.
    1, 1970)";
                                }
    
                                leaf packets-sent {
                                  type uint32;
                                  description
                                    "Number of query packets sent";
                                }
    
                                leaf packets-received {
                                  type uint32;
                                  description
                                    "Number of query Packets received";
                                }
                              }  // list probe-history
                            }  // container probe-history
    
                            container aggregated-history {
                              when
                                "../history-type = 'history-type-aggregated'" {
                                description
                                  "../HistoryType = 'HistoryTypeAggregated'";
                              }
                              description
                                "Info of delay-measurement aggregation history";
                              list aggregated-history {
                                description
                                  "List of samples of aggregation history records";
                                container aggregated-probe-values {
                                  description
                                    "Summarised results of the aggregated probe";
                                  leaf average {
                                    type uint32;
                                    description
                                      "Average value (uSec)";
                                  }
    
                                  leaf minimum {
                                    type uint32;
                                    description
                                      "Minimum value (uSec)";
                                  }
    
                                  leaf maximum {
                                    type uint32;
                                    description
                                      "Maximum value (uSec)";
                                  }
    
                                  leaf variance {
                                    type uint32;
                                    description
                                      "Variance value (uSec)";
                                  }
                                }  // container aggregated-probe-values
    
                                leaf aggregation-timestamp {
                                  type uint64;
                                  units
                                    "millisecond";
                                  description
                                    "Time probe aggregation was done (milliseconds
    since Jan. 1, 1970)";
                                }
                              }  // list aggregated-history
                            }  // container aggregated-history
    
                            container advertisement-history {
                              when
                                "../history-type = 'history-type-advertisement'" {
                                description
                                  "../HistoryType = 'HistoryTypeAdvertisement'";
                              }
                              description
                                "Info of delay-measurement advertisement history";
                              list advertisement-history {
                                description
                                  "List of samples of advertisement history records";
                                container advertised-values {
                                  description
                                    "Advertised delay information";
                                  leaf average {
                                    type uint32;
                                    description
                                      "Average value (uSec)";
                                  }
    
                                  leaf minimum {
                                    type uint32;
                                    description
                                      "Minimum value (uSec)";
                                  }
    
                                  leaf maximum {
                                    type uint32;
                                    description
                                      "Maximum value (uSec)";
                                  }
    
                                  leaf variance {
                                    type uint32;
                                    description
                                      "Variance value (uSec)";
                                  }
                                }  // container advertised-values
    
                                leaf advertisement-timestamp {
                                  type uint64;
                                  units
                                    "millisecond";
                                  description
                                    "Time advertisement was done (milliseconds since
    Jan. 1, 1970)";
                                }
    
                                leaf advertisement-reason {
                                  type Pm-advert-reason;
                                  description
                                    "Reason for advertisement";
                                }
                              }  // list advertisement-history
                            }  // container advertisement-history
    
                            container liveness-history {
                              when
                                "../history-type = 'history-type-liveness-state'" {
                                description
                                  "../HistoryType = 'HistoryTypeLivenessState'";
                              }
                              description
                                "Info of liveness session history";
                              list liveness-hisotry {
                                description
                                  "List of records of liveness history";
                                leaf liveness-state-change-timestamp {
                                  type uint64;
                                  description
                                    "Time liveness session state was changed";
                                }
    
                                leaf liveness-state-is-up {
                                  type boolean;
                                  description
                                    "True if liveness session is in UP state";
                                }
                              }  // list liveness-hisotry
                            }  // container liveness-history
    
                            container lm-probe-history {
                              when
                                "../history-type = 'history-type-lm-probe'" {
                                description
                                  "../HistoryType = 'HistoryTypeLMProbe'";
                              }
                              description
                                "Info of loss-measurement probe history";
                              list lm-probe-hisotry {
                                description
                                  "LM probe history";
                                leaf timestamp {
                                  type uint64;
                                  units
                                    "millisecond";
                                  description
                                    "Timestamp (milliseconds since Jan. 1, 1970)";
                                }
    
                                leaf num-sent-packet {
                                  type uint64;
                                  description
                                    "Number of packets been sent in this probe
    interval";
                                }
    
                                leaf num-received-packet {
                                  type uint64;
                                  description
                                    "Number of packets been received in this probe
    interval";
                                }
    
                                leaf loss-percentage {
                                  type uint32;
                                  units
                                    "percentage";
                                  description
                                    "Packet loss percentage";
                                }
                              }  // list lm-probe-hisotry
                            }  // container lm-probe-history
    
                            container lm-packet-history {
                              when
                                "../history-type = 'history-type-lm-packet'" {
                                description
                                  "../HistoryType = 'HistoryTypeLMPacket'";
                              }
                              description
                                "Info of loss-measurement packet history";
                              list lm-packet-hisotry {
                                description
                                  "LM packet history";
                                leaf timestamp {
                                  type uint64;
                                  units
                                    "millisecond";
                                  description
                                    "Timestamp (milliseconds since Jan. 1, 1970)";
                                }
    
                                leaf tx-counter {
                                  type uint64;
                                  description
                                    "TX counter";
                                }
    
                                leaf rx-counter {
                                  type uint64;
                                  description
                                    "RX RX counter";
                                }
                              }  // list lm-packet-hisotry
                            }  // container lm-packet-history
    
                            container lm-aggregated-history {
                              when
                                "../history-type = 'history-type-lm-aggregated'" {
                                description
                                  "../HistoryType = 'HistoryTypeLMAggregated'";
                              }
                              description
                                "Info of loss-measurement aggregation history";
                              list lm-aggregated-hisotry {
                                description
                                  "LM aggregation history";
                                leaf timestamp {
                                  type uint64;
                                  units
                                    "millisecond";
                                  description
                                    "Timestamp (milliseconds since Jan. 1, 1970)";
                                }
    
                                leaf num-sent-packet {
                                  type uint64;
                                  description
                                    "Number of packets been sent in this aggregation
    interval";
                                }
    
                                leaf num-received-packet {
                                  type uint64;
                                  description
                                    "Number of packets been received in this
    aggregation interval";
                                }
    
                                leaf loss-percentage {
                                  type uint32;
                                  units
                                    "percentage";
                                  description
                                    "Packet loss percentage";
                                }
                              }  // list lm-aggregated-hisotry
                            }  // container lm-aggregated-history
    
                            container lm-advertisement-history {
                              when
                                "../history-type = 'history-type-lm-advertisement'" {
                                description
                                  "../HistoryType = 'HistoryTypeLMAdvertisement'";
                              }
                              description
                                "Info of loss-measurement advertisement history";
                              list lm-advertisement-history {
                                description
                                  "LM advertisement history";
                                leaf timestamp {
                                  type uint64;
                                  units
                                    "millisecond";
                                  description
                                    "Timestamp (milliseconds since Jan. 1, 1970)";
                                }
    
                                leaf advertisement-reason {
                                  type Pm-advert-reason;
                                  description
                                    "Advertisement reason";
                                }
    
                                leaf loss-percentage {
                                  type uint32;
                                  units
                                    "percentage";
                                  description
                                    "Packet loss percentage";
                                }
                              }  // list lm-advertisement-history
                            }  // container lm-advertisement-history
    
                            leaf history-type {
                              type Pm-history;
                              description
                                "HistoryType";
                            }
                          }  // container history-info
    
                          leaf segment-list-name {
                            type string;
                            description
                              "Segment-list name, not set if path is dynamic";
                          }
    
                          list segment {
                            description
                              "List of segments";
                            container ip-address {
                              description
                                "Segment IP address";
                              leaf ip-address-type {
                                type Pm-addr;
                                description
                                  "IPAddressType";
                              }
    
                              leaf ipv4 {
                                when
                                  "../ip-address-type = 'ipv4'" {
                                  description
                                    "../IPAddressType = 'IPv4'";
                                }
                                type Pm-ipv4-addr;
                                description
                                  "IPv4 address type";
                              }
    
                              leaf ipv6 {
                                when
                                  "../ip-address-type = 'ipv6'" {
                                  description
                                    "../IPAddressType = 'IPv6'";
                                }
                                type Pm-ipv6-addr;
                                description
                                  "IPv6 address type";
                              }
                            }  // container ip-address
    
                            leaf mpls-label {
                              type uint32;
                              description
                                "Segment mpls label";
                            }
                          }  // list segment
    
                          list atomic-paths-history {
                            description
                              "List of atomic paths";
                            container history-info {
                              description
                                "History info of the atomic path ";
                              container probe-history {
                                when
                                  "../history-type = 'history-type-probe'" {
                                  description
                                    "../HistoryType = 'HistoryTypeProbe'";
                                }
                                description
                                  "Info of delay-measurement probe history";
                                list probe-history {
                                  description
                                    "List of samples of probe history records";
                                  container probe-values {
                                    description
                                      "Summarized results of the probe";
                                    leaf average {
                                      type uint32;
                                      description
                                        "Average value (uSec)";
                                    }
    
                                    leaf minimum {
                                      type uint32;
                                      description
                                        "Minimum value (uSec)";
                                    }
    
                                    leaf maximum {
                                      type uint32;
                                      description
                                        "Maximum value (uSec)";
                                    }
    
                                    leaf variance {
                                      type uint32;
                                      description
                                        "Variance value (uSec)";
                                    }
                                  }  // container probe-values
    
                                  leaf probe-start-timestamp {
                                    type uint64;
                                    units
                                      "millisecond";
                                    description
                                      "Time last probe started (milliseconds since Jan.
    1, 1970)";
                                  }
    
                                  leaf packets-sent {
                                    type uint32;
                                    description
                                      "Number of query packets sent";
                                  }
    
                                  leaf packets-received {
                                    type uint32;
                                    description
                                      "Number of query Packets received";
                                  }
                                }  // list probe-history
                              }  // container probe-history
    
                              container aggregated-history {
                                when
                                  "../history-type = 'history-type-aggregated'" {
                                  description
                                    "../HistoryType = 'HistoryTypeAggregated'";
                                }
                                description
                                  "Info of delay-measurement aggregation history";
                                list aggregated-history {
                                  description
                                    "List of samples of aggregation history records";
                                  container aggregated-probe-values {
                                    description
                                      "Summarised results of the aggregated probe";
                                    leaf average {
                                      type uint32;
                                      description
                                        "Average value (uSec)";
                                    }
    
                                    leaf minimum {
                                      type uint32;
                                      description
                                        "Minimum value (uSec)";
                                    }
    
                                    leaf maximum {
                                      type uint32;
                                      description
                                        "Maximum value (uSec)";
                                    }
    
                                    leaf variance {
                                      type uint32;
                                      description
                                        "Variance value (uSec)";
                                    }
                                  }  // container aggregated-probe-values
    
                                  leaf aggregation-timestamp {
                                    type uint64;
                                    units
                                      "millisecond";
                                    description
                                      "Time probe aggregation was done (milliseconds
    since Jan. 1, 1970)";
                                  }
                                }  // list aggregated-history
                              }  // container aggregated-history
    
                              container advertisement-history {
                                when
                                  "../history-type = 'history-type-advertisement'" {
                                  description
                                    "../HistoryType = 'HistoryTypeAdvertisement'";
                                }
                                description
                                  "Info of delay-measurement advertisement history";
                                list advertisement-history {
                                  description
                                    "List of samples of advertisement history records";
                                  container advertised-values {
                                    description
                                      "Advertised delay information";
                                    leaf average {
                                      type uint32;
                                      description
                                        "Average value (uSec)";
                                    }
    
                                    leaf minimum {
                                      type uint32;
                                      description
                                        "Minimum value (uSec)";
                                    }
    
                                    leaf maximum {
                                      type uint32;
                                      description
                                        "Maximum value (uSec)";
                                    }
    
                                    leaf variance {
                                      type uint32;
                                      description
                                        "Variance value (uSec)";
                                    }
                                  }  // container advertised-values
    
                                  leaf advertisement-timestamp {
                                    type uint64;
                                    units
                                      "millisecond";
                                    description
                                      "Time advertisement was done (milliseconds since
    Jan. 1, 1970)";
                                  }
    
                                  leaf advertisement-reason {
                                    type Pm-advert-reason;
                                    description
                                      "Reason for advertisement";
                                  }
                                }  // list advertisement-history
                              }  // container advertisement-history
    
                              container liveness-history {
                                when
                                  "../history-type = 'history-type-liveness-state'" {
                                  description
                                    "../HistoryType = 'HistoryTypeLivenessState'";
                                }
                                description
                                  "Info of liveness session history";
                                list liveness-hisotry {
                                  description
                                    "List of records of liveness history";
                                  leaf liveness-state-change-timestamp {
                                    type uint64;
                                    description
                                      "Time liveness session state was changed";
                                  }
    
                                  leaf liveness-state-is-up {
                                    type boolean;
                                    description
                                      "True if liveness session is in UP state";
                                  }
                                }  // list liveness-hisotry
                              }  // container liveness-history
    
                              container lm-probe-history {
                                when
                                  "../history-type = 'history-type-lm-probe'" {
                                  description
                                    "../HistoryType = 'HistoryTypeLMProbe'";
                                }
                                description
                                  "Info of loss-measurement probe history";
                                list lm-probe-hisotry {
                                  description
                                    "LM probe history";
                                  leaf timestamp {
                                    type uint64;
                                    units
                                      "millisecond";
                                    description
                                      "Timestamp (milliseconds since Jan. 1, 1970)";
                                  }
    
                                  leaf num-sent-packet {
                                    type uint64;
                                    description
                                      "Number of packets been sent in this probe
    interval";
                                  }
    
                                  leaf num-received-packet {
                                    type uint64;
                                    description
                                      "Number of packets been received in this probe
    interval";
                                  }
    
                                  leaf loss-percentage {
                                    type uint32;
                                    units
                                      "percentage";
                                    description
                                      "Packet loss percentage";
                                  }
                                }  // list lm-probe-hisotry
                              }  // container lm-probe-history
    
                              container lm-packet-history {
                                when
                                  "../history-type = 'history-type-lm-packet'" {
                                  description
                                    "../HistoryType = 'HistoryTypeLMPacket'";
                                }
                                description
                                  "Info of loss-measurement packet history";
                                list lm-packet-hisotry {
                                  description
                                    "LM packet history";
                                  leaf timestamp {
                                    type uint64;
                                    units
                                      "millisecond";
                                    description
                                      "Timestamp (milliseconds since Jan. 1, 1970)";
                                  }
    
                                  leaf tx-counter {
                                    type uint64;
                                    description
                                      "TX counter";
                                  }
    
                                  leaf rx-counter {
                                    type uint64;
                                    description
                                      "RX RX counter";
                                  }
                                }  // list lm-packet-hisotry
                              }  // container lm-packet-history
    
                              container lm-aggregated-history {
                                when
                                  "../history-type = 'history-type-lm-aggregated'" {
                                  description
                                    "../HistoryType = 'HistoryTypeLMAggregated'";
                                }
                                description
                                  "Info of loss-measurement aggregation history";
                                list lm-aggregated-hisotry {
                                  description
                                    "LM aggregation history";
                                  leaf timestamp {
                                    type uint64;
                                    units
                                      "millisecond";
                                    description
                                      "Timestamp (milliseconds since Jan. 1, 1970)";
                                  }
    
                                  leaf num-sent-packet {
                                    type uint64;
                                    description
                                      "Number of packets been sent in this aggregation
    interval";
                                  }
    
                                  leaf num-received-packet {
                                    type uint64;
                                    description
                                      "Number of packets been received in this
    aggregation interval";
                                  }
    
                                  leaf loss-percentage {
                                    type uint32;
                                    units
                                      "percentage";
                                    description
                                      "Packet loss percentage";
                                  }
                                }  // list lm-aggregated-hisotry
                              }  // container lm-aggregated-history
    
                              container lm-advertisement-history {
                                when
                                  "../history-type = 'history-type-lm-advertisement'" {
                                  description
                                    "../HistoryType = 'HistoryTypeLMAdvertisement'";
                                }
                                description
                                  "Info of loss-measurement advertisement history";
                                list lm-advertisement-history {
                                  description
                                    "LM advertisement history";
                                  leaf timestamp {
                                    type uint64;
                                    units
                                      "millisecond";
                                    description
                                      "Timestamp (milliseconds since Jan. 1, 1970)";
                                  }
    
                                  leaf advertisement-reason {
                                    type Pm-advert-reason;
                                    description
                                      "Advertisement reason";
                                  }
    
                                  leaf loss-percentage {
                                    type uint32;
                                    units
                                      "percentage";
                                    description
                                      "Packet loss percentage";
                                  }
                                }  // list lm-advertisement-history
                              }  // container lm-advertisement-history
    
                              leaf history-type {
                                type Pm-history;
                                description
                                  "HistoryType";
                              }
                            }  // container history-info
    
                            list hop-address {
                              description
                                "Hop addresses list";
                              leaf ip-address-type {
                                type Pm-addr;
                                description
                                  "IPAddressType";
                              }
    
                              leaf ipv4 {
                                when
                                  "../ip-address-type = 'ipv4'" {
                                  description
                                    "../IPAddressType = 'IPv4'";
                                }
                                type Pm-ipv4-addr;
                                description
                                  "IPv4 address type";
                              }
    
                              leaf ipv6 {
                                when
                                  "../ip-address-type = 'ipv6'" {
                                  description
                                    "../IPAddressType = 'IPv6'";
                                }
                                type Pm-ipv6-addr;
                                description
                                  "IPv6 address type";
                              }
                            }  // list hop-address
                          }  // list atomic-paths-history
                        }  // list segment-lists-history
                      }  // list candidate-paths-history
                    }  // list sr-policy-advertisement-history
                  }  // container sr-policy-advertisement-histories
    
                  container sr-policy-last-probe-verboses {
                    description
                      "Table of last probe metrics verbose";
                    list sr-policy-last-probe-verbose {
                      key "sr-policy-name";
                      description
                        "Last probe verbose information";
                      leaf sr-policy-name {
                        type xr:Cisco-ios-xr-string;
                        description
                          "SR Policy name";
                      }
    
                      leaf policy-name {
                        type string;
                        description
                          "Name of the SR Policy";
                      }
    
                      list candidate-path {
                        description
                          "List of candidate-paths";
                        container metrics {
                          description
                            "Candidate-path metrics";
                          leaf average {
                            type uint32;
                            description
                              "Average value (uSec)";
                          }
    
                          leaf minimum {
                            type uint32;
                            description
                              "Minimum value (uSec)";
                          }
    
                          leaf maximum {
                            type uint32;
                            description
                              "Maximum value (uSec)";
                          }
    
                          leaf variance {
                            type uint32;
                            description
                              "Variance value (uSec)";
                          }
                        }  // container metrics
    
                        leaf instance {
                          type uint32;
                          description
                            "Session instance";
                        }
    
                        leaf preference {
                          type uint32;
                          description
                            "Preference of the candidate-path";
                        }
    
                        leaf origin {
                          type Pm-xtc-srpolicy-origin;
                          description
                            "Protocol origin";
                        }
    
                        leaf discriminator {
                          type uint32;
                          description
                            "Discriminator of the candidate-path";
                        }
    
                        leaf timestamp {
                          type uint64;
                          units "millisecond";
                          description
                            "Time when the metrics were computed
    (milliseconds since Jan. 1, 1970)";
                        }
    
                        list segment-list {
                          description
                            "List of segment-lists";
                          container metrics {
                            description
                              "Segment-list metrics";
                            leaf average {
                              type uint32;
                              description
                                "Average value (uSec)";
                            }
    
                            leaf minimum {
                              type uint32;
                              description
                                "Minimum value (uSec)";
                            }
    
                            leaf maximum {
                              type uint32;
                              description
                                "Maximum value (uSec)";
                            }
    
                            leaf variance {
                              type uint32;
                              description
                                "Variance value (uSec)";
                            }
                          }  // container metrics
    
                          leaf segment-list-name {
                            type string;
                            description
                              "Segment-list name, not set if path is dynamic";
                          }
    
                          list segment {
                            description
                              "List of segments";
                            container ip-address {
                              description
                                "Segment IP address";
                              leaf ip-address-type {
                                type Pm-addr;
                                description
                                  "IPAddressType";
                              }
    
                              leaf ipv4 {
                                when
                                  "../ip-address-type = 'ipv4'" {
                                  description
                                    "../IPAddressType = 'IPv4'";
                                }
                                type Pm-ipv4-addr;
                                description
                                  "IPv4 address type";
                              }
    
                              leaf ipv6 {
                                when
                                  "../ip-address-type = 'ipv6'" {
                                  description
                                    "../IPAddressType = 'IPv6'";
                                }
                                type Pm-ipv6-addr;
                                description
                                  "IPv6 address type";
                              }
                            }  // container ip-address
    
                            leaf mpls-label {
                              type uint32;
                              description
                                "Segment mpls label";
                            }
                          }  // list segment
    
                          list atomic-path {
                            description
                              "List of atomic paths";
                            container metrics {
                              description
                                "Atomic Path metrics";
                              leaf average {
                                type uint32;
                                description
                                  "Average value (uSec)";
                              }
    
                              leaf minimum {
                                type uint32;
                                description
                                  "Minimum value (uSec)";
                              }
    
                              leaf maximum {
                                type uint32;
                                description
                                  "Maximum value (uSec)";
                              }
    
                              leaf variance {
                                type uint32;
                                description
                                  "Variance value (uSec)";
                              }
                            }  // container metrics
    
                            list hop-address {
                              description
                                "Hop addresses list";
                              leaf ip-address-type {
                                type Pm-addr;
                                description
                                  "IPAddressType";
                              }
    
                              leaf ipv4 {
                                when
                                  "../ip-address-type = 'ipv4'" {
                                  description
                                    "../IPAddressType = 'IPv4'";
                                }
                                type Pm-ipv4-addr;
                                description
                                  "IPv4 address type";
                              }
    
                              leaf ipv6 {
                                when
                                  "../ip-address-type = 'ipv6'" {
                                  description
                                    "../IPAddressType = 'IPv6'";
                                }
                                type Pm-ipv6-addr;
                                description
                                  "IPv6 address type";
                              }
                            }  // list hop-address
    
                            list label {
                              description
                                "MPLS labels";
                              leaf entry {
                                type uint32;
                                description
                                  "MPLS labels";
                              }
                            }  // list label
                          }  // list atomic-path
                        }  // list segment-list
                      }  // list candidate-path
                    }  // list sr-policy-last-probe-verbose
                  }  // container sr-policy-last-probe-verboses
    
                  container sr-policy-last-advertisement-verboses {
                    description
                      "Table of last advertisement verbose
                     information";
                    list sr-policy-last-advertisement-verbose {
                      key "sr-policy-name";
                      description
                        "Last advertisement verbose metrics
                       information";
                      leaf sr-policy-name {
                        type xr:Cisco-ios-xr-string;
                        description
                          "SR Policy name";
                      }
    
                      leaf policy-name {
                        type string;
                        description
                          "Name of the SR Policy";
                      }
    
                      list candidate-path {
                        description
                          "List of candidate-paths";
                        container metrics {
                          description
                            "Candidate-path metrics";
                          leaf average {
                            type uint32;
                            description
                              "Average value (uSec)";
                          }
    
                          leaf minimum {
                            type uint32;
                            description
                              "Minimum value (uSec)";
                          }
    
                          leaf maximum {
                            type uint32;
                            description
                              "Maximum value (uSec)";
                          }
    
                          leaf variance {
                            type uint32;
                            description
                              "Variance value (uSec)";
                          }
                        }  // container metrics
    
                        leaf instance {
                          type uint32;
                          description
                            "Session instance";
                        }
    
                        leaf preference {
                          type uint32;
                          description
                            "Preference of the candidate-path";
                        }
    
                        leaf origin {
                          type Pm-xtc-srpolicy-origin;
                          description
                            "Protocol origin";
                        }
    
                        leaf discriminator {
                          type uint32;
                          description
                            "Discriminator of the candidate-path";
                        }
    
                        leaf timestamp {
                          type uint64;
                          units "millisecond";
                          description
                            "Time when the metrics were computed
    (milliseconds since Jan. 1, 1970)";
                        }
    
                        list segment-list {
                          description
                            "List of segment-lists";
                          container metrics {
                            description
                              "Segment-list metrics";
                            leaf average {
                              type uint32;
                              description
                                "Average value (uSec)";
                            }
    
                            leaf minimum {
                              type uint32;
                              description
                                "Minimum value (uSec)";
                            }
    
                            leaf maximum {
                              type uint32;
                              description
                                "Maximum value (uSec)";
                            }
    
                            leaf variance {
                              type uint32;
                              description
                                "Variance value (uSec)";
                            }
                          }  // container metrics
    
                          leaf segment-list-name {
                            type string;
                            description
                              "Segment-list name, not set if path is dynamic";
                          }
    
                          list segment {
                            description
                              "List of segments";
                            container ip-address {
                              description
                                "Segment IP address";
                              leaf ip-address-type {
                                type Pm-addr;
                                description
                                  "IPAddressType";
                              }
    
                              leaf ipv4 {
                                when
                                  "../ip-address-type = 'ipv4'" {
                                  description
                                    "../IPAddressType = 'IPv4'";
                                }
                                type Pm-ipv4-addr;
                                description
                                  "IPv4 address type";
                              }
    
                              leaf ipv6 {
                                when
                                  "../ip-address-type = 'ipv6'" {
                                  description
                                    "../IPAddressType = 'IPv6'";
                                }
                                type Pm-ipv6-addr;
                                description
                                  "IPv6 address type";
                              }
                            }  // container ip-address
    
                            leaf mpls-label {
                              type uint32;
                              description
                                "Segment mpls label";
                            }
                          }  // list segment
    
                          list atomic-path {
                            description
                              "List of atomic paths";
                            container metrics {
                              description
                                "Atomic Path metrics";
                              leaf average {
                                type uint32;
                                description
                                  "Average value (uSec)";
                              }
    
                              leaf minimum {
                                type uint32;
                                description
                                  "Minimum value (uSec)";
                              }
    
                              leaf maximum {
                                type uint32;
                                description
                                  "Maximum value (uSec)";
                              }
    
                              leaf variance {
                                type uint32;
                                description
                                  "Variance value (uSec)";
                              }
                            }  // container metrics
    
                            list hop-address {
                              description
                                "Hop addresses list";
                              leaf ip-address-type {
                                type Pm-addr;
                                description
                                  "IPAddressType";
                              }
    
                              leaf ipv4 {
                                when
                                  "../ip-address-type = 'ipv4'" {
                                  description
                                    "../IPAddressType = 'IPv4'";
                                }
                                type Pm-ipv4-addr;
                                description
                                  "IPv4 address type";
                              }
    
                              leaf ipv6 {
                                when
                                  "../ip-address-type = 'ipv6'" {
                                  description
                                    "../IPAddressType = 'IPv6'";
                                }
                                type Pm-ipv6-addr;
                                description
                                  "IPv6 address type";
                              }
                            }  // list hop-address
    
                            list label {
                              description
                                "MPLS labels";
                              leaf entry {
                                type uint32;
                                description
                                  "MPLS labels";
                              }
                            }  // list label
                          }  // list atomic-path
                        }  // list segment-list
                      }  // list candidate-path
                    }  // list sr-policy-last-advertisement-verbose
                  }  // container sr-policy-last-advertisement-verboses
    
                  container sr-policy-last-probes {
                    description
                      "Table of last probe metrics";
                    list sr-policy-last-probe {
                      key "sr-policy-name";
                      description
                        "Last probe information";
                      leaf sr-policy-name {
                        type xr:Cisco-ios-xr-string;
                        description
                          "SR Policy name";
                      }
    
                      leaf policy-name {
                        type string;
                        description
                          "Name of the SR Policy";
                      }
    
                      list candidate-path {
                        description
                          "List of candidate-paths";
                        container metrics {
                          description
                            "Candidate-path metrics";
                          leaf average {
                            type uint32;
                            description
                              "Average value (uSec)";
                          }
    
                          leaf minimum {
                            type uint32;
                            description
                              "Minimum value (uSec)";
                          }
    
                          leaf maximum {
                            type uint32;
                            description
                              "Maximum value (uSec)";
                          }
    
                          leaf variance {
                            type uint32;
                            description
                              "Variance value (uSec)";
                          }
                        }  // container metrics
    
                        leaf instance {
                          type uint32;
                          description
                            "Session instance";
                        }
    
                        leaf preference {
                          type uint32;
                          description
                            "Preference of the candidate-path";
                        }
    
                        leaf origin {
                          type Pm-xtc-srpolicy-origin;
                          description
                            "Protocol origin";
                        }
    
                        leaf discriminator {
                          type uint32;
                          description
                            "Discriminator of the candidate-path";
                        }
    
                        leaf timestamp {
                          type uint64;
                          units "millisecond";
                          description
                            "Time when the metrics were computed
    (milliseconds since Jan. 1, 1970)";
                        }
    
                        list segment-list {
                          description
                            "List of segment-lists";
                          container metrics {
                            description
                              "Segment-list metrics";
                            leaf average {
                              type uint32;
                              description
                                "Average value (uSec)";
                            }
    
                            leaf minimum {
                              type uint32;
                              description
                                "Minimum value (uSec)";
                            }
    
                            leaf maximum {
                              type uint32;
                              description
                                "Maximum value (uSec)";
                            }
    
                            leaf variance {
                              type uint32;
                              description
                                "Variance value (uSec)";
                            }
                          }  // container metrics
    
                          leaf segment-list-name {
                            type string;
                            description
                              "Segment-list name, not set if path is dynamic";
                          }
    
                          list segment {
                            description
                              "List of segments";
                            container ip-address {
                              description
                                "Segment IP address";
                              leaf ip-address-type {
                                type Pm-addr;
                                description
                                  "IPAddressType";
                              }
    
                              leaf ipv4 {
                                when
                                  "../ip-address-type = 'ipv4'" {
                                  description
                                    "../IPAddressType = 'IPv4'";
                                }
                                type Pm-ipv4-addr;
                                description
                                  "IPv4 address type";
                              }
    
                              leaf ipv6 {
                                when
                                  "../ip-address-type = 'ipv6'" {
                                  description
                                    "../IPAddressType = 'IPv6'";
                                }
                                type Pm-ipv6-addr;
                                description
                                  "IPv6 address type";
                              }
                            }  // container ip-address
    
                            leaf mpls-label {
                              type uint32;
                              description
                                "Segment mpls label";
                            }
                          }  // list segment
    
                          list atomic-path {
                            description
                              "List of atomic paths";
                            container metrics {
                              description
                                "Atomic Path metrics";
                              leaf average {
                                type uint32;
                                description
                                  "Average value (uSec)";
                              }
    
                              leaf minimum {
                                type uint32;
                                description
                                  "Minimum value (uSec)";
                              }
    
                              leaf maximum {
                                type uint32;
                                description
                                  "Maximum value (uSec)";
                              }
    
                              leaf variance {
                                type uint32;
                                description
                                  "Variance value (uSec)";
                              }
                            }  // container metrics
    
                            list hop-address {
                              description
                                "Hop addresses list";
                              leaf ip-address-type {
                                type Pm-addr;
                                description
                                  "IPAddressType";
                              }
    
                              leaf ipv4 {
                                when
                                  "../ip-address-type = 'ipv4'" {
                                  description
                                    "../IPAddressType = 'IPv4'";
                                }
                                type Pm-ipv4-addr;
                                description
                                  "IPv4 address type";
                              }
    
                              leaf ipv6 {
                                when
                                  "../ip-address-type = 'ipv6'" {
                                  description
                                    "../IPAddressType = 'IPv6'";
                                }
                                type Pm-ipv6-addr;
                                description
                                  "IPv6 address type";
                              }
                            }  // list hop-address
    
                            list label {
                              description
                                "MPLS labels";
                              leaf entry {
                                type uint32;
                                description
                                  "MPLS labels";
                              }
                            }  // list label
                          }  // list atomic-path
                        }  // list segment-list
                      }  // list candidate-path
                    }  // list sr-policy-last-probe
                  }  // container sr-policy-last-probes
    
                  container sr-policy-last-aggregation-verboses {
                    description
                      "Table of last probe aggregation verbose";
                    list sr-policy-last-aggregation-verbose {
                      key "sr-policy-name";
                      description
                        "Last probe aggregation verbose information";
                      leaf sr-policy-name {
                        type xr:Cisco-ios-xr-string;
                        description
                          "SR Policy name";
                      }
    
                      leaf policy-name {
                        type string;
                        description
                          "Name of the SR Policy";
                      }
    
                      list candidate-path {
                        description
                          "List of candidate-paths";
                        container metrics {
                          description
                            "Candidate-path metrics";
                          leaf average {
                            type uint32;
                            description
                              "Average value (uSec)";
                          }
    
                          leaf minimum {
                            type uint32;
                            description
                              "Minimum value (uSec)";
                          }
    
                          leaf maximum {
                            type uint32;
                            description
                              "Maximum value (uSec)";
                          }
    
                          leaf variance {
                            type uint32;
                            description
                              "Variance value (uSec)";
                          }
                        }  // container metrics
    
                        leaf instance {
                          type uint32;
                          description
                            "Session instance";
                        }
    
                        leaf preference {
                          type uint32;
                          description
                            "Preference of the candidate-path";
                        }
    
                        leaf origin {
                          type Pm-xtc-srpolicy-origin;
                          description
                            "Protocol origin";
                        }
    
                        leaf discriminator {
                          type uint32;
                          description
                            "Discriminator of the candidate-path";
                        }
    
                        leaf timestamp {
                          type uint64;
                          units "millisecond";
                          description
                            "Time when the metrics were computed
    (milliseconds since Jan. 1, 1970)";
                        }
    
                        list segment-list {
                          description
                            "List of segment-lists";
                          container metrics {
                            description
                              "Segment-list metrics";
                            leaf average {
                              type uint32;
                              description
                                "Average value (uSec)";
                            }
    
                            leaf minimum {
                              type uint32;
                              description
                                "Minimum value (uSec)";
                            }
    
                            leaf maximum {
                              type uint32;
                              description
                                "Maximum value (uSec)";
                            }
    
                            leaf variance {
                              type uint32;
                              description
                                "Variance value (uSec)";
                            }
                          }  // container metrics
    
                          leaf segment-list-name {
                            type string;
                            description
                              "Segment-list name, not set if path is dynamic";
                          }
    
                          list segment {
                            description
                              "List of segments";
                            container ip-address {
                              description
                                "Segment IP address";
                              leaf ip-address-type {
                                type Pm-addr;
                                description
                                  "IPAddressType";
                              }
    
                              leaf ipv4 {
                                when
                                  "../ip-address-type = 'ipv4'" {
                                  description
                                    "../IPAddressType = 'IPv4'";
                                }
                                type Pm-ipv4-addr;
                                description
                                  "IPv4 address type";
                              }
    
                              leaf ipv6 {
                                when
                                  "../ip-address-type = 'ipv6'" {
                                  description
                                    "../IPAddressType = 'IPv6'";
                                }
                                type Pm-ipv6-addr;
                                description
                                  "IPv6 address type";
                              }
                            }  // container ip-address
    
                            leaf mpls-label {
                              type uint32;
                              description
                                "Segment mpls label";
                            }
                          }  // list segment
    
                          list atomic-path {
                            description
                              "List of atomic paths";
                            container metrics {
                              description
                                "Atomic Path metrics";
                              leaf average {
                                type uint32;
                                description
                                  "Average value (uSec)";
                              }
    
                              leaf minimum {
                                type uint32;
                                description
                                  "Minimum value (uSec)";
                              }
    
                              leaf maximum {
                                type uint32;
                                description
                                  "Maximum value (uSec)";
                              }
    
                              leaf variance {
                                type uint32;
                                description
                                  "Variance value (uSec)";
                              }
                            }  // container metrics
    
                            list hop-address {
                              description
                                "Hop addresses list";
                              leaf ip-address-type {
                                type Pm-addr;
                                description
                                  "IPAddressType";
                              }
    
                              leaf ipv4 {
                                when
                                  "../ip-address-type = 'ipv4'" {
                                  description
                                    "../IPAddressType = 'IPv4'";
                                }
                                type Pm-ipv4-addr;
                                description
                                  "IPv4 address type";
                              }
    
                              leaf ipv6 {
                                when
                                  "../ip-address-type = 'ipv6'" {
                                  description
                                    "../IPAddressType = 'IPv6'";
                                }
                                type Pm-ipv6-addr;
                                description
                                  "IPv6 address type";
                              }
                            }  // list hop-address
    
                            list label {
                              description
                                "MPLS labels";
                              leaf entry {
                                type uint32;
                                description
                                  "MPLS labels";
                              }
                            }  // list label
                          }  // list atomic-path
                        }  // list segment-list
                      }  // list candidate-path
                    }  // list sr-policy-last-aggregation-verbose
                  }  // container sr-policy-last-aggregation-verboses
    
                  container sr-policy-aggregation-histories {
                    description
                      "Table of aggregation history";
                    list sr-policy-aggregation-history {
                      key "sr-policy-name";
                      description
                        "Aggregation history information";
                      leaf sr-policy-name {
                        type xr:Cisco-ios-xr-string;
                        description
                          "SR Policy name";
                      }
    
                      container end-point-address {
                        description
                          "IPv4/IPv6 End point address";
                        leaf ip-address-type {
                          type Pm-addr;
                          description
                            "IPAddressType";
                        }
    
                        leaf ipv4 {
                          when
                            "../ip-address-type = 'ipv4'" {
                            description
                              "../IPAddressType = 'IPv4'";
                          }
                          type Pm-ipv4-addr;
                          description
                            "IPv4 address type";
                        }
    
                        leaf ipv6 {
                          when
                            "../ip-address-type = 'ipv6'" {
                            description
                              "../IPAddressType = 'IPv6'";
                          }
                          type Pm-ipv6-addr;
                          description
                            "IPv6 address type";
                        }
                      }  // container end-point-address
    
                      leaf color {
                        type uint32;
                        description "Color";
                      }
    
                      leaf policy-name {
                        type string;
                        description
                          "Name of the SR Policy";
                      }
    
                      list candidate-paths-history {
                        description
                          "List of candidate-paths";
                        container history-info {
                          description
                            "History info of the candidate-path";
                          container probe-history {
                            when
                              "../history-type = 'history-type-probe'" {
                              description
                                "../HistoryType = 'HistoryTypeProbe'";
                            }
                            description
                              "Info of delay-measurement probe history";
                            list probe-history {
                              description
                                "List of samples of probe history records";
                              container probe-values {
                                description
                                  "Summarized results of the probe";
                                leaf average {
                                  type uint32;
                                  description
                                    "Average value (uSec)";
                                }
    
                                leaf minimum {
                                  type uint32;
                                  description
                                    "Minimum value (uSec)";
                                }
    
                                leaf maximum {
                                  type uint32;
                                  description
                                    "Maximum value (uSec)";
                                }
    
                                leaf variance {
                                  type uint32;
                                  description
                                    "Variance value (uSec)";
                                }
                              }  // container probe-values
    
                              leaf probe-start-timestamp {
                                type uint64;
                                units
                                  "millisecond";
                                description
                                  "Time last probe started (milliseconds since Jan.
    1, 1970)";
                              }
    
                              leaf packets-sent {
                                type uint32;
                                description
                                  "Number of query packets sent";
                              }
    
                              leaf packets-received {
                                type uint32;
                                description
                                  "Number of query Packets received";
                              }
                            }  // list probe-history
                          }  // container probe-history
    
                          container aggregated-history {
                            when
                              "../history-type = 'history-type-aggregated'" {
                              description
                                "../HistoryType = 'HistoryTypeAggregated'";
                            }
                            description
                              "Info of delay-measurement aggregation history";
                            list aggregated-history {
                              description
                                "List of samples of aggregation history records";
                              container aggregated-probe-values {
                                description
                                  "Summarised results of the aggregated probe";
                                leaf average {
                                  type uint32;
                                  description
                                    "Average value (uSec)";
                                }
    
                                leaf minimum {
                                  type uint32;
                                  description
                                    "Minimum value (uSec)";
                                }
    
                                leaf maximum {
                                  type uint32;
                                  description
                                    "Maximum value (uSec)";
                                }
    
                                leaf variance {
                                  type uint32;
                                  description
                                    "Variance value (uSec)";
                                }
                              }  // container aggregated-probe-values
    
                              leaf aggregation-timestamp {
                                type uint64;
                                units
                                  "millisecond";
                                description
                                  "Time probe aggregation was done (milliseconds
    since Jan. 1, 1970)";
                              }
                            }  // list aggregated-history
                          }  // container aggregated-history
    
                          container advertisement-history {
                            when
                              "../history-type = 'history-type-advertisement'" {
                              description
                                "../HistoryType = 'HistoryTypeAdvertisement'";
                            }
                            description
                              "Info of delay-measurement advertisement history";
                            list advertisement-history {
                              description
                                "List of samples of advertisement history records";
                              container advertised-values {
                                description
                                  "Advertised delay information";
                                leaf average {
                                  type uint32;
                                  description
                                    "Average value (uSec)";
                                }
    
                                leaf minimum {
                                  type uint32;
                                  description
                                    "Minimum value (uSec)";
                                }
    
                                leaf maximum {
                                  type uint32;
                                  description
                                    "Maximum value (uSec)";
                                }
    
                                leaf variance {
                                  type uint32;
                                  description
                                    "Variance value (uSec)";
                                }
                              }  // container advertised-values
    
                              leaf advertisement-timestamp {
                                type uint64;
                                units
                                  "millisecond";
                                description
                                  "Time advertisement was done (milliseconds since
    Jan. 1, 1970)";
                              }
    
                              leaf advertisement-reason {
                                type Pm-advert-reason;
                                description
                                  "Reason for advertisement";
                              }
                            }  // list advertisement-history
                          }  // container advertisement-history
    
                          container liveness-history {
                            when
                              "../history-type = 'history-type-liveness-state'" {
                              description
                                "../HistoryType = 'HistoryTypeLivenessState'";
                            }
                            description
                              "Info of liveness session history";
                            list liveness-hisotry {
                              description
                                "List of records of liveness history";
                              leaf liveness-state-change-timestamp {
                                type uint64;
                                description
                                  "Time liveness session state was changed";
                              }
    
                              leaf liveness-state-is-up {
                                type boolean;
                                description
                                  "True if liveness session is in UP state";
                              }
                            }  // list liveness-hisotry
                          }  // container liveness-history
    
                          container lm-probe-history {
                            when
                              "../history-type = 'history-type-lm-probe'" {
                              description
                                "../HistoryType = 'HistoryTypeLMProbe'";
                            }
                            description
                              "Info of loss-measurement probe history";
                            list lm-probe-hisotry {
                              description
                                "LM probe history";
                              leaf timestamp {
                                type uint64;
                                units
                                  "millisecond";
                                description
                                  "Timestamp (milliseconds since Jan. 1, 1970)";
                              }
    
                              leaf num-sent-packet {
                                type uint64;
                                description
                                  "Number of packets been sent in this probe
    interval";
                              }
    
                              leaf num-received-packet {
                                type uint64;
                                description
                                  "Number of packets been received in this probe
    interval";
                              }
    
                              leaf loss-percentage {
                                type uint32;
                                units
                                  "percentage";
                                description
                                  "Packet loss percentage";
                              }
                            }  // list lm-probe-hisotry
                          }  // container lm-probe-history
    
                          container lm-packet-history {
                            when
                              "../history-type = 'history-type-lm-packet'" {
                              description
                                "../HistoryType = 'HistoryTypeLMPacket'";
                            }
                            description
                              "Info of loss-measurement packet history";
                            list lm-packet-hisotry {
                              description
                                "LM packet history";
                              leaf timestamp {
                                type uint64;
                                units
                                  "millisecond";
                                description
                                  "Timestamp (milliseconds since Jan. 1, 1970)";
                              }
    
                              leaf tx-counter {
                                type uint64;
                                description
                                  "TX counter";
                              }
    
                              leaf rx-counter {
                                type uint64;
                                description
                                  "RX RX counter";
                              }
                            }  // list lm-packet-hisotry
                          }  // container lm-packet-history
    
                          container lm-aggregated-history {
                            when
                              "../history-type = 'history-type-lm-aggregated'" {
                              description
                                "../HistoryType = 'HistoryTypeLMAggregated'";
                            }
                            description
                              "Info of loss-measurement aggregation history";
                            list lm-aggregated-hisotry {
                              description
                                "LM aggregation history";
                              leaf timestamp {
                                type uint64;
                                units
                                  "millisecond";
                                description
                                  "Timestamp (milliseconds since Jan. 1, 1970)";
                              }
    
                              leaf num-sent-packet {
                                type uint64;
                                description
                                  "Number of packets been sent in this aggregation
    interval";
                              }
    
                              leaf num-received-packet {
                                type uint64;
                                description
                                  "Number of packets been received in this
    aggregation interval";
                              }
    
                              leaf loss-percentage {
                                type uint32;
                                units
                                  "percentage";
                                description
                                  "Packet loss percentage";
                              }
                            }  // list lm-aggregated-hisotry
                          }  // container lm-aggregated-history
    
                          container lm-advertisement-history {
                            when
                              "../history-type = 'history-type-lm-advertisement'" {
                              description
                                "../HistoryType = 'HistoryTypeLMAdvertisement'";
                            }
                            description
                              "Info of loss-measurement advertisement history";
                            list lm-advertisement-history {
                              description
                                "LM advertisement history";
                              leaf timestamp {
                                type uint64;
                                units
                                  "millisecond";
                                description
                                  "Timestamp (milliseconds since Jan. 1, 1970)";
                              }
    
                              leaf advertisement-reason {
                                type Pm-advert-reason;
                                description
                                  "Advertisement reason";
                              }
    
                              leaf loss-percentage {
                                type uint32;
                                units
                                  "percentage";
                                description
                                  "Packet loss percentage";
                              }
                            }  // list lm-advertisement-history
                          }  // container lm-advertisement-history
    
                          leaf history-type {
                            type Pm-history;
                            description
                              "HistoryType";
                          }
                        }  // container history-info
    
                        leaf preference {
                          type uint32;
                          description
                            "Preference of the candidate-path";
                        }
    
                        leaf origin {
                          type Pm-xtc-srpolicy-origin;
                          description
                            "Protocol origin";
                        }
    
                        leaf discriminator {
                          type uint32;
                          description
                            "Discriminator of the candidate-path";
                        }
    
                        list segment-lists-history {
                          description
                            "List of segment-lists";
                          container history-info {
                            description
                              "History info of the segment-list";
                            container probe-history {
                              when
                                "../history-type = 'history-type-probe'" {
                                description
                                  "../HistoryType = 'HistoryTypeProbe'";
                              }
                              description
                                "Info of delay-measurement probe history";
                              list probe-history {
                                description
                                  "List of samples of probe history records";
                                container probe-values {
                                  description
                                    "Summarized results of the probe";
                                  leaf average {
                                    type uint32;
                                    description
                                      "Average value (uSec)";
                                  }
    
                                  leaf minimum {
                                    type uint32;
                                    description
                                      "Minimum value (uSec)";
                                  }
    
                                  leaf maximum {
                                    type uint32;
                                    description
                                      "Maximum value (uSec)";
                                  }
    
                                  leaf variance {
                                    type uint32;
                                    description
                                      "Variance value (uSec)";
                                  }
                                }  // container probe-values
    
                                leaf probe-start-timestamp {
                                  type uint64;
                                  units
                                    "millisecond";
                                  description
                                    "Time last probe started (milliseconds since Jan.
    1, 1970)";
                                }
    
                                leaf packets-sent {
                                  type uint32;
                                  description
                                    "Number of query packets sent";
                                }
    
                                leaf packets-received {
                                  type uint32;
                                  description
                                    "Number of query Packets received";
                                }
                              }  // list probe-history
                            }  // container probe-history
    
                            container aggregated-history {
                              when
                                "../history-type = 'history-type-aggregated'" {
                                description
                                  "../HistoryType = 'HistoryTypeAggregated'";
                              }
                              description
                                "Info of delay-measurement aggregation history";
                              list aggregated-history {
                                description
                                  "List of samples of aggregation history records";
                                container aggregated-probe-values {
                                  description
                                    "Summarised results of the aggregated probe";
                                  leaf average {
                                    type uint32;
                                    description
                                      "Average value (uSec)";
                                  }
    
                                  leaf minimum {
                                    type uint32;
                                    description
                                      "Minimum value (uSec)";
                                  }
    
                                  leaf maximum {
                                    type uint32;
                                    description
                                      "Maximum value (uSec)";
                                  }
    
                                  leaf variance {
                                    type uint32;
                                    description
                                      "Variance value (uSec)";
                                  }
                                }  // container aggregated-probe-values
    
                                leaf aggregation-timestamp {
                                  type uint64;
                                  units
                                    "millisecond";
                                  description
                                    "Time probe aggregation was done (milliseconds
    since Jan. 1, 1970)";
                                }
                              }  // list aggregated-history
                            }  // container aggregated-history
    
                            container advertisement-history {
                              when
                                "../history-type = 'history-type-advertisement'" {
                                description
                                  "../HistoryType = 'HistoryTypeAdvertisement'";
                              }
                              description
                                "Info of delay-measurement advertisement history";
                              list advertisement-history {
                                description
                                  "List of samples of advertisement history records";
                                container advertised-values {
                                  description
                                    "Advertised delay information";
                                  leaf average {
                                    type uint32;
                                    description
                                      "Average value (uSec)";
                                  }
    
                                  leaf minimum {
                                    type uint32;
                                    description
                                      "Minimum value (uSec)";
                                  }
    
                                  leaf maximum {
                                    type uint32;
                                    description
                                      "Maximum value (uSec)";
                                  }
    
                                  leaf variance {
                                    type uint32;
                                    description
                                      "Variance value (uSec)";
                                  }
                                }  // container advertised-values
    
                                leaf advertisement-timestamp {
                                  type uint64;
                                  units
                                    "millisecond";
                                  description
                                    "Time advertisement was done (milliseconds since
    Jan. 1, 1970)";
                                }
    
                                leaf advertisement-reason {
                                  type Pm-advert-reason;
                                  description
                                    "Reason for advertisement";
                                }
                              }  // list advertisement-history
                            }  // container advertisement-history
    
                            container liveness-history {
                              when
                                "../history-type = 'history-type-liveness-state'" {
                                description
                                  "../HistoryType = 'HistoryTypeLivenessState'";
                              }
                              description
                                "Info of liveness session history";
                              list liveness-hisotry {
                                description
                                  "List of records of liveness history";
                                leaf liveness-state-change-timestamp {
                                  type uint64;
                                  description
                                    "Time liveness session state was changed";
                                }
    
                                leaf liveness-state-is-up {
                                  type boolean;
                                  description
                                    "True if liveness session is in UP state";
                                }
                              }  // list liveness-hisotry
                            }  // container liveness-history
    
                            container lm-probe-history {
                              when
                                "../history-type = 'history-type-lm-probe'" {
                                description
                                  "../HistoryType = 'HistoryTypeLMProbe'";
                              }
                              description
                                "Info of loss-measurement probe history";
                              list lm-probe-hisotry {
                                description
                                  "LM probe history";
                                leaf timestamp {
                                  type uint64;
                                  units
                                    "millisecond";
                                  description
                                    "Timestamp (milliseconds since Jan. 1, 1970)";
                                }
    
                                leaf num-sent-packet {
                                  type uint64;
                                  description
                                    "Number of packets been sent in this probe
    interval";
                                }
    
                                leaf num-received-packet {
                                  type uint64;
                                  description
                                    "Number of packets been received in this probe
    interval";
                                }
    
                                leaf loss-percentage {
                                  type uint32;
                                  units
                                    "percentage";
                                  description
                                    "Packet loss percentage";
                                }
                              }  // list lm-probe-hisotry
                            }  // container lm-probe-history
    
                            container lm-packet-history {
                              when
                                "../history-type = 'history-type-lm-packet'" {
                                description
                                  "../HistoryType = 'HistoryTypeLMPacket'";
                              }
                              description
                                "Info of loss-measurement packet history";
                              list lm-packet-hisotry {
                                description
                                  "LM packet history";
                                leaf timestamp {
                                  type uint64;
                                  units
                                    "millisecond";
                                  description
                                    "Timestamp (milliseconds since Jan. 1, 1970)";
                                }
    
                                leaf tx-counter {
                                  type uint64;
                                  description
                                    "TX counter";
                                }
    
                                leaf rx-counter {
                                  type uint64;
                                  description
                                    "RX RX counter";
                                }
                              }  // list lm-packet-hisotry
                            }  // container lm-packet-history
    
                            container lm-aggregated-history {
                              when
                                "../history-type = 'history-type-lm-aggregated'" {
                                description
                                  "../HistoryType = 'HistoryTypeLMAggregated'";
                              }
                              description
                                "Info of loss-measurement aggregation history";
                              list lm-aggregated-hisotry {
                                description
                                  "LM aggregation history";
                                leaf timestamp {
                                  type uint64;
                                  units
                                    "millisecond";
                                  description
                                    "Timestamp (milliseconds since Jan. 1, 1970)";
                                }
    
                                leaf num-sent-packet {
                                  type uint64;
                                  description
                                    "Number of packets been sent in this aggregation
    interval";
                                }
    
                                leaf num-received-packet {
                                  type uint64;
                                  description
                                    "Number of packets been received in this
    aggregation interval";
                                }
    
                                leaf loss-percentage {
                                  type uint32;
                                  units
                                    "percentage";
                                  description
                                    "Packet loss percentage";
                                }
                              }  // list lm-aggregated-hisotry
                            }  // container lm-aggregated-history
    
                            container lm-advertisement-history {
                              when
                                "../history-type = 'history-type-lm-advertisement'" {
                                description
                                  "../HistoryType = 'HistoryTypeLMAdvertisement'";
                              }
                              description
                                "Info of loss-measurement advertisement history";
                              list lm-advertisement-history {
                                description
                                  "LM advertisement history";
                                leaf timestamp {
                                  type uint64;
                                  units
                                    "millisecond";
                                  description
                                    "Timestamp (milliseconds since Jan. 1, 1970)";
                                }
    
                                leaf advertisement-reason {
                                  type Pm-advert-reason;
                                  description
                                    "Advertisement reason";
                                }
    
                                leaf loss-percentage {
                                  type uint32;
                                  units
                                    "percentage";
                                  description
                                    "Packet loss percentage";
                                }
                              }  // list lm-advertisement-history
                            }  // container lm-advertisement-history
    
                            leaf history-type {
                              type Pm-history;
                              description
                                "HistoryType";
                            }
                          }  // container history-info
    
                          leaf segment-list-name {
                            type string;
                            description
                              "Segment-list name, not set if path is dynamic";
                          }
    
                          list segment {
                            description
                              "List of segments";
                            container ip-address {
                              description
                                "Segment IP address";
                              leaf ip-address-type {
                                type Pm-addr;
                                description
                                  "IPAddressType";
                              }
    
                              leaf ipv4 {
                                when
                                  "../ip-address-type = 'ipv4'" {
                                  description
                                    "../IPAddressType = 'IPv4'";
                                }
                                type Pm-ipv4-addr;
                                description
                                  "IPv4 address type";
                              }
    
                              leaf ipv6 {
                                when
                                  "../ip-address-type = 'ipv6'" {
                                  description
                                    "../IPAddressType = 'IPv6'";
                                }
                                type Pm-ipv6-addr;
                                description
                                  "IPv6 address type";
                              }
                            }  // container ip-address
    
                            leaf mpls-label {
                              type uint32;
                              description
                                "Segment mpls label";
                            }
                          }  // list segment
    
                          list atomic-paths-history {
                            description
                              "List of atomic paths";
                            container history-info {
                              description
                                "History info of the atomic path ";
                              container probe-history {
                                when
                                  "../history-type = 'history-type-probe'" {
                                  description
                                    "../HistoryType = 'HistoryTypeProbe'";
                                }
                                description
                                  "Info of delay-measurement probe history";
                                list probe-history {
                                  description
                                    "List of samples of probe history records";
                                  container probe-values {
                                    description
                                      "Summarized results of the probe";
                                    leaf average {
                                      type uint32;
                                      description
                                        "Average value (uSec)";
                                    }
    
                                    leaf minimum {
                                      type uint32;
                                      description
                                        "Minimum value (uSec)";
                                    }
    
                                    leaf maximum {
                                      type uint32;
                                      description
                                        "Maximum value (uSec)";
                                    }
    
                                    leaf variance {
                                      type uint32;
                                      description
                                        "Variance value (uSec)";
                                    }
                                  }  // container probe-values
    
                                  leaf probe-start-timestamp {
                                    type uint64;
                                    units
                                      "millisecond";
                                    description
                                      "Time last probe started (milliseconds since Jan.
    1, 1970)";
                                  }
    
                                  leaf packets-sent {
                                    type uint32;
                                    description
                                      "Number of query packets sent";
                                  }
    
                                  leaf packets-received {
                                    type uint32;
                                    description
                                      "Number of query Packets received";
                                  }
                                }  // list probe-history
                              }  // container probe-history
    
                              container aggregated-history {
                                when
                                  "../history-type = 'history-type-aggregated'" {
                                  description
                                    "../HistoryType = 'HistoryTypeAggregated'";
                                }
                                description
                                  "Info of delay-measurement aggregation history";
                                list aggregated-history {
                                  description
                                    "List of samples of aggregation history records";
                                  container aggregated-probe-values {
                                    description
                                      "Summarised results of the aggregated probe";
                                    leaf average {
                                      type uint32;
                                      description
                                        "Average value (uSec)";
                                    }
    
                                    leaf minimum {
                                      type uint32;
                                      description
                                        "Minimum value (uSec)";
                                    }
    
                                    leaf maximum {
                                      type uint32;
                                      description
                                        "Maximum value (uSec)";
                                    }
    
                                    leaf variance {
                                      type uint32;
                                      description
                                        "Variance value (uSec)";
                                    }
                                  }  // container aggregated-probe-values
    
                                  leaf aggregation-timestamp {
                                    type uint64;
                                    units
                                      "millisecond";
                                    description
                                      "Time probe aggregation was done (milliseconds
    since Jan. 1, 1970)";
                                  }
                                }  // list aggregated-history
                              }  // container aggregated-history
    
                              container advertisement-history {
                                when
                                  "../history-type = 'history-type-advertisement'" {
                                  description
                                    "../HistoryType = 'HistoryTypeAdvertisement'";
                                }
                                description
                                  "Info of delay-measurement advertisement history";
                                list advertisement-history {
                                  description
                                    "List of samples of advertisement history records";
                                  container advertised-values {
                                    description
                                      "Advertised delay information";
                                    leaf average {
                                      type uint32;
                                      description
                                        "Average value (uSec)";
                                    }
    
                                    leaf minimum {
                                      type uint32;
                                      description
                                        "Minimum value (uSec)";
                                    }
    
                                    leaf maximum {
                                      type uint32;
                                      description
                                        "Maximum value (uSec)";
                                    }
    
                                    leaf variance {
                                      type uint32;
                                      description
                                        "Variance value (uSec)";
                                    }
                                  }  // container advertised-values
    
                                  leaf advertisement-timestamp {
                                    type uint64;
                                    units
                                      "millisecond";
                                    description
                                      "Time advertisement was done (milliseconds since
    Jan. 1, 1970)";
                                  }
    
                                  leaf advertisement-reason {
                                    type Pm-advert-reason;
                                    description
                                      "Reason for advertisement";
                                  }
                                }  // list advertisement-history
                              }  // container advertisement-history
    
                              container liveness-history {
                                when
                                  "../history-type = 'history-type-liveness-state'" {
                                  description
                                    "../HistoryType = 'HistoryTypeLivenessState'";
                                }
                                description
                                  "Info of liveness session history";
                                list liveness-hisotry {
                                  description
                                    "List of records of liveness history";
                                  leaf liveness-state-change-timestamp {
                                    type uint64;
                                    description
                                      "Time liveness session state was changed";
                                  }
    
                                  leaf liveness-state-is-up {
                                    type boolean;
                                    description
                                      "True if liveness session is in UP state";
                                  }
                                }  // list liveness-hisotry
                              }  // container liveness-history
    
                              container lm-probe-history {
                                when
                                  "../history-type = 'history-type-lm-probe'" {
                                  description
                                    "../HistoryType = 'HistoryTypeLMProbe'";
                                }
                                description
                                  "Info of loss-measurement probe history";
                                list lm-probe-hisotry {
                                  description
                                    "LM probe history";
                                  leaf timestamp {
                                    type uint64;
                                    units
                                      "millisecond";
                                    description
                                      "Timestamp (milliseconds since Jan. 1, 1970)";
                                  }
    
                                  leaf num-sent-packet {
                                    type uint64;
                                    description
                                      "Number of packets been sent in this probe
    interval";
                                  }
    
                                  leaf num-received-packet {
                                    type uint64;
                                    description
                                      "Number of packets been received in this probe
    interval";
                                  }
    
                                  leaf loss-percentage {
                                    type uint32;
                                    units
                                      "percentage";
                                    description
                                      "Packet loss percentage";
                                  }
                                }  // list lm-probe-hisotry
                              }  // container lm-probe-history
    
                              container lm-packet-history {
                                when
                                  "../history-type = 'history-type-lm-packet'" {
                                  description
                                    "../HistoryType = 'HistoryTypeLMPacket'";
                                }
                                description
                                  "Info of loss-measurement packet history";
                                list lm-packet-hisotry {
                                  description
                                    "LM packet history";
                                  leaf timestamp {
                                    type uint64;
                                    units
                                      "millisecond";
                                    description
                                      "Timestamp (milliseconds since Jan. 1, 1970)";
                                  }
    
                                  leaf tx-counter {
                                    type uint64;
                                    description
                                      "TX counter";
                                  }
    
                                  leaf rx-counter {
                                    type uint64;
                                    description
                                      "RX RX counter";
                                  }
                                }  // list lm-packet-hisotry
                              }  // container lm-packet-history
    
                              container lm-aggregated-history {
                                when
                                  "../history-type = 'history-type-lm-aggregated'" {
                                  description
                                    "../HistoryType = 'HistoryTypeLMAggregated'";
                                }
                                description
                                  "Info of loss-measurement aggregation history";
                                list lm-aggregated-hisotry {
                                  description
                                    "LM aggregation history";
                                  leaf timestamp {
                                    type uint64;
                                    units
                                      "millisecond";
                                    description
                                      "Timestamp (milliseconds since Jan. 1, 1970)";
                                  }
    
                                  leaf num-sent-packet {
                                    type uint64;
                                    description
                                      "Number of packets been sent in this aggregation
    interval";
                                  }
    
                                  leaf num-received-packet {
                                    type uint64;
                                    description
                                      "Number of packets been received in this
    aggregation interval";
                                  }
    
                                  leaf loss-percentage {
                                    type uint32;
                                    units
                                      "percentage";
                                    description
                                      "Packet loss percentage";
                                  }
                                }  // list lm-aggregated-hisotry
                              }  // container lm-aggregated-history
    
                              container lm-advertisement-history {
                                when
                                  "../history-type = 'history-type-lm-advertisement'" {
                                  description
                                    "../HistoryType = 'HistoryTypeLMAdvertisement'";
                                }
                                description
                                  "Info of loss-measurement advertisement history";
                                list lm-advertisement-history {
                                  description
                                    "LM advertisement history";
                                  leaf timestamp {
                                    type uint64;
                                    units
                                      "millisecond";
                                    description
                                      "Timestamp (milliseconds since Jan. 1, 1970)";
                                  }
    
                                  leaf advertisement-reason {
                                    type Pm-advert-reason;
                                    description
                                      "Advertisement reason";
                                  }
    
                                  leaf loss-percentage {
                                    type uint32;
                                    units
                                      "percentage";
                                    description
                                      "Packet loss percentage";
                                  }
                                }  // list lm-advertisement-history
                              }  // container lm-advertisement-history
    
                              leaf history-type {
                                type Pm-history;
                                description
                                  "HistoryType";
                              }
                            }  // container history-info
    
                            list hop-address {
                              description
                                "Hop addresses list";
                              leaf ip-address-type {
                                type Pm-addr;
                                description
                                  "IPAddressType";
                              }
    
                              leaf ipv4 {
                                when
                                  "../ip-address-type = 'ipv4'" {
                                  description
                                    "../IPAddressType = 'IPv4'";
                                }
                                type Pm-ipv4-addr;
                                description
                                  "IPv4 address type";
                              }
    
                              leaf ipv6 {
                                when
                                  "../ip-address-type = 'ipv6'" {
                                  description
                                    "../IPAddressType = 'IPv6'";
                                }
                                type Pm-ipv6-addr;
                                description
                                  "IPv6 address type";
                              }
                            }  // list hop-address
                          }  // list atomic-paths-history
                        }  // list segment-lists-history
                      }  // list candidate-paths-history
                    }  // list sr-policy-aggregation-history
                  }  // container sr-policy-aggregation-histories
    
                  container sr-policy-last-aggregations {
                    description
                      "Table of last aggregation";
                    list sr-policy-last-aggregation {
                      key "sr-policy-name";
                      description
                        "Last aggregation information";
                      leaf sr-policy-name {
                        type xr:Cisco-ios-xr-string;
                        description
                          "SR Policy name";
                      }
    
                      leaf policy-name {
                        type string;
                        description
                          "Name of the SR Policy";
                      }
    
                      list candidate-path {
                        description
                          "List of candidate-paths";
                        container metrics {
                          description
                            "Candidate-path metrics";
                          leaf average {
                            type uint32;
                            description
                              "Average value (uSec)";
                          }
    
                          leaf minimum {
                            type uint32;
                            description
                              "Minimum value (uSec)";
                          }
    
                          leaf maximum {
                            type uint32;
                            description
                              "Maximum value (uSec)";
                          }
    
                          leaf variance {
                            type uint32;
                            description
                              "Variance value (uSec)";
                          }
                        }  // container metrics
    
                        leaf instance {
                          type uint32;
                          description
                            "Session instance";
                        }
    
                        leaf preference {
                          type uint32;
                          description
                            "Preference of the candidate-path";
                        }
    
                        leaf origin {
                          type Pm-xtc-srpolicy-origin;
                          description
                            "Protocol origin";
                        }
    
                        leaf discriminator {
                          type uint32;
                          description
                            "Discriminator of the candidate-path";
                        }
    
                        leaf timestamp {
                          type uint64;
                          units "millisecond";
                          description
                            "Time when the metrics were computed
    (milliseconds since Jan. 1, 1970)";
                        }
    
                        list segment-list {
                          description
                            "List of segment-lists";
                          container metrics {
                            description
                              "Segment-list metrics";
                            leaf average {
                              type uint32;
                              description
                                "Average value (uSec)";
                            }
    
                            leaf minimum {
                              type uint32;
                              description
                                "Minimum value (uSec)";
                            }
    
                            leaf maximum {
                              type uint32;
                              description
                                "Maximum value (uSec)";
                            }
    
                            leaf variance {
                              type uint32;
                              description
                                "Variance value (uSec)";
                            }
                          }  // container metrics
    
                          leaf segment-list-name {
                            type string;
                            description
                              "Segment-list name, not set if path is dynamic";
                          }
    
                          list segment {
                            description
                              "List of segments";
                            container ip-address {
                              description
                                "Segment IP address";
                              leaf ip-address-type {
                                type Pm-addr;
                                description
                                  "IPAddressType";
                              }
    
                              leaf ipv4 {
                                when
                                  "../ip-address-type = 'ipv4'" {
                                  description
                                    "../IPAddressType = 'IPv4'";
                                }
                                type Pm-ipv4-addr;
                                description
                                  "IPv4 address type";
                              }
    
                              leaf ipv6 {
                                when
                                  "../ip-address-type = 'ipv6'" {
                                  description
                                    "../IPAddressType = 'IPv6'";
                                }
                                type Pm-ipv6-addr;
                                description
                                  "IPv6 address type";
                              }
                            }  // container ip-address
    
                            leaf mpls-label {
                              type uint32;
                              description
                                "Segment mpls label";
                            }
                          }  // list segment
    
                          list atomic-path {
                            description
                              "List of atomic paths";
                            container metrics {
                              description
                                "Atomic Path metrics";
                              leaf average {
                                type uint32;
                                description
                                  "Average value (uSec)";
                              }
    
                              leaf minimum {
                                type uint32;
                                description
                                  "Minimum value (uSec)";
                              }
    
                              leaf maximum {
                                type uint32;
                                description
                                  "Maximum value (uSec)";
                              }
    
                              leaf variance {
                                type uint32;
                                description
                                  "Variance value (uSec)";
                              }
                            }  // container metrics
    
                            list hop-address {
                              description
                                "Hop addresses list";
                              leaf ip-address-type {
                                type Pm-addr;
                                description
                                  "IPAddressType";
                              }
    
                              leaf ipv4 {
                                when
                                  "../ip-address-type = 'ipv4'" {
                                  description
                                    "../IPAddressType = 'IPv4'";
                                }
                                type Pm-ipv4-addr;
                                description
                                  "IPv4 address type";
                              }
    
                              leaf ipv6 {
                                when
                                  "../ip-address-type = 'ipv6'" {
                                  description
                                    "../IPAddressType = 'IPv6'";
                                }
                                type Pm-ipv6-addr;
                                description
                                  "IPv6 address type";
                              }
                            }  // list hop-address
    
                            list label {
                              description
                                "MPLS labels";
                              leaf entry {
                                type uint32;
                                description
                                  "MPLS labels";
                              }
                            }  // list label
                          }  // list atomic-path
                        }  // list segment-list
                      }  // list candidate-path
                    }  // list sr-policy-last-aggregation
                  }  // container sr-policy-last-aggregations
                }  // container sr-policy-delay
    
                container sr-policy-liveness {
                  description
                    "SR Policy Liveness-Detection information";
                  container pm-sr-policy-last-liveness-detection-verboses {
                    description
                      "Table of last liveness detection information";
                    list pm-sr-policy-last-liveness-detection-verbose {
                      key "sr-policy-name";
                      description
                        "Last liveness verbose information";
                      leaf sr-policy-name {
                        type xr:Cisco-ios-xr-string;
                        description
                          "SR Policy name";
                      }
    
                      container end-point-address {
                        description
                          "IPv4/IPv6 End point address";
                        leaf ip-address-type {
                          type Pm-addr;
                          description
                            "IPAddressType";
                        }
    
                        leaf ipv4 {
                          when
                            "../ip-address-type = 'ipv4'" {
                            description
                              "../IPAddressType = 'IPv4'";
                          }
                          type Pm-ipv4-addr;
                          description
                            "IPv4 address type";
                        }
    
                        leaf ipv6 {
                          when
                            "../ip-address-type = 'ipv6'" {
                            description
                              "../IPAddressType = 'IPv6'";
                          }
                          type Pm-ipv6-addr;
                          description
                            "IPv6 address type";
                        }
                      }  // container end-point-address
    
                      leaf policy-name {
                        type string;
                        description
                          "Name of the SR Policy";
                      }
    
                      leaf color {
                        type uint32;
                        description "Color";
                      }
    
                      leaf liveness-detection-enabled {
                        type boolean;
                        description
                          "True if liveness detection is enabled for the
    policy";
                      }
    
                      list candidate-path {
                        description
                          "List of candidate-paths";
                        container liveness-detection-info {
                          description
                            "Information of liveness detection session state";
                          leaf session-is-up {
                            type boolean;
                            description
                              "Liveness session state";
                          }
    
                          leaf miss-count {
                            type uint32;
                            description
                              "Number of continuously missed probe packets";
                          }
    
                          leaf last-session-state-change-timestamp {
                            type uint64;
                            description
                              "Timestamp of the last liveness session state
    change";
                          }
                        }  // container liveness-detection-info
    
                        leaf instance {
                          type uint32;
                          description
                            "Session instance";
                        }
    
                        leaf preference {
                          type uint32;
                          description
                            "Preference of the candidate-path";
                        }
    
                        leaf origin {
                          type Pm-xtc-srpolicy-origin;
                          description
                            "Protocol origin";
                        }
    
                        leaf discriminator {
                          type uint32;
                          description
                            "Discriminator of the candidate-path";
                        }
    
                        list segment-list {
                          description
                            "List of segment-lists";
                          container liveness-detection-info {
                            description
                              "Information of liveness detection session state";
                            leaf session-is-up {
                              type boolean;
                              description
                                "Liveness session state";
                            }
    
                            leaf miss-count {
                              type uint32;
                              description
                                "Number of continuously missed probe packets";
                            }
    
                            leaf last-session-state-change-timestamp {
                              type uint64;
                              description
                                "Timestamp of the last liveness session state
    change";
                            }
                          }  // container liveness-detection-info
    
                          leaf segment-list-name {
                            type string;
                            description
                              "Segment-list name, not set if path is dynamic";
                          }
    
                          list segment {
                            description
                              "List of segments";
                            container ip-address {
                              description
                                "Segment IP address";
                              leaf ip-address-type {
                                type Pm-addr;
                                description
                                  "IPAddressType";
                              }
    
                              leaf ipv4 {
                                when
                                  "../ip-address-type = 'ipv4'" {
                                  description
                                    "../IPAddressType = 'IPv4'";
                                }
                                type Pm-ipv4-addr;
                                description
                                  "IPv4 address type";
                              }
    
                              leaf ipv6 {
                                when
                                  "../ip-address-type = 'ipv6'" {
                                  description
                                    "../IPAddressType = 'IPv6'";
                                }
                                type Pm-ipv6-addr;
                                description
                                  "IPv6 address type";
                              }
                            }  // container ip-address
    
                            leaf mpls-label {
                              type uint32;
                              description
                                "Segment mpls label";
                            }
                          }  // list segment
    
                          list atomic-path {
                            description
                              "List of atomic paths";
                            container liveness-detection-info {
                              description
                                "Information of liveness detection session state";
                              leaf session-is-up {
                                type boolean;
                                description
                                  "Liveness session state";
                              }
    
                              leaf miss-count {
                                type uint32;
                                description
                                  "Number of continuously missed probe packets";
                              }
    
                              leaf last-session-state-change-timestamp {
                                type uint64;
                                description
                                  "Timestamp of the last liveness session state
    change";
                              }
                            }  // container liveness-detection-info
    
                            list hop-address {
                              description
                                "Hop addresses list";
                              leaf ip-address-type {
                                type Pm-addr;
                                description
                                  "IPAddressType";
                              }
    
                              leaf ipv4 {
                                when
                                  "../ip-address-type = 'ipv4'" {
                                  description
                                    "../IPAddressType = 'IPv4'";
                                }
                                type Pm-ipv4-addr;
                                description
                                  "IPv4 address type";
                              }
    
                              leaf ipv6 {
                                when
                                  "../ip-address-type = 'ipv6'" {
                                  description
                                    "../IPAddressType = 'IPv6'";
                                }
                                type Pm-ipv6-addr;
                                description
                                  "IPv6 address type";
                              }
                            }  // list hop-address
    
                            list label {
                              description
                                "MPLS labels";
                              leaf entry {
                                type uint32;
                                description
                                  "MPLS labels";
                              }
                            }  // list label
                          }  // list atomic-path
                        }  // list segment-list
                      }  // list candidate-path
                    }  // list pm-sr-policy-last-liveness-detection-verbose
                  }  // container pm-sr-policy-last-liveness-detection-verboses
    
                  container pm-sr-policy-liveness-session-state-histories {
                    description
                      "Table of liveness session state history";
                    list pm-sr-policy-liveness-session-state-history {
                      key "sr-policy-name";
                      description
                        "Liveness session state history information";
                      leaf sr-policy-name {
                        type xr:Cisco-ios-xr-string;
                        description
                          "SR Policy name";
                      }
    
                      container end-point-address {
                        description
                          "IPv4/IPv6 End point address";
                        leaf ip-address-type {
                          type Pm-addr;
                          description
                            "IPAddressType";
                        }
    
                        leaf ipv4 {
                          when
                            "../ip-address-type = 'ipv4'" {
                            description
                              "../IPAddressType = 'IPv4'";
                          }
                          type Pm-ipv4-addr;
                          description
                            "IPv4 address type";
                        }
    
                        leaf ipv6 {
                          when
                            "../ip-address-type = 'ipv6'" {
                            description
                              "../IPAddressType = 'IPv6'";
                          }
                          type Pm-ipv6-addr;
                          description
                            "IPv6 address type";
                        }
                      }  // container end-point-address
    
                      leaf color {
                        type uint32;
                        description "Color";
                      }
    
                      leaf policy-name {
                        type string;
                        description
                          "Name of the SR Policy";
                      }
    
                      list candidate-paths-history {
                        description
                          "List of candidate-paths";
                        container history-info {
                          description
                            "History info of the candidate-path";
                          container probe-history {
                            when
                              "../history-type = 'history-type-probe'" {
                              description
                                "../HistoryType = 'HistoryTypeProbe'";
                            }
                            description
                              "Info of delay-measurement probe history";
                            list probe-history {
                              description
                                "List of samples of probe history records";
                              container probe-values {
                                description
                                  "Summarized results of the probe";
                                leaf average {
                                  type uint32;
                                  description
                                    "Average value (uSec)";
                                }
    
                                leaf minimum {
                                  type uint32;
                                  description
                                    "Minimum value (uSec)";
                                }
    
                                leaf maximum {
                                  type uint32;
                                  description
                                    "Maximum value (uSec)";
                                }
    
                                leaf variance {
                                  type uint32;
                                  description
                                    "Variance value (uSec)";
                                }
                              }  // container probe-values
    
                              leaf probe-start-timestamp {
                                type uint64;
                                units
                                  "millisecond";
                                description
                                  "Time last probe started (milliseconds since Jan.
    1, 1970)";
                              }
    
                              leaf packets-sent {
                                type uint32;
                                description
                                  "Number of query packets sent";
                              }
    
                              leaf packets-received {
                                type uint32;
                                description
                                  "Number of query Packets received";
                              }
                            }  // list probe-history
                          }  // container probe-history
    
                          container aggregated-history {
                            when
                              "../history-type = 'history-type-aggregated'" {
                              description
                                "../HistoryType = 'HistoryTypeAggregated'";
                            }
                            description
                              "Info of delay-measurement aggregation history";
                            list aggregated-history {
                              description
                                "List of samples of aggregation history records";
                              container aggregated-probe-values {
                                description
                                  "Summarised results of the aggregated probe";
                                leaf average {
                                  type uint32;
                                  description
                                    "Average value (uSec)";
                                }
    
                                leaf minimum {
                                  type uint32;
                                  description
                                    "Minimum value (uSec)";
                                }
    
                                leaf maximum {
                                  type uint32;
                                  description
                                    "Maximum value (uSec)";
                                }
    
                                leaf variance {
                                  type uint32;
                                  description
                                    "Variance value (uSec)";
                                }
                              }  // container aggregated-probe-values
    
                              leaf aggregation-timestamp {
                                type uint64;
                                units
                                  "millisecond";
                                description
                                  "Time probe aggregation was done (milliseconds
    since Jan. 1, 1970)";
                              }
                            }  // list aggregated-history
                          }  // container aggregated-history
    
                          container advertisement-history {
                            when
                              "../history-type = 'history-type-advertisement'" {
                              description
                                "../HistoryType = 'HistoryTypeAdvertisement'";
                            }
                            description
                              "Info of delay-measurement advertisement history";
                            list advertisement-history {
                              description
                                "List of samples of advertisement history records";
                              container advertised-values {
                                description
                                  "Advertised delay information";
                                leaf average {
                                  type uint32;
                                  description
                                    "Average value (uSec)";
                                }
    
                                leaf minimum {
                                  type uint32;
                                  description
                                    "Minimum value (uSec)";
                                }
    
                                leaf maximum {
                                  type uint32;
                                  description
                                    "Maximum value (uSec)";
                                }
    
                                leaf variance {
                                  type uint32;
                                  description
                                    "Variance value (uSec)";
                                }
                              }  // container advertised-values
    
                              leaf advertisement-timestamp {
                                type uint64;
                                units
                                  "millisecond";
                                description
                                  "Time advertisement was done (milliseconds since
    Jan. 1, 1970)";
                              }
    
                              leaf advertisement-reason {
                                type Pm-advert-reason;
                                description
                                  "Reason for advertisement";
                              }
                            }  // list advertisement-history
                          }  // container advertisement-history
    
                          container liveness-history {
                            when
                              "../history-type = 'history-type-liveness-state'" {
                              description
                                "../HistoryType = 'HistoryTypeLivenessState'";
                            }
                            description
                              "Info of liveness session history";
                            list liveness-hisotry {
                              description
                                "List of records of liveness history";
                              leaf liveness-state-change-timestamp {
                                type uint64;
                                description
                                  "Time liveness session state was changed";
                              }
    
                              leaf liveness-state-is-up {
                                type boolean;
                                description
                                  "True if liveness session is in UP state";
                              }
                            }  // list liveness-hisotry
                          }  // container liveness-history
    
                          container lm-probe-history {
                            when
                              "../history-type = 'history-type-lm-probe'" {
                              description
                                "../HistoryType = 'HistoryTypeLMProbe'";
                            }
                            description
                              "Info of loss-measurement probe history";
                            list lm-probe-hisotry {
                              description
                                "LM probe history";
                              leaf timestamp {
                                type uint64;
                                units
                                  "millisecond";
                                description
                                  "Timestamp (milliseconds since Jan. 1, 1970)";
                              }
    
                              leaf num-sent-packet {
                                type uint64;
                                description
                                  "Number of packets been sent in this probe
    interval";
                              }
    
                              leaf num-received-packet {
                                type uint64;
                                description
                                  "Number of packets been received in this probe
    interval";
                              }
    
                              leaf loss-percentage {
                                type uint32;
                                units
                                  "percentage";
                                description
                                  "Packet loss percentage";
                              }
                            }  // list lm-probe-hisotry
                          }  // container lm-probe-history
    
                          container lm-packet-history {
                            when
                              "../history-type = 'history-type-lm-packet'" {
                              description
                                "../HistoryType = 'HistoryTypeLMPacket'";
                            }
                            description
                              "Info of loss-measurement packet history";
                            list lm-packet-hisotry {
                              description
                                "LM packet history";
                              leaf timestamp {
                                type uint64;
                                units
                                  "millisecond";
                                description
                                  "Timestamp (milliseconds since Jan. 1, 1970)";
                              }
    
                              leaf tx-counter {
                                type uint64;
                                description
                                  "TX counter";
                              }
    
                              leaf rx-counter {
                                type uint64;
                                description
                                  "RX RX counter";
                              }
                            }  // list lm-packet-hisotry
                          }  // container lm-packet-history
    
                          container lm-aggregated-history {
                            when
                              "../history-type = 'history-type-lm-aggregated'" {
                              description
                                "../HistoryType = 'HistoryTypeLMAggregated'";
                            }
                            description
                              "Info of loss-measurement aggregation history";
                            list lm-aggregated-hisotry {
                              description
                                "LM aggregation history";
                              leaf timestamp {
                                type uint64;
                                units
                                  "millisecond";
                                description
                                  "Timestamp (milliseconds since Jan. 1, 1970)";
                              }
    
                              leaf num-sent-packet {
                                type uint64;
                                description
                                  "Number of packets been sent in this aggregation
    interval";
                              }
    
                              leaf num-received-packet {
                                type uint64;
                                description
                                  "Number of packets been received in this
    aggregation interval";
                              }
    
                              leaf loss-percentage {
                                type uint32;
                                units
                                  "percentage";
                                description
                                  "Packet loss percentage";
                              }
                            }  // list lm-aggregated-hisotry
                          }  // container lm-aggregated-history
    
                          container lm-advertisement-history {
                            when
                              "../history-type = 'history-type-lm-advertisement'" {
                              description
                                "../HistoryType = 'HistoryTypeLMAdvertisement'";
                            }
                            description
                              "Info of loss-measurement advertisement history";
                            list lm-advertisement-history {
                              description
                                "LM advertisement history";
                              leaf timestamp {
                                type uint64;
                                units
                                  "millisecond";
                                description
                                  "Timestamp (milliseconds since Jan. 1, 1970)";
                              }
    
                              leaf advertisement-reason {
                                type Pm-advert-reason;
                                description
                                  "Advertisement reason";
                              }
    
                              leaf loss-percentage {
                                type uint32;
                                units
                                  "percentage";
                                description
                                  "Packet loss percentage";
                              }
                            }  // list lm-advertisement-history
                          }  // container lm-advertisement-history
    
                          leaf history-type {
                            type Pm-history;
                            description
                              "HistoryType";
                          }
                        }  // container history-info
    
                        leaf preference {
                          type uint32;
                          description
                            "Preference of the candidate-path";
                        }
    
                        leaf origin {
                          type Pm-xtc-srpolicy-origin;
                          description
                            "Protocol origin";
                        }
    
                        leaf discriminator {
                          type uint32;
                          description
                            "Discriminator of the candidate-path";
                        }
    
                        list segment-lists-history {
                          description
                            "List of segment-lists";
                          container history-info {
                            description
                              "History info of the segment-list";
                            container probe-history {
                              when
                                "../history-type = 'history-type-probe'" {
                                description
                                  "../HistoryType = 'HistoryTypeProbe'";
                              }
                              description
                                "Info of delay-measurement probe history";
                              list probe-history {
                                description
                                  "List of samples of probe history records";
                                container probe-values {
                                  description
                                    "Summarized results of the probe";
                                  leaf average {
                                    type uint32;
                                    description
                                      "Average value (uSec)";
                                  }
    
                                  leaf minimum {
                                    type uint32;
                                    description
                                      "Minimum value (uSec)";
                                  }
    
                                  leaf maximum {
                                    type uint32;
                                    description
                                      "Maximum value (uSec)";
                                  }
    
                                  leaf variance {
                                    type uint32;
                                    description
                                      "Variance value (uSec)";
                                  }
                                }  // container probe-values
    
                                leaf probe-start-timestamp {
                                  type uint64;
                                  units
                                    "millisecond";
                                  description
                                    "Time last probe started (milliseconds since Jan.
    1, 1970)";
                                }
    
                                leaf packets-sent {
                                  type uint32;
                                  description
                                    "Number of query packets sent";
                                }
    
                                leaf packets-received {
                                  type uint32;
                                  description
                                    "Number of query Packets received";
                                }
                              }  // list probe-history
                            }  // container probe-history
    
                            container aggregated-history {
                              when
                                "../history-type = 'history-type-aggregated'" {
                                description
                                  "../HistoryType = 'HistoryTypeAggregated'";
                              }
                              description
                                "Info of delay-measurement aggregation history";
                              list aggregated-history {
                                description
                                  "List of samples of aggregation history records";
                                container aggregated-probe-values {
                                  description
                                    "Summarised results of the aggregated probe";
                                  leaf average {
                                    type uint32;
                                    description
                                      "Average value (uSec)";
                                  }
    
                                  leaf minimum {
                                    type uint32;
                                    description
                                      "Minimum value (uSec)";
                                  }
    
                                  leaf maximum {
                                    type uint32;
                                    description
                                      "Maximum value (uSec)";
                                  }
    
                                  leaf variance {
                                    type uint32;
                                    description
                                      "Variance value (uSec)";
                                  }
                                }  // container aggregated-probe-values
    
                                leaf aggregation-timestamp {
                                  type uint64;
                                  units
                                    "millisecond";
                                  description
                                    "Time probe aggregation was done (milliseconds
    since Jan. 1, 1970)";
                                }
                              }  // list aggregated-history
                            }  // container aggregated-history
    
                            container advertisement-history {
                              when
                                "../history-type = 'history-type-advertisement'" {
                                description
                                  "../HistoryType = 'HistoryTypeAdvertisement'";
                              }
                              description
                                "Info of delay-measurement advertisement history";
                              list advertisement-history {
                                description
                                  "List of samples of advertisement history records";
                                container advertised-values {
                                  description
                                    "Advertised delay information";
                                  leaf average {
                                    type uint32;
                                    description
                                      "Average value (uSec)";
                                  }
    
                                  leaf minimum {
                                    type uint32;
                                    description
                                      "Minimum value (uSec)";
                                  }
    
                                  leaf maximum {
                                    type uint32;
                                    description
                                      "Maximum value (uSec)";
                                  }
    
                                  leaf variance {
                                    type uint32;
                                    description
                                      "Variance value (uSec)";
                                  }
                                }  // container advertised-values
    
                                leaf advertisement-timestamp {
                                  type uint64;
                                  units
                                    "millisecond";
                                  description
                                    "Time advertisement was done (milliseconds since
    Jan. 1, 1970)";
                                }
    
                                leaf advertisement-reason {
                                  type Pm-advert-reason;
                                  description
                                    "Reason for advertisement";
                                }
                              }  // list advertisement-history
                            }  // container advertisement-history
    
                            container liveness-history {
                              when
                                "../history-type = 'history-type-liveness-state'" {
                                description
                                  "../HistoryType = 'HistoryTypeLivenessState'";
                              }
                              description
                                "Info of liveness session history";
                              list liveness-hisotry {
                                description
                                  "List of records of liveness history";
                                leaf liveness-state-change-timestamp {
                                  type uint64;
                                  description
                                    "Time liveness session state was changed";
                                }
    
                                leaf liveness-state-is-up {
                                  type boolean;
                                  description
                                    "True if liveness session is in UP state";
                                }
                              }  // list liveness-hisotry
                            }  // container liveness-history
    
                            container lm-probe-history {
                              when
                                "../history-type = 'history-type-lm-probe'" {
                                description
                                  "../HistoryType = 'HistoryTypeLMProbe'";
                              }
                              description
                                "Info of loss-measurement probe history";
                              list lm-probe-hisotry {
                                description
                                  "LM probe history";
                                leaf timestamp {
                                  type uint64;
                                  units
                                    "millisecond";
                                  description
                                    "Timestamp (milliseconds since Jan. 1, 1970)";
                                }
    
                                leaf num-sent-packet {
                                  type uint64;
                                  description
                                    "Number of packets been sent in this probe
    interval";
                                }
    
                                leaf num-received-packet {
                                  type uint64;
                                  description
                                    "Number of packets been received in this probe
    interval";
                                }
    
                                leaf loss-percentage {
                                  type uint32;
                                  units
                                    "percentage";
                                  description
                                    "Packet loss percentage";
                                }
                              }  // list lm-probe-hisotry
                            }  // container lm-probe-history
    
                            container lm-packet-history {
                              when
                                "../history-type = 'history-type-lm-packet'" {
                                description
                                  "../HistoryType = 'HistoryTypeLMPacket'";
                              }
                              description
                                "Info of loss-measurement packet history";
                              list lm-packet-hisotry {
                                description
                                  "LM packet history";
                                leaf timestamp {
                                  type uint64;
                                  units
                                    "millisecond";
                                  description
                                    "Timestamp (milliseconds since Jan. 1, 1970)";
                                }
    
                                leaf tx-counter {
                                  type uint64;
                                  description
                                    "TX counter";
                                }
    
                                leaf rx-counter {
                                  type uint64;
                                  description
                                    "RX RX counter";
                                }
                              }  // list lm-packet-hisotry
                            }  // container lm-packet-history
    
                            container lm-aggregated-history {
                              when
                                "../history-type = 'history-type-lm-aggregated'" {
                                description
                                  "../HistoryType = 'HistoryTypeLMAggregated'";
                              }
                              description
                                "Info of loss-measurement aggregation history";
                              list lm-aggregated-hisotry {
                                description
                                  "LM aggregation history";
                                leaf timestamp {
                                  type uint64;
                                  units
                                    "millisecond";
                                  description
                                    "Timestamp (milliseconds since Jan. 1, 1970)";
                                }
    
                                leaf num-sent-packet {
                                  type uint64;
                                  description
                                    "Number of packets been sent in this aggregation
    interval";
                                }
    
                                leaf num-received-packet {
                                  type uint64;
                                  description
                                    "Number of packets been received in this
    aggregation interval";
                                }
    
                                leaf loss-percentage {
                                  type uint32;
                                  units
                                    "percentage";
                                  description
                                    "Packet loss percentage";
                                }
                              }  // list lm-aggregated-hisotry
                            }  // container lm-aggregated-history
    
                            container lm-advertisement-history {
                              when
                                "../history-type = 'history-type-lm-advertisement'" {
                                description
                                  "../HistoryType = 'HistoryTypeLMAdvertisement'";
                              }
                              description
                                "Info of loss-measurement advertisement history";
                              list lm-advertisement-history {
                                description
                                  "LM advertisement history";
                                leaf timestamp {
                                  type uint64;
                                  units
                                    "millisecond";
                                  description
                                    "Timestamp (milliseconds since Jan. 1, 1970)";
                                }
    
                                leaf advertisement-reason {
                                  type Pm-advert-reason;
                                  description
                                    "Advertisement reason";
                                }
    
                                leaf loss-percentage {
                                  type uint32;
                                  units
                                    "percentage";
                                  description
                                    "Packet loss percentage";
                                }
                              }  // list lm-advertisement-history
                            }  // container lm-advertisement-history
    
                            leaf history-type {
                              type Pm-history;
                              description
                                "HistoryType";
                            }
                          }  // container history-info
    
                          leaf segment-list-name {
                            type string;
                            description
                              "Segment-list name, not set if path is dynamic";
                          }
    
                          list segment {
                            description
                              "List of segments";
                            container ip-address {
                              description
                                "Segment IP address";
                              leaf ip-address-type {
                                type Pm-addr;
                                description
                                  "IPAddressType";
                              }
    
                              leaf ipv4 {
                                when
                                  "../ip-address-type = 'ipv4'" {
                                  description
                                    "../IPAddressType = 'IPv4'";
                                }
                                type Pm-ipv4-addr;
                                description
                                  "IPv4 address type";
                              }
    
                              leaf ipv6 {
                                when
                                  "../ip-address-type = 'ipv6'" {
                                  description
                                    "../IPAddressType = 'IPv6'";
                                }
                                type Pm-ipv6-addr;
                                description
                                  "IPv6 address type";
                              }
                            }  // container ip-address
    
                            leaf mpls-label {
                              type uint32;
                              description
                                "Segment mpls label";
                            }
                          }  // list segment
    
                          list atomic-paths-history {
                            description
                              "List of atomic paths";
                            container history-info {
                              description
                                "History info of the atomic path ";
                              container probe-history {
                                when
                                  "../history-type = 'history-type-probe'" {
                                  description
                                    "../HistoryType = 'HistoryTypeProbe'";
                                }
                                description
                                  "Info of delay-measurement probe history";
                                list probe-history {
                                  description
                                    "List of samples of probe history records";
                                  container probe-values {
                                    description
                                      "Summarized results of the probe";
                                    leaf average {
                                      type uint32;
                                      description
                                        "Average value (uSec)";
                                    }
    
                                    leaf minimum {
                                      type uint32;
                                      description
                                        "Minimum value (uSec)";
                                    }
    
                                    leaf maximum {
                                      type uint32;
                                      description
                                        "Maximum value (uSec)";
                                    }
    
                                    leaf variance {
                                      type uint32;
                                      description
                                        "Variance value (uSec)";
                                    }
                                  }  // container probe-values
    
                                  leaf probe-start-timestamp {
                                    type uint64;
                                    units
                                      "millisecond";
                                    description
                                      "Time last probe started (milliseconds since Jan.
    1, 1970)";
                                  }
    
                                  leaf packets-sent {
                                    type uint32;
                                    description
                                      "Number of query packets sent";
                                  }
    
                                  leaf packets-received {
                                    type uint32;
                                    description
                                      "Number of query Packets received";
                                  }
                                }  // list probe-history
                              }  // container probe-history
    
                              container aggregated-history {
                                when
                                  "../history-type = 'history-type-aggregated'" {
                                  description
                                    "../HistoryType = 'HistoryTypeAggregated'";
                                }
                                description
                                  "Info of delay-measurement aggregation history";
                                list aggregated-history {
                                  description
                                    "List of samples of aggregation history records";
                                  container aggregated-probe-values {
                                    description
                                      "Summarised results of the aggregated probe";
                                    leaf average {
                                      type uint32;
                                      description
                                        "Average value (uSec)";
                                    }
    
                                    leaf minimum {
                                      type uint32;
                                      description
                                        "Minimum value (uSec)";
                                    }
    
                                    leaf maximum {
                                      type uint32;
                                      description
                                        "Maximum value (uSec)";
                                    }
    
                                    leaf variance {
                                      type uint32;
                                      description
                                        "Variance value (uSec)";
                                    }
                                  }  // container aggregated-probe-values
    
                                  leaf aggregation-timestamp {
                                    type uint64;
                                    units
                                      "millisecond";
                                    description
                                      "Time probe aggregation was done (milliseconds
    since Jan. 1, 1970)";
                                  }
                                }  // list aggregated-history
                              }  // container aggregated-history
    
                              container advertisement-history {
                                when
                                  "../history-type = 'history-type-advertisement'" {
                                  description
                                    "../HistoryType = 'HistoryTypeAdvertisement'";
                                }
                                description
                                  "Info of delay-measurement advertisement history";
                                list advertisement-history {
                                  description
                                    "List of samples of advertisement history records";
                                  container advertised-values {
                                    description
                                      "Advertised delay information";
                                    leaf average {
                                      type uint32;
                                      description
                                        "Average value (uSec)";
                                    }
    
                                    leaf minimum {
                                      type uint32;
                                      description
                                        "Minimum value (uSec)";
                                    }
    
                                    leaf maximum {
                                      type uint32;
                                      description
                                        "Maximum value (uSec)";
                                    }
    
                                    leaf variance {
                                      type uint32;
                                      description
                                        "Variance value (uSec)";
                                    }
                                  }  // container advertised-values
    
                                  leaf advertisement-timestamp {
                                    type uint64;
                                    units
                                      "millisecond";
                                    description
                                      "Time advertisement was done (milliseconds since
    Jan. 1, 1970)";
                                  }
    
                                  leaf advertisement-reason {
                                    type Pm-advert-reason;
                                    description
                                      "Reason for advertisement";
                                  }
                                }  // list advertisement-history
                              }  // container advertisement-history
    
                              container liveness-history {
                                when
                                  "../history-type = 'history-type-liveness-state'" {
                                  description
                                    "../HistoryType = 'HistoryTypeLivenessState'";
                                }
                                description
                                  "Info of liveness session history";
                                list liveness-hisotry {
                                  description
                                    "List of records of liveness history";
                                  leaf liveness-state-change-timestamp {
                                    type uint64;
                                    description
                                      "Time liveness session state was changed";
                                  }
    
                                  leaf liveness-state-is-up {
                                    type boolean;
                                    description
                                      "True if liveness session is in UP state";
                                  }
                                }  // list liveness-hisotry
                              }  // container liveness-history
    
                              container lm-probe-history {
                                when
                                  "../history-type = 'history-type-lm-probe'" {
                                  description
                                    "../HistoryType = 'HistoryTypeLMProbe'";
                                }
                                description
                                  "Info of loss-measurement probe history";
                                list lm-probe-hisotry {
                                  description
                                    "LM probe history";
                                  leaf timestamp {
                                    type uint64;
                                    units
                                      "millisecond";
                                    description
                                      "Timestamp (milliseconds since Jan. 1, 1970)";
                                  }
    
                                  leaf num-sent-packet {
                                    type uint64;
                                    description
                                      "Number of packets been sent in this probe
    interval";
                                  }
    
                                  leaf num-received-packet {
                                    type uint64;
                                    description
                                      "Number of packets been received in this probe
    interval";
                                  }
    
                                  leaf loss-percentage {
                                    type uint32;
                                    units
                                      "percentage";
                                    description
                                      "Packet loss percentage";
                                  }
                                }  // list lm-probe-hisotry
                              }  // container lm-probe-history
    
                              container lm-packet-history {
                                when
                                  "../history-type = 'history-type-lm-packet'" {
                                  description
                                    "../HistoryType = 'HistoryTypeLMPacket'";
                                }
                                description
                                  "Info of loss-measurement packet history";
                                list lm-packet-hisotry {
                                  description
                                    "LM packet history";
                                  leaf timestamp {
                                    type uint64;
                                    units
                                      "millisecond";
                                    description
                                      "Timestamp (milliseconds since Jan. 1, 1970)";
                                  }
    
                                  leaf tx-counter {
                                    type uint64;
                                    description
                                      "TX counter";
                                  }
    
                                  leaf rx-counter {
                                    type uint64;
                                    description
                                      "RX RX counter";
                                  }
                                }  // list lm-packet-hisotry
                              }  // container lm-packet-history
    
                              container lm-aggregated-history {
                                when
                                  "../history-type = 'history-type-lm-aggregated'" {
                                  description
                                    "../HistoryType = 'HistoryTypeLMAggregated'";
                                }
                                description
                                  "Info of loss-measurement aggregation history";
                                list lm-aggregated-hisotry {
                                  description
                                    "LM aggregation history";
                                  leaf timestamp {
                                    type uint64;
                                    units
                                      "millisecond";
                                    description
                                      "Timestamp (milliseconds since Jan. 1, 1970)";
                                  }
    
                                  leaf num-sent-packet {
                                    type uint64;
                                    description
                                      "Number of packets been sent in this aggregation
    interval";
                                  }
    
                                  leaf num-received-packet {
                                    type uint64;
                                    description
                                      "Number of packets been received in this
    aggregation interval";
                                  }
    
                                  leaf loss-percentage {
                                    type uint32;
                                    units
                                      "percentage";
                                    description
                                      "Packet loss percentage";
                                  }
                                }  // list lm-aggregated-hisotry
                              }  // container lm-aggregated-history
    
                              container lm-advertisement-history {
                                when
                                  "../history-type = 'history-type-lm-advertisement'" {
                                  description
                                    "../HistoryType = 'HistoryTypeLMAdvertisement'";
                                }
                                description
                                  "Info of loss-measurement advertisement history";
                                list lm-advertisement-history {
                                  description
                                    "LM advertisement history";
                                  leaf timestamp {
                                    type uint64;
                                    units
                                      "millisecond";
                                    description
                                      "Timestamp (milliseconds since Jan. 1, 1970)";
                                  }
    
                                  leaf advertisement-reason {
                                    type Pm-advert-reason;
                                    description
                                      "Advertisement reason";
                                  }
    
                                  leaf loss-percentage {
                                    type uint32;
                                    units
                                      "percentage";
                                    description
                                      "Packet loss percentage";
                                  }
                                }  // list lm-advertisement-history
                              }  // container lm-advertisement-history
    
                              leaf history-type {
                                type Pm-history;
                                description
                                  "HistoryType";
                              }
                            }  // container history-info
    
                            list hop-address {
                              description
                                "Hop addresses list";
                              leaf ip-address-type {
                                type Pm-addr;
                                description
                                  "IPAddressType";
                              }
    
                              leaf ipv4 {
                                when
                                  "../ip-address-type = 'ipv4'" {
                                  description
                                    "../IPAddressType = 'IPv4'";
                                }
                                type Pm-ipv4-addr;
                                description
                                  "IPv4 address type";
                              }
    
                              leaf ipv6 {
                                when
                                  "../ip-address-type = 'ipv6'" {
                                  description
                                    "../IPAddressType = 'IPv6'";
                                }
                                type Pm-ipv6-addr;
                                description
                                  "IPv6 address type";
                              }
                            }  // list hop-address
                          }  // list atomic-paths-history
                        }  // list segment-lists-history
                      }  // list candidate-paths-history
                    }  // list pm-sr-policy-liveness-session-state-history
                  }  // container pm-sr-policy-liveness-session-state-histories
                }  // container sr-policy-liveness
    
                container sr-policy-counters {
                  description
                    "Table of SR Policies counters info";
                  list sr-policy-counter {
                    key "policy-name";
                    description
                      "SR Policy counter information";
                    leaf policy-name {
                      type xr:Cisco-ios-xr-string;
                      description "Policy name";
                    }
    
                    leaf policy-name-xr {
                      type string;
                      description
                        "Name of the SR Policy";
                    }
    
                    list candidate-counter {
                      description
                        "List of candidate path counters";
                      container counters {
                        description
                          "Candidate-path counters";
                        container generic-counters {
                          description
                            "Generic counters for a PM interface instance";
                          leaf query-packets-sent {
                            type uint64;
                            description
                              "Number of query packets sent";
                          }
    
                          leaf query-packet-sent-errors {
                            type uint64;
                            description
                              "Number of query packets sent error";
                          }
    
                          leaf query-packet-sent-error-no-ip-address {
                            type uint64;
                            description
                              "Number of query packets sent error caused by no
    IP address";
                          }
    
                          leaf query-packets-received {
                            type uint64;
                            description
                              "Number of received query packets";
                          }
    
                          leaf received-packet-error-negative-delay {
                            type uint64;
                            description
                              "Number of packet error caused by receiving
    negative delay";
                          }
    
                          leaf received-packet-error-delay-exceeds-threshold {
                            type uint64;
                            description
                              "Number of packet error caused by measured delay
    is invalid due to exceeding threshold";
                          }
    
                          leaf received-packet-error-missing-tx-timestamp {
                            type uint64;
                            description
                              "Number of packet error caused by received packet
    is missing Tx timestamp";
                          }
    
                          leaf received-packet-error-missing-rx-timestamp {
                            type uint64;
                            description
                              "Number of packet error caused by received packet
    is missing Rx timestamp";
                          }
    
                          leaf received-packet-error-probe-full {
                            type uint64;
                            description
                              "Number of packet error caused by receiving
    packet when probe is full";
                          }
    
                          leaf received-packet-error-probe-not-started {
                            type uint64;
                            description
                              "Number of packet error caused by receiving
    packet when probe is not started";
                          }
    
                          leaf received-packet-control-code-error {
                            type uint64;
                            description
                              "Number of packet error caused by a control code
    error from responder";
                          }
    
                          leaf received-packet-control-code-notification {
                            type uint64;
                            description
                              "Number of packet error caused by a control code
    notification from responder";
                          }
    
                          leaf probes-started {
                            type uint64;
                            description
                              "Number of probes started";
                          }
    
                          leaf probes-complete {
                            type uint64;
                            description
                              "Number of probes completed";
                          }
    
                          leaf probes-incomplete {
                            type uint64;
                            description
                              "Number of probes incomplete";
                          }
    
                          leaf advertisement {
                            type uint64;
                            description
                              "Number of advertisements";
                          }
                        }  // container generic-counters
    
                        container exclusive-counters {
                          description
                            "Exclusive counters for a PM interface instance";
                          container interface-exclusive-counters {
                            when
                              "../transport-type = 'interface-transport-type'" {
                              description
                                "../TransportType = 'InterfaceTransportType'";
                            }
                            description
                              "Counters exclusive for interface";
                            leaf query-packet-sent-error-interface-down {
                              type uint64;
                              description
                                "Number of query packets sent error caused by
    interface down";
                            }
    
                            leaf query-packet-sent-error-no-mpls-caps {
                              type uint64;
                              description
                                "Number of query packets sent error caused by no
    MPLS caps";
                            }
    
                            leaf query-packet-sent-error-ipv4-down-with-v4-next-hop {
                              type uint64;
                              description
                                "Number of query packets sent error caused by
    IPv4 protocl in down state with configured IPv4
    next hop";
                            }
    
                            leaf query-packet-sent-error-ipv6-down-with-v6-next-hop {
                              type uint64;
                              description
                                "Number of query packets sent error caused by
    IPv6 protocl in down state with configured IPv6
    next hop";
                            }
    
                            leaf query-packet-sent-error-ipv4ipv6-down-without-next-hop {
                              type uint64;
                              description
                                "Number of query packets sent error caused by
    both IPv4 and IPv6 protocl in down state without
    configured next hop";
                            }
    
                            leaf query-packet-sent-error-next-hop-mac-missing {
                              type uint64;
                              description
                                "Number of query packets sent error caused by
    missing next hop MAC";
                            }
                          }  // container interface-exclusive-counters
    
                          container sr-policy-exclusive-counters {
                            when
                              "../transport-type = 'sr-policy-transport-type'" {
                              description
                                "../TransportType = 'SRPolicyTransportType'";
                            }
                            description
                              "Counters exclusive for SR Policies";
                            leaf liveness-detection-missed-count {
                              type uint64;
                              description
                                "Number of missed packets";
                            }
                          }  // container sr-policy-exclusive-counters
    
                          container endpoint-exclusive-counters {
                            when
                              "../transport-type = 'endpoiont-transport-type'" {
                              description
                                "../TransportType = 'EndpoiontTransportType'";
                            }
                            description
                              "Counters exclusive for Endpoint";
                            leaf query-packets-sent-error-sl-label-missing {
                              type uint64;
                              description
                                "Number of query packets sent error caused by
    Missing Segment list Labels";
                            }
    
                            leaf liveness-detection-missed-count {
                              type uint64;
                              description
                                "Number of missed packets";
                            }
                          }  // container endpoint-exclusive-counters
    
                          leaf transport-type {
                            type Pm-transport;
                            description
                              "TransportType";
                          }
                        }  // container exclusive-counters
                      }  // container counters
    
                      leaf instance {
                        type uint32;
                        description
                          "Session instance";
                      }
    
                      leaf preference {
                        type uint32;
                        description
                          "Preference of the candidate-path";
                      }
    
                      leaf origin {
                        type Pm-xtc-srpolicy-origin;
                        description
                          "Protocol origin";
                      }
    
                      leaf discriminator {
                        type uint32;
                        description
                          "Discriminator of the candidate-path";
                      }
    
                      list segment-list-counter {
                        description
                          "List of counters for segment-lists in this
    candidate-path";
                        container counters {
                          description
                            "Segment-list counters";
                          container generic-counters {
                            description
                              "Generic counters for a PM interface instance";
                            leaf query-packets-sent {
                              type uint64;
                              description
                                "Number of query packets sent";
                            }
    
                            leaf query-packet-sent-errors {
                              type uint64;
                              description
                                "Number of query packets sent error";
                            }
    
                            leaf query-packet-sent-error-no-ip-address {
                              type uint64;
                              description
                                "Number of query packets sent error caused by no
    IP address";
                            }
    
                            leaf query-packets-received {
                              type uint64;
                              description
                                "Number of received query packets";
                            }
    
                            leaf received-packet-error-negative-delay {
                              type uint64;
                              description
                                "Number of packet error caused by receiving
    negative delay";
                            }
    
                            leaf received-packet-error-delay-exceeds-threshold {
                              type uint64;
                              description
                                "Number of packet error caused by measured delay
    is invalid due to exceeding threshold";
                            }
    
                            leaf received-packet-error-missing-tx-timestamp {
                              type uint64;
                              description
                                "Number of packet error caused by received packet
    is missing Tx timestamp";
                            }
    
                            leaf received-packet-error-missing-rx-timestamp {
                              type uint64;
                              description
                                "Number of packet error caused by received packet
    is missing Rx timestamp";
                            }
    
                            leaf received-packet-error-probe-full {
                              type uint64;
                              description
                                "Number of packet error caused by receiving
    packet when probe is full";
                            }
    
                            leaf received-packet-error-probe-not-started {
                              type uint64;
                              description
                                "Number of packet error caused by receiving
    packet when probe is not started";
                            }
    
                            leaf received-packet-control-code-error {
                              type uint64;
                              description
                                "Number of packet error caused by a control code
    error from responder";
                            }
    
                            leaf received-packet-control-code-notification {
                              type uint64;
                              description
                                "Number of packet error caused by a control code
    notification from responder";
                            }
    
                            leaf probes-started {
                              type uint64;
                              description
                                "Number of probes started";
                            }
    
                            leaf probes-complete {
                              type uint64;
                              description
                                "Number of probes completed";
                            }
    
                            leaf probes-incomplete {
                              type uint64;
                              description
                                "Number of probes incomplete";
                            }
    
                            leaf advertisement {
                              type uint64;
                              description
                                "Number of advertisements";
                            }
                          }  // container generic-counters
    
                          container exclusive-counters {
                            description
                              "Exclusive counters for a PM interface instance";
                            container interface-exclusive-counters {
                              when
                                "../transport-type = 'interface-transport-type'" {
                                description
                                  "../TransportType = 'InterfaceTransportType'";
                              }
                              description
                                "Counters exclusive for interface";
                              leaf query-packet-sent-error-interface-down {
                                type uint64;
                                description
                                  "Number of query packets sent error caused by
    interface down";
                              }
    
                              leaf query-packet-sent-error-no-mpls-caps {
                                type uint64;
                                description
                                  "Number of query packets sent error caused by no
    MPLS caps";
                              }
    
                              leaf query-packet-sent-error-ipv4-down-with-v4-next-hop {
                                type uint64;
                                description
                                  "Number of query packets sent error caused by
    IPv4 protocl in down state with configured IPv4
    next hop";
                              }
    
                              leaf query-packet-sent-error-ipv6-down-with-v6-next-hop {
                                type uint64;
                                description
                                  "Number of query packets sent error caused by
    IPv6 protocl in down state with configured IPv6
    next hop";
                              }
    
                              leaf query-packet-sent-error-ipv4ipv6-down-without-next-hop {
                                type uint64;
                                description
                                  "Number of query packets sent error caused by
    both IPv4 and IPv6 protocl in down state without
    configured next hop";
                              }
    
                              leaf query-packet-sent-error-next-hop-mac-missing {
                                type uint64;
                                description
                                  "Number of query packets sent error caused by
    missing next hop MAC";
                              }
                            }  // container interface-exclusive-counters
    
                            container sr-policy-exclusive-counters {
                              when
                                "../transport-type = 'sr-policy-transport-type'" {
                                description
                                  "../TransportType = 'SRPolicyTransportType'";
                              }
                              description
                                "Counters exclusive for SR Policies";
                              leaf liveness-detection-missed-count {
                                type uint64;
                                description
                                  "Number of missed packets";
                              }
                            }  // container sr-policy-exclusive-counters
    
                            container endpoint-exclusive-counters {
                              when
                                "../transport-type = 'endpoiont-transport-type'" {
                                description
                                  "../TransportType = 'EndpoiontTransportType'";
                              }
                              description
                                "Counters exclusive for Endpoint";
                              leaf query-packets-sent-error-sl-label-missing {
                                type uint64;
                                description
                                  "Number of query packets sent error caused by
    Missing Segment list Labels";
                              }
    
                              leaf liveness-detection-missed-count {
                                type uint64;
                                description
                                  "Number of missed packets";
                              }
                            }  // container endpoint-exclusive-counters
    
                            leaf transport-type {
                              type Pm-transport;
                              description
                                "TransportType";
                            }
                          }  // container exclusive-counters
                        }  // container counters
    
                        leaf segment-list-name {
                          type string;
                          description
                            "Segment-list name, not set if path is dynamic";
                        }
    
                        list segment {
                          description
                            "List of segments";
                          container ip-address {
                            description
                              "Segment IP address";
                            leaf ip-address-type {
                              type Pm-addr;
                              description
                                "IPAddressType";
                            }
    
                            leaf ipv4 {
                              when
                                "../ip-address-type = 'ipv4'" {
                                description
                                  "../IPAddressType = 'IPv4'";
                              }
                              type Pm-ipv4-addr;
                              description
                                "IPv4 address type";
                            }
    
                            leaf ipv6 {
                              when
                                "../ip-address-type = 'ipv6'" {
                                description
                                  "../IPAddressType = 'IPv6'";
                              }
                              type Pm-ipv6-addr;
                              description
                                "IPv6 address type";
                            }
                          }  // container ip-address
    
                          leaf mpls-label {
                            type uint32;
                            description
                              "Segment mpls label";
                          }
                        }  // list segment
                      }  // list segment-list-counter
                    }  // list candidate-counter
                  }  // list sr-policy-counter
                }  // container sr-policy-counters
              }  // container sr-policies
    
              container rsvpte-tunnels {
                description "RSVP-TE tunnels";
                container rsvpte-counters {
                  description
                    "Table of RSVP-TE tunnel counters info";
                  list rsvpte-counter {
                    key "tunnel-name";
                    description
                      "RSVP-TE counter information";
                    leaf tunnel-name {
                      type xr:Interface-name;
                      description "Tunnel name";
                    }
    
                    leaf tunnel-name-xr {
                      type string;
                      description
                        "RSVP-TE tunnel name";
                    }
    
                    list rsvptelsp-delay-counter {
                      description "List of LSPs";
                      container counters {
                        description
                          "LSP counters";
                        container generic-counters {
                          description
                            "Generic counters for a PM interface instance";
                          leaf query-packets-sent {
                            type uint64;
                            description
                              "Number of query packets sent";
                          }
    
                          leaf query-packet-sent-errors {
                            type uint64;
                            description
                              "Number of query packets sent error";
                          }
    
                          leaf query-packet-sent-error-no-ip-address {
                            type uint64;
                            description
                              "Number of query packets sent error caused by no
    IP address";
                          }
    
                          leaf query-packets-received {
                            type uint64;
                            description
                              "Number of received query packets";
                          }
    
                          leaf received-packet-error-negative-delay {
                            type uint64;
                            description
                              "Number of packet error caused by receiving
    negative delay";
                          }
    
                          leaf received-packet-error-delay-exceeds-threshold {
                            type uint64;
                            description
                              "Number of packet error caused by measured delay
    is invalid due to exceeding threshold";
                          }
    
                          leaf received-packet-error-missing-tx-timestamp {
                            type uint64;
                            description
                              "Number of packet error caused by received packet
    is missing Tx timestamp";
                          }
    
                          leaf received-packet-error-missing-rx-timestamp {
                            type uint64;
                            description
                              "Number of packet error caused by received packet
    is missing Rx timestamp";
                          }
    
                          leaf received-packet-error-probe-full {
                            type uint64;
                            description
                              "Number of packet error caused by receiving
    packet when probe is full";
                          }
    
                          leaf received-packet-error-probe-not-started {
                            type uint64;
                            description
                              "Number of packet error caused by receiving
    packet when probe is not started";
                          }
    
                          leaf received-packet-control-code-error {
                            type uint64;
                            description
                              "Number of packet error caused by a control code
    error from responder";
                          }
    
                          leaf received-packet-control-code-notification {
                            type uint64;
                            description
                              "Number of packet error caused by a control code
    notification from responder";
                          }
    
                          leaf probes-started {
                            type uint64;
                            description
                              "Number of probes started";
                          }
    
                          leaf probes-complete {
                            type uint64;
                            description
                              "Number of probes completed";
                          }
    
                          leaf probes-incomplete {
                            type uint64;
                            description
                              "Number of probes incomplete";
                          }
    
                          leaf advertisement {
                            type uint64;
                            description
                              "Number of advertisements";
                          }
                        }  // container generic-counters
    
                        container exclusive-counters {
                          description
                            "Exclusive counters for a PM interface instance";
                          container interface-exclusive-counters {
                            when
                              "../transport-type = 'interface-transport-type'" {
                              description
                                "../TransportType = 'InterfaceTransportType'";
                            }
                            description
                              "Counters exclusive for interface";
                            leaf query-packet-sent-error-interface-down {
                              type uint64;
                              description
                                "Number of query packets sent error caused by
    interface down";
                            }
    
                            leaf query-packet-sent-error-no-mpls-caps {
                              type uint64;
                              description
                                "Number of query packets sent error caused by no
    MPLS caps";
                            }
    
                            leaf query-packet-sent-error-ipv4-down-with-v4-next-hop {
                              type uint64;
                              description
                                "Number of query packets sent error caused by
    IPv4 protocl in down state with configured IPv4
    next hop";
                            }
    
                            leaf query-packet-sent-error-ipv6-down-with-v6-next-hop {
                              type uint64;
                              description
                                "Number of query packets sent error caused by
    IPv6 protocl in down state with configured IPv6
    next hop";
                            }
    
                            leaf query-packet-sent-error-ipv4ipv6-down-without-next-hop {
                              type uint64;
                              description
                                "Number of query packets sent error caused by
    both IPv4 and IPv6 protocl in down state without
    configured next hop";
                            }
    
                            leaf query-packet-sent-error-next-hop-mac-missing {
                              type uint64;
                              description
                                "Number of query packets sent error caused by
    missing next hop MAC";
                            }
                          }  // container interface-exclusive-counters
    
                          container sr-policy-exclusive-counters {
                            when
                              "../transport-type = 'sr-policy-transport-type'" {
                              description
                                "../TransportType = 'SRPolicyTransportType'";
                            }
                            description
                              "Counters exclusive for SR Policies";
                            leaf liveness-detection-missed-count {
                              type uint64;
                              description
                                "Number of missed packets";
                            }
                          }  // container sr-policy-exclusive-counters
    
                          container endpoint-exclusive-counters {
                            when
                              "../transport-type = 'endpoiont-transport-type'" {
                              description
                                "../TransportType = 'EndpoiontTransportType'";
                            }
                            description
                              "Counters exclusive for Endpoint";
                            leaf query-packets-sent-error-sl-label-missing {
                              type uint64;
                              description
                                "Number of query packets sent error caused by
    Missing Segment list Labels";
                            }
    
                            leaf liveness-detection-missed-count {
                              type uint64;
                              description
                                "Number of missed packets";
                            }
                          }  // container endpoint-exclusive-counters
    
                          leaf transport-type {
                            type Pm-transport;
                            description
                              "TransportType";
                          }
                        }  // container exclusive-counters
                      }  // container counters
    
                      leaf lsp-id {
                        type uint32;
                        description "LSP ID";
                      }
                    }  // list rsvptelsp-delay-counter
                  }  // list rsvpte-counter
                }  // container rsvpte-counters
    
                container rsvpte-details {
                  description
                    "Table of RSVP-TE tunnels detail info";
                  list rsvpte-detail {
                    key "tunnel-name";
                    description
                      "RSVP-TE information";
                    leaf tunnel-name {
                      type xr:Interface-name;
                      description "Tunnel name";
                    }
    
                    leaf tunnel-name-xr {
                      type string;
                      description
                        "RSVP-TE tunnel name";
                    }
    
                    leaf interface-handle {
                      type uint32;
                      description
                        "Ifhandle of the tunnel";
                    }
    
                    leaf tunnel-destination-ipv4-address {
                      type inet:ipv4-address;
                      description
                        "IPv4 address destination of the tunnel";
                    }
    
                    list rsvptelsp-delay-session {
                      description
                        "RSVP-TE LSP delay-measurement sessions";
                      container last-probe-results {
                        description
                          "Last probe results of LSP";
                        container probe-values {
                          description
                            "Summarized results of the probe";
                          leaf average {
                            type uint32;
                            description
                              "Average value (uSec)";
                          }
    
                          leaf minimum {
                            type uint32;
                            description
                              "Minimum value (uSec)";
                          }
    
                          leaf maximum {
                            type uint32;
                            description
                              "Maximum value (uSec)";
                          }
    
                          leaf variance {
                            type uint32;
                            description
                              "Variance value (uSec)";
                          }
                        }  // container probe-values
    
                        leaf number-of-packets-sent {
                          type uint32;
                          description
                            "Number of packets sent in the probe";
                        }
    
                        leaf number-of-packets-received {
                          type uint32;
                          description
                            "Number of packets received in the probe";
                        }
                      }  // container last-probe-results
    
                      container current-probe {
                        description
                          "Information for the current probe of the LSP";
                        container probe-results {
                          description
                            "Summarized  results of the current probe";
                          leaf average {
                            type uint32;
                            description
                              "Average value (uSec)";
                          }
    
                          leaf minimum {
                            type uint32;
                            description
                              "Minimum value (uSec)";
                          }
    
                          leaf maximum {
                            type uint32;
                            description
                              "Maximum value (uSec)";
                          }
    
                          leaf variance {
                            type uint32;
                            description
                              "Variance value (uSec)";
                          }
                        }  // container probe-results
    
                        leaf probe-start-time-stamp {
                          type uint64;
                          units "millisecond";
                          description
                            "Timestamp in milliseconds of the current probe
    start (milliseconds since Jan. 1, 1970)";
                        }
    
                        leaf next-probe-start-time-remaining-in-millisec {
                          type uint32;
                          units "millisecond";
                          description
                            "Time in milliseconds until the next probe starts";
                        }
    
                        leaf next-packet-sent-time-remaining-in-millisec {
                          type uint32;
                          units "millisecond";
                          description
                            "Time in milliseconds until the next packet is
    sent";
                        }
    
                        leaf burst-interval {
                          type uint32;
                          units "millisecond";
                          description
                            "Burst interval (in milliseconds)";
                        }
    
                        leaf burst-interval-is-stretched {
                          type boolean;
                          description
                            "True if the burst interval has been stretched
    for packet rate-limiting";
                        }
    
                        leaf number-of-packets-sent {
                          type uint32;
                          description
                            "Number of packets sent in the current probe";
                        }
    
                        leaf number-of-packets-received {
                          type uint32;
                          description
                            "Number of packets received in the current probe";
                        }
    
                        leaf probe-not-running-reason {
                          type Pm-probe-running-error-reason;
                          description
                            "Reason why probe is not running";
                        }
                      }  // container current-probe
    
                      container last-advertisement-information {
                        description
                          "Last advertisement information of the RSVP-TE
    LSP";
                        container advertised-values {
                          description
                            "Advertised delay information";
                          leaf average {
                            type uint32;
                            description
                              "Average value (uSec)";
                          }
    
                          leaf minimum {
                            type uint32;
                            description
                              "Minimum value (uSec)";
                          }
    
                          leaf maximum {
                            type uint32;
                            description
                              "Maximum value (uSec)";
                          }
    
                          leaf variance {
                            type uint32;
                            description
                              "Variance value (uSec)";
                          }
                        }  // container advertised-values
    
                        leaf time-of-advertisement {
                          type uint64;
                          units "millisecond";
                          description
                            "Time of the advertisement (milliseconds since
    Jan. 1, 1970)";
                        }
    
                        leaf advertisement-reason {
                          type Pm-advert-reason;
                          description
                            "Reason for advertisement";
                        }
    
                        leaf aflag-set {
                          type boolean;
                          description
                            "A flag is set";
                        }
                      }  // container last-advertisement-information
    
                      container next-advertisement-information {
                        description
                          "Next advertisement information of the RSVP-TE
    LSP";
                        container advertisement-interval-values {
                          description
                            "Next advertisement values";
                          leaf average {
                            type uint32;
                            description
                              "Average value (uSec)";
                          }
    
                          leaf minimum {
                            type uint32;
                            description
                              "Minimum value (uSec)";
                          }
    
                          leaf maximum {
                            type uint32;
                            description
                              "Maximum value (uSec)";
                          }
    
                          leaf variance {
                            type uint32;
                            description
                              "Variance value (uSec)";
                          }
                        }  // container advertisement-interval-values
    
                        leaf advertisement-interval-probes-remaining {
                          type uint32;
                          description
                            "Probes remaining until next periodic
    advertisement check";
                        }
    
                        leaf rolling-average {
                          type uint32;
                          description
                            "Rolling average value (uSec)";
                        }
                      }  // container next-advertisement-information
    
                      container last-notification-control-code {
                        description
                          "Last notifcation control code received of the
    RSVP-TE LSP";
                        leaf control-code {
                          type uint8;
                          description
                            "MPLS PM RFC 6374 control code";
                        }
    
                        leaf timestamp {
                          type uint64;
                          units "millisecond";
                          description
                            "Received timestamp of the control code
    (milliseconds since Jan. 1, 1970)";
                        }
                      }  // container last-notification-control-code
    
                      container last-error-control-code {
                        description
                          "Last error control code received of the RSVP-TE
    LSP";
                        leaf control-code {
                          type uint8;
                          description
                            "MPLS PM RFC 6374 control code";
                        }
    
                        leaf timestamp {
                          type uint64;
                          units "millisecond";
                          description
                            "Received timestamp of the control code
    (milliseconds since Jan. 1, 1970)";
                        }
                      }  // container last-error-control-code
    
                      container responder-address {
                        description
                          "Address of the Responder";
                        leaf ip-address-type {
                          type Pm-addr;
                          description
                            "IPAddressType";
                        }
    
                        leaf ipv4 {
                          when
                            "../ip-address-type = 'ipv4'" {
                            description
                              "../IPAddressType = 'IPv4'";
                          }
                          type Pm-ipv4-addr;
                          description
                            "IPv4 address type";
                        }
    
                        leaf ipv6 {
                          when
                            "../ip-address-type = 'ipv6'" {
                            description
                              "../IPAddressType = 'IPv6'";
                          }
                          type Pm-ipv6-addr;
                          description
                            "IPv6 address type";
                        }
                      }  // container responder-address
    
                      leaf session-id {
                        type uint32;
                        description
                          "Session ID of the LSP";
                      }
    
                      leaf lsp-id {
                        type uint32;
                        description "LSP ID";
                      }
    
                      leaf lsp-source-ipv4-address {
                        type inet:ipv4-address;
                        description
                          "LSP Source IPv4 Address";
                      }
    
                      leaf periodic-advertisement-interval-in-sec {
                        type uint32;
                        units "second";
                        description
                          "Interval of periodic advertisement in seconds";
                      }
    
                      leaf query-number-of-hops {
                        type uint8;
                        description
                          "Number of hops traversed by the query packet";
                      }
    
                      list probe-history {
                        description
                          "Current probe history of the LSP";
                        leaf measurement-value {
                          type uint64;
                          description
                            "Measurement value (nsec)";
                        }
    
                        leaf query-timestamp {
                          type uint64;
                          units "millisecond";
                          description
                            "Timestamp when the measurement was taken
    (milliseconds since Jan. 1, 1970)";
                        }
                      }  // list probe-history
                    }  // list rsvptelsp-delay-session
                  }  // list rsvpte-detail
                }  // container rsvpte-details
    
                container rsvpte-delay {
                  description
                    "RSVP-TE tunnel delay-measurement information";
                  container rsvpte-last-advertisements {
                    description
                      "Table of last advertisement metrics";
                    list rsvpte-last-advertisement {
                      key "tunnel-name";
                      description
                        "Last advertisement metrics information";
                      leaf tunnel-name {
                        type xr:Interface-name;
                        description
                          "Tunnel name";
                      }
    
                      leaf tunnel-name-xr {
                        type string;
                        description
                          "RSVP-TE tunnel name";
                      }
    
                      list lsp {
                        description
                          "List of LSPs";
                        container metrics {
                          description
                            "LSP metrics";
                          leaf average {
                            type uint32;
                            description
                              "Average value (uSec)";
                          }
    
                          leaf minimum {
                            type uint32;
                            description
                              "Minimum value (uSec)";
                          }
    
                          leaf maximum {
                            type uint32;
                            description
                              "Maximum value (uSec)";
                          }
    
                          leaf variance {
                            type uint32;
                            description
                              "Variance value (uSec)";
                          }
                        }  // container metrics
    
                        leaf lsp-id {
                          type uint32;
                          description "LSP ID";
                        }
    
                        leaf timestamp {
                          type uint64;
                          units "millisecond";
                          description
                            "Time when the metrics were computed
    (milliseconds since Jan. 1, 1970)";
                        }
                      }  // list lsp
                    }  // list rsvpte-last-advertisement
                  }  // container rsvpte-last-advertisements
    
                  container rsvpte-last-aggregations {
                    description
                      "Table of last probe aggregation";
                    list rsvpte-last-aggregation {
                      key "tunnel-name";
                      description
                        "Last probe aggregation information";
                      leaf tunnel-name {
                        type xr:Interface-name;
                        description
                          "SR Policy name";
                      }
    
                      leaf tunnel-name-xr {
                        type string;
                        description
                          "RSVP-TE tunnel name";
                      }
    
                      list lsp {
                        description
                          "List of LSPs";
                        container metrics {
                          description
                            "LSP metrics";
                          leaf average {
                            type uint32;
                            description
                              "Average value (uSec)";
                          }
    
                          leaf minimum {
                            type uint32;
                            description
                              "Minimum value (uSec)";
                          }
    
                          leaf maximum {
                            type uint32;
                            description
                              "Maximum value (uSec)";
                          }
    
                          leaf variance {
                            type uint32;
                            description
                              "Variance value (uSec)";
                          }
                        }  // container metrics
    
                        leaf lsp-id {
                          type uint32;
                          description "LSP ID";
                        }
    
                        leaf timestamp {
                          type uint64;
                          units "millisecond";
                          description
                            "Time when the metrics were computed
    (milliseconds since Jan. 1, 1970)";
                        }
                      }  // list lsp
                    }  // list rsvpte-last-aggregation
                  }  // container rsvpte-last-aggregations
    
                  container rsvpte-aggregation-histories {
                    description
                      "Table of aggregation history";
                    list rsvpte-aggregation-history {
                      key "tunnel-name";
                      description
                        "Aggregation history information";
                      leaf tunnel-name {
                        type xr:Interface-name;
                        description
                          "Tunnel name";
                      }
    
                      leaf tunnel-name-xr {
                        type string;
                        description
                          "RSVP-TE tunnel name";
                      }
    
                      list lsp {
                        description
                          "List of LSPs";
                        container history-union {
                          description
                            "History info of the RSVP-TE LSP";
                          container probe-history {
                            when
                              "../history-type = 'history-type-probe'" {
                              description
                                "../HistoryType = 'HistoryTypeProbe'";
                            }
                            description
                              "Info of delay-measurement probe history";
                            list probe-history {
                              description
                                "List of samples of probe history records";
                              container probe-values {
                                description
                                  "Summarized results of the probe";
                                leaf average {
                                  type uint32;
                                  description
                                    "Average value (uSec)";
                                }
    
                                leaf minimum {
                                  type uint32;
                                  description
                                    "Minimum value (uSec)";
                                }
    
                                leaf maximum {
                                  type uint32;
                                  description
                                    "Maximum value (uSec)";
                                }
    
                                leaf variance {
                                  type uint32;
                                  description
                                    "Variance value (uSec)";
                                }
                              }  // container probe-values
    
                              leaf probe-start-timestamp {
                                type uint64;
                                units
                                  "millisecond";
                                description
                                  "Time last probe started (milliseconds since Jan.
    1, 1970)";
                              }
    
                              leaf packets-sent {
                                type uint32;
                                description
                                  "Number of query packets sent";
                              }
    
                              leaf packets-received {
                                type uint32;
                                description
                                  "Number of query Packets received";
                              }
                            }  // list probe-history
                          }  // container probe-history
    
                          container aggregated-history {
                            when
                              "../history-type = 'history-type-aggregated'" {
                              description
                                "../HistoryType = 'HistoryTypeAggregated'";
                            }
                            description
                              "Info of delay-measurement aggregation history";
                            list aggregated-history {
                              description
                                "List of samples of aggregation history records";
                              container aggregated-probe-values {
                                description
                                  "Summarised results of the aggregated probe";
                                leaf average {
                                  type uint32;
                                  description
                                    "Average value (uSec)";
                                }
    
                                leaf minimum {
                                  type uint32;
                                  description
                                    "Minimum value (uSec)";
                                }
    
                                leaf maximum {
                                  type uint32;
                                  description
                                    "Maximum value (uSec)";
                                }
    
                                leaf variance {
                                  type uint32;
                                  description
                                    "Variance value (uSec)";
                                }
                              }  // container aggregated-probe-values
    
                              leaf aggregation-timestamp {
                                type uint64;
                                units
                                  "millisecond";
                                description
                                  "Time probe aggregation was done (milliseconds
    since Jan. 1, 1970)";
                              }
                            }  // list aggregated-history
                          }  // container aggregated-history
    
                          container advertisement-history {
                            when
                              "../history-type = 'history-type-advertisement'" {
                              description
                                "../HistoryType = 'HistoryTypeAdvertisement'";
                            }
                            description
                              "Info of delay-measurement advertisement history";
                            list advertisement-history {
                              description
                                "List of samples of advertisement history records";
                              container advertised-values {
                                description
                                  "Advertised delay information";
                                leaf average {
                                  type uint32;
                                  description
                                    "Average value (uSec)";
                                }
    
                                leaf minimum {
                                  type uint32;
                                  description
                                    "Minimum value (uSec)";
                                }
    
                                leaf maximum {
                                  type uint32;
                                  description
                                    "Maximum value (uSec)";
                                }
    
                                leaf variance {
                                  type uint32;
                                  description
                                    "Variance value (uSec)";
                                }
                              }  // container advertised-values
    
                              leaf advertisement-timestamp {
                                type uint64;
                                units
                                  "millisecond";
                                description
                                  "Time advertisement was done (milliseconds since
    Jan. 1, 1970)";
                              }
    
                              leaf advertisement-reason {
                                type Pm-advert-reason;
                                description
                                  "Reason for advertisement";
                              }
                            }  // list advertisement-history
                          }  // container advertisement-history
    
                          container liveness-history {
                            when
                              "../history-type = 'history-type-liveness-state'" {
                              description
                                "../HistoryType = 'HistoryTypeLivenessState'";
                            }
                            description
                              "Info of liveness session history";
                            list liveness-hisotry {
                              description
                                "List of records of liveness history";
                              leaf liveness-state-change-timestamp {
                                type uint64;
                                description
                                  "Time liveness session state was changed";
                              }
    
                              leaf liveness-state-is-up {
                                type boolean;
                                description
                                  "True if liveness session is in UP state";
                              }
                            }  // list liveness-hisotry
                          }  // container liveness-history
    
                          container lm-probe-history {
                            when
                              "../history-type = 'history-type-lm-probe'" {
                              description
                                "../HistoryType = 'HistoryTypeLMProbe'";
                            }
                            description
                              "Info of loss-measurement probe history";
                            list lm-probe-hisotry {
                              description
                                "LM probe history";
                              leaf timestamp {
                                type uint64;
                                units
                                  "millisecond";
                                description
                                  "Timestamp (milliseconds since Jan. 1, 1970)";
                              }
    
                              leaf num-sent-packet {
                                type uint64;
                                description
                                  "Number of packets been sent in this probe
    interval";
                              }
    
                              leaf num-received-packet {
                                type uint64;
                                description
                                  "Number of packets been received in this probe
    interval";
                              }
    
                              leaf loss-percentage {
                                type uint32;
                                units
                                  "percentage";
                                description
                                  "Packet loss percentage";
                              }
                            }  // list lm-probe-hisotry
                          }  // container lm-probe-history
    
                          container lm-packet-history {
                            when
                              "../history-type = 'history-type-lm-packet'" {
                              description
                                "../HistoryType = 'HistoryTypeLMPacket'";
                            }
                            description
                              "Info of loss-measurement packet history";
                            list lm-packet-hisotry {
                              description
                                "LM packet history";
                              leaf timestamp {
                                type uint64;
                                units
                                  "millisecond";
                                description
                                  "Timestamp (milliseconds since Jan. 1, 1970)";
                              }
    
                              leaf tx-counter {
                                type uint64;
                                description
                                  "TX counter";
                              }
    
                              leaf rx-counter {
                                type uint64;
                                description
                                  "RX RX counter";
                              }
                            }  // list lm-packet-hisotry
                          }  // container lm-packet-history
    
                          container lm-aggregated-history {
                            when
                              "../history-type = 'history-type-lm-aggregated'" {
                              description
                                "../HistoryType = 'HistoryTypeLMAggregated'";
                            }
                            description
                              "Info of loss-measurement aggregation history";
                            list lm-aggregated-hisotry {
                              description
                                "LM aggregation history";
                              leaf timestamp {
                                type uint64;
                                units
                                  "millisecond";
                                description
                                  "Timestamp (milliseconds since Jan. 1, 1970)";
                              }
    
                              leaf num-sent-packet {
                                type uint64;
                                description
                                  "Number of packets been sent in this aggregation
    interval";
                              }
    
                              leaf num-received-packet {
                                type uint64;
                                description
                                  "Number of packets been received in this
    aggregation interval";
                              }
    
                              leaf loss-percentage {
                                type uint32;
                                units
                                  "percentage";
                                description
                                  "Packet loss percentage";
                              }
                            }  // list lm-aggregated-hisotry
                          }  // container lm-aggregated-history
    
                          container lm-advertisement-history {
                            when
                              "../history-type = 'history-type-lm-advertisement'" {
                              description
                                "../HistoryType = 'HistoryTypeLMAdvertisement'";
                            }
                            description
                              "Info of loss-measurement advertisement history";
                            list lm-advertisement-history {
                              description
                                "LM advertisement history";
                              leaf timestamp {
                                type uint64;
                                units
                                  "millisecond";
                                description
                                  "Timestamp (milliseconds since Jan. 1, 1970)";
                              }
    
                              leaf advertisement-reason {
                                type Pm-advert-reason;
                                description
                                  "Advertisement reason";
                              }
    
                              leaf loss-percentage {
                                type uint32;
                                units
                                  "percentage";
                                description
                                  "Packet loss percentage";
                              }
                            }  // list lm-advertisement-history
                          }  // container lm-advertisement-history
    
                          leaf history-type {
                            type Pm-history;
                            description
                              "HistoryType";
                          }
                        }  // container history-union
    
                        leaf lsp-id {
                          type uint32;
                          description "LSP ID";
                        }
                      }  // list lsp
                    }  // list rsvpte-aggregation-history
                  }  // container rsvpte-aggregation-histories
    
                  container rsvpte-last-probes {
                    description
                      "Table of last probe metrics";
                    list rsvpte-last-probe {
                      key "tunnel-name";
                      description
                        "Last probe information";
                      leaf tunnel-name {
                        type xr:Interface-name;
                        description
                          "Tunnel name";
                      }
    
                      leaf tunnel-name-xr {
                        type string;
                        description
                          "RSVP-TE tunnel name";
                      }
    
                      list lsp {
                        description
                          "List of LSPs";
                        container metrics {
                          description
                            "LSP metrics";
                          leaf average {
                            type uint32;
                            description
                              "Average value (uSec)";
                          }
    
                          leaf minimum {
                            type uint32;
                            description
                              "Minimum value (uSec)";
                          }
    
                          leaf maximum {
                            type uint32;
                            description
                              "Maximum value (uSec)";
                          }
    
                          leaf variance {
                            type uint32;
                            description
                              "Variance value (uSec)";
                          }
                        }  // container metrics
    
                        leaf lsp-id {
                          type uint32;
                          description "LSP ID";
                        }
    
                        leaf timestamp {
                          type uint64;
                          units "millisecond";
                          description
                            "Time when the metrics were computed
    (milliseconds since Jan. 1, 1970)";
                        }
                      }  // list lsp
                    }  // list rsvpte-last-probe
                  }  // container rsvpte-last-probes
    
                  container rsvpte-advertisement-histories {
                    description
                      "Table of advertisement history for the
                     RSVP-TE LSP";
                    list rsvpte-advertisement-history {
                      key "tunnel-name";
                      description
                        "Advertisement history information for the
                       RSVP-TE LSP";
                      leaf tunnel-name {
                        type xr:Interface-name;
                        description
                          "Tunnel name";
                      }
    
                      leaf tunnel-name-xr {
                        type string;
                        description
                          "RSVP-TE tunnel name";
                      }
    
                      list lsp {
                        description
                          "List of LSPs";
                        container history-union {
                          description
                            "History info of the RSVP-TE LSP";
                          container probe-history {
                            when
                              "../history-type = 'history-type-probe'" {
                              description
                                "../HistoryType = 'HistoryTypeProbe'";
                            }
                            description
                              "Info of delay-measurement probe history";
                            list probe-history {
                              description
                                "List of samples of probe history records";
                              container probe-values {
                                description
                                  "Summarized results of the probe";
                                leaf average {
                                  type uint32;
                                  description
                                    "Average value (uSec)";
                                }
    
                                leaf minimum {
                                  type uint32;
                                  description
                                    "Minimum value (uSec)";
                                }
    
                                leaf maximum {
                                  type uint32;
                                  description
                                    "Maximum value (uSec)";
                                }
    
                                leaf variance {
                                  type uint32;
                                  description
                                    "Variance value (uSec)";
                                }
                              }  // container probe-values
    
                              leaf probe-start-timestamp {
                                type uint64;
                                units
                                  "millisecond";
                                description
                                  "Time last probe started (milliseconds since Jan.
    1, 1970)";
                              }
    
                              leaf packets-sent {
                                type uint32;
                                description
                                  "Number of query packets sent";
                              }
    
                              leaf packets-received {
                                type uint32;
                                description
                                  "Number of query Packets received";
                              }
                            }  // list probe-history
                          }  // container probe-history
    
                          container aggregated-history {
                            when
                              "../history-type = 'history-type-aggregated'" {
                              description
                                "../HistoryType = 'HistoryTypeAggregated'";
                            }
                            description
                              "Info of delay-measurement aggregation history";
                            list aggregated-history {
                              description
                                "List of samples of aggregation history records";
                              container aggregated-probe-values {
                                description
                                  "Summarised results of the aggregated probe";
                                leaf average {
                                  type uint32;
                                  description
                                    "Average value (uSec)";
                                }
    
                                leaf minimum {
                                  type uint32;
                                  description
                                    "Minimum value (uSec)";
                                }
    
                                leaf maximum {
                                  type uint32;
                                  description
                                    "Maximum value (uSec)";
                                }
    
                                leaf variance {
                                  type uint32;
                                  description
                                    "Variance value (uSec)";
                                }
                              }  // container aggregated-probe-values
    
                              leaf aggregation-timestamp {
                                type uint64;
                                units
                                  "millisecond";
                                description
                                  "Time probe aggregation was done (milliseconds
    since Jan. 1, 1970)";
                              }
                            }  // list aggregated-history
                          }  // container aggregated-history
    
                          container advertisement-history {
                            when
                              "../history-type = 'history-type-advertisement'" {
                              description
                                "../HistoryType = 'HistoryTypeAdvertisement'";
                            }
                            description
                              "Info of delay-measurement advertisement history";
                            list advertisement-history {
                              description
                                "List of samples of advertisement history records";
                              container advertised-values {
                                description
                                  "Advertised delay information";
                                leaf average {
                                  type uint32;
                                  description
                                    "Average value (uSec)";
                                }
    
                                leaf minimum {
                                  type uint32;
                                  description
                                    "Minimum value (uSec)";
                                }
    
                                leaf maximum {
                                  type uint32;
                                  description
                                    "Maximum value (uSec)";
                                }
    
                                leaf variance {
                                  type uint32;
                                  description
                                    "Variance value (uSec)";
                                }
                              }  // container advertised-values
    
                              leaf advertisement-timestamp {
                                type uint64;
                                units
                                  "millisecond";
                                description
                                  "Time advertisement was done (milliseconds since
    Jan. 1, 1970)";
                              }
    
                              leaf advertisement-reason {
                                type Pm-advert-reason;
                                description
                                  "Reason for advertisement";
                              }
                            }  // list advertisement-history
                          }  // container advertisement-history
    
                          container liveness-history {
                            when
                              "../history-type = 'history-type-liveness-state'" {
                              description
                                "../HistoryType = 'HistoryTypeLivenessState'";
                            }
                            description
                              "Info of liveness session history";
                            list liveness-hisotry {
                              description
                                "List of records of liveness history";
                              leaf liveness-state-change-timestamp {
                                type uint64;
                                description
                                  "Time liveness session state was changed";
                              }
    
                              leaf liveness-state-is-up {
                                type boolean;
                                description
                                  "True if liveness session is in UP state";
                              }
                            }  // list liveness-hisotry
                          }  // container liveness-history
    
                          container lm-probe-history {
                            when
                              "../history-type = 'history-type-lm-probe'" {
                              description
                                "../HistoryType = 'HistoryTypeLMProbe'";
                            }
                            description
                              "Info of loss-measurement probe history";
                            list lm-probe-hisotry {
                              description
                                "LM probe history";
                              leaf timestamp {
                                type uint64;
                                units
                                  "millisecond";
                                description
                                  "Timestamp (milliseconds since Jan. 1, 1970)";
                              }
    
                              leaf num-sent-packet {
                                type uint64;
                                description
                                  "Number of packets been sent in this probe
    interval";
                              }
    
                              leaf num-received-packet {
                                type uint64;
                                description
                                  "Number of packets been received in this probe
    interval";
                              }
    
                              leaf loss-percentage {
                                type uint32;
                                units
                                  "percentage";
                                description
                                  "Packet loss percentage";
                              }
                            }  // list lm-probe-hisotry
                          }  // container lm-probe-history
    
                          container lm-packet-history {
                            when
                              "../history-type = 'history-type-lm-packet'" {
                              description
                                "../HistoryType = 'HistoryTypeLMPacket'";
                            }
                            description
                              "Info of loss-measurement packet history";
                            list lm-packet-hisotry {
                              description
                                "LM packet history";
                              leaf timestamp {
                                type uint64;
                                units
                                  "millisecond";
                                description
                                  "Timestamp (milliseconds since Jan. 1, 1970)";
                              }
    
                              leaf tx-counter {
                                type uint64;
                                description
                                  "TX counter";
                              }
    
                              leaf rx-counter {
                                type uint64;
                                description
                                  "RX RX counter";
                              }
                            }  // list lm-packet-hisotry
                          }  // container lm-packet-history
    
                          container lm-aggregated-history {
                            when
                              "../history-type = 'history-type-lm-aggregated'" {
                              description
                                "../HistoryType = 'HistoryTypeLMAggregated'";
                            }
                            description
                              "Info of loss-measurement aggregation history";
                            list lm-aggregated-hisotry {
                              description
                                "LM aggregation history";
                              leaf timestamp {
                                type uint64;
                                units
                                  "millisecond";
                                description
                                  "Timestamp (milliseconds since Jan. 1, 1970)";
                              }
    
                              leaf num-sent-packet {
                                type uint64;
                                description
                                  "Number of packets been sent in this aggregation
    interval";
                              }
    
                              leaf num-received-packet {
                                type uint64;
                                description
                                  "Number of packets been received in this
    aggregation interval";
                              }
    
                              leaf loss-percentage {
                                type uint32;
                                units
                                  "percentage";
                                description
                                  "Packet loss percentage";
                              }
                            }  // list lm-aggregated-hisotry
                          }  // container lm-aggregated-history
    
                          container lm-advertisement-history {
                            when
                              "../history-type = 'history-type-lm-advertisement'" {
                              description
                                "../HistoryType = 'HistoryTypeLMAdvertisement'";
                            }
                            description
                              "Info of loss-measurement advertisement history";
                            list lm-advertisement-history {
                              description
                                "LM advertisement history";
                              leaf timestamp {
                                type uint64;
                                units
                                  "millisecond";
                                description
                                  "Timestamp (milliseconds since Jan. 1, 1970)";
                              }
    
                              leaf advertisement-reason {
                                type Pm-advert-reason;
                                description
                                  "Advertisement reason";
                              }
    
                              leaf loss-percentage {
                                type uint32;
                                units
                                  "percentage";
                                description
                                  "Packet loss percentage";
                              }
                            }  // list lm-advertisement-history
                          }  // container lm-advertisement-history
    
                          leaf history-type {
                            type Pm-history;
                            description
                              "HistoryType";
                          }
                        }  // container history-union
    
                        leaf lsp-id {
                          type uint32;
                          description "LSP ID";
                        }
                      }  // list lsp
                    }  // list rsvpte-advertisement-history
                  }  // container rsvpte-advertisement-histories
    
                  container rsvpte-probe-computation-histories {
                    description
                      "Table of probe computation history";
                    list rsvpte-probe-computation-history {
                      key "tunnel-name";
                      description
                        "Probe computation history information";
                      leaf tunnel-name {
                        type xr:Interface-name;
                        description
                          "Tunnel name";
                      }
    
                      leaf tunnel-name-xr {
                        type string;
                        description
                          "RSVP-TE tunnel name";
                      }
    
                      list lsp {
                        description
                          "List of LSPs";
                        container history-union {
                          description
                            "History info of the RSVP-TE LSP";
                          container probe-history {
                            when
                              "../history-type = 'history-type-probe'" {
                              description
                                "../HistoryType = 'HistoryTypeProbe'";
                            }
                            description
                              "Info of delay-measurement probe history";
                            list probe-history {
                              description
                                "List of samples of probe history records";
                              container probe-values {
                                description
                                  "Summarized results of the probe";
                                leaf average {
                                  type uint32;
                                  description
                                    "Average value (uSec)";
                                }
    
                                leaf minimum {
                                  type uint32;
                                  description
                                    "Minimum value (uSec)";
                                }
    
                                leaf maximum {
                                  type uint32;
                                  description
                                    "Maximum value (uSec)";
                                }
    
                                leaf variance {
                                  type uint32;
                                  description
                                    "Variance value (uSec)";
                                }
                              }  // container probe-values
    
                              leaf probe-start-timestamp {
                                type uint64;
                                units
                                  "millisecond";
                                description
                                  "Time last probe started (milliseconds since Jan.
    1, 1970)";
                              }
    
                              leaf packets-sent {
                                type uint32;
                                description
                                  "Number of query packets sent";
                              }
    
                              leaf packets-received {
                                type uint32;
                                description
                                  "Number of query Packets received";
                              }
                            }  // list probe-history
                          }  // container probe-history
    
                          container aggregated-history {
                            when
                              "../history-type = 'history-type-aggregated'" {
                              description
                                "../HistoryType = 'HistoryTypeAggregated'";
                            }
                            description
                              "Info of delay-measurement aggregation history";
                            list aggregated-history {
                              description
                                "List of samples of aggregation history records";
                              container aggregated-probe-values {
                                description
                                  "Summarised results of the aggregated probe";
                                leaf average {
                                  type uint32;
                                  description
                                    "Average value (uSec)";
                                }
    
                                leaf minimum {
                                  type uint32;
                                  description
                                    "Minimum value (uSec)";
                                }
    
                                leaf maximum {
                                  type uint32;
                                  description
                                    "Maximum value (uSec)";
                                }
    
                                leaf variance {
                                  type uint32;
                                  description
                                    "Variance value (uSec)";
                                }
                              }  // container aggregated-probe-values
    
                              leaf aggregation-timestamp {
                                type uint64;
                                units
                                  "millisecond";
                                description
                                  "Time probe aggregation was done (milliseconds
    since Jan. 1, 1970)";
                              }
                            }  // list aggregated-history
                          }  // container aggregated-history
    
                          container advertisement-history {
                            when
                              "../history-type = 'history-type-advertisement'" {
                              description
                                "../HistoryType = 'HistoryTypeAdvertisement'";
                            }
                            description
                              "Info of delay-measurement advertisement history";
                            list advertisement-history {
                              description
                                "List of samples of advertisement history records";
                              container advertised-values {
                                description
                                  "Advertised delay information";
                                leaf average {
                                  type uint32;
                                  description
                                    "Average value (uSec)";
                                }
    
                                leaf minimum {
                                  type uint32;
                                  description
                                    "Minimum value (uSec)";
                                }
    
                                leaf maximum {
                                  type uint32;
                                  description
                                    "Maximum value (uSec)";
                                }
    
                                leaf variance {
                                  type uint32;
                                  description
                                    "Variance value (uSec)";
                                }
                              }  // container advertised-values
    
                              leaf advertisement-timestamp {
                                type uint64;
                                units
                                  "millisecond";
                                description
                                  "Time advertisement was done (milliseconds since
    Jan. 1, 1970)";
                              }
    
                              leaf advertisement-reason {
                                type Pm-advert-reason;
                                description
                                  "Reason for advertisement";
                              }
                            }  // list advertisement-history
                          }  // container advertisement-history
    
                          container liveness-history {
                            when
                              "../history-type = 'history-type-liveness-state'" {
                              description
                                "../HistoryType = 'HistoryTypeLivenessState'";
                            }
                            description
                              "Info of liveness session history";
                            list liveness-hisotry {
                              description
                                "List of records of liveness history";
                              leaf liveness-state-change-timestamp {
                                type uint64;
                                description
                                  "Time liveness session state was changed";
                              }
    
                              leaf liveness-state-is-up {
                                type boolean;
                                description
                                  "True if liveness session is in UP state";
                              }
                            }  // list liveness-hisotry
                          }  // container liveness-history
    
                          container lm-probe-history {
                            when
                              "../history-type = 'history-type-lm-probe'" {
                              description
                                "../HistoryType = 'HistoryTypeLMProbe'";
                            }
                            description
                              "Info of loss-measurement probe history";
                            list lm-probe-hisotry {
                              description
                                "LM probe history";
                              leaf timestamp {
                                type uint64;
                                units
                                  "millisecond";
                                description
                                  "Timestamp (milliseconds since Jan. 1, 1970)";
                              }
    
                              leaf num-sent-packet {
                                type uint64;
                                description
                                  "Number of packets been sent in this probe
    interval";
                              }
    
                              leaf num-received-packet {
                                type uint64;
                                description
                                  "Number of packets been received in this probe
    interval";
                              }
    
                              leaf loss-percentage {
                                type uint32;
                                units
                                  "percentage";
                                description
                                  "Packet loss percentage";
                              }
                            }  // list lm-probe-hisotry
                          }  // container lm-probe-history
    
                          container lm-packet-history {
                            when
                              "../history-type = 'history-type-lm-packet'" {
                              description
                                "../HistoryType = 'HistoryTypeLMPacket'";
                            }
                            description
                              "Info of loss-measurement packet history";
                            list lm-packet-hisotry {
                              description
                                "LM packet history";
                              leaf timestamp {
                                type uint64;
                                units
                                  "millisecond";
                                description
                                  "Timestamp (milliseconds since Jan. 1, 1970)";
                              }
    
                              leaf tx-counter {
                                type uint64;
                                description
                                  "TX counter";
                              }
    
                              leaf rx-counter {
                                type uint64;
                                description
                                  "RX RX counter";
                              }
                            }  // list lm-packet-hisotry
                          }  // container lm-packet-history
    
                          container lm-aggregated-history {
                            when
                              "../history-type = 'history-type-lm-aggregated'" {
                              description
                                "../HistoryType = 'HistoryTypeLMAggregated'";
                            }
                            description
                              "Info of loss-measurement aggregation history";
                            list lm-aggregated-hisotry {
                              description
                                "LM aggregation history";
                              leaf timestamp {
                                type uint64;
                                units
                                  "millisecond";
                                description
                                  "Timestamp (milliseconds since Jan. 1, 1970)";
                              }
    
                              leaf num-sent-packet {
                                type uint64;
                                description
                                  "Number of packets been sent in this aggregation
    interval";
                              }
    
                              leaf num-received-packet {
                                type uint64;
                                description
                                  "Number of packets been received in this
    aggregation interval";
                              }
    
                              leaf loss-percentage {
                                type uint32;
                                units
                                  "percentage";
                                description
                                  "Packet loss percentage";
                              }
                            }  // list lm-aggregated-hisotry
                          }  // container lm-aggregated-history
    
                          container lm-advertisement-history {
                            when
                              "../history-type = 'history-type-lm-advertisement'" {
                              description
                                "../HistoryType = 'HistoryTypeLMAdvertisement'";
                            }
                            description
                              "Info of loss-measurement advertisement history";
                            list lm-advertisement-history {
                              description
                                "LM advertisement history";
                              leaf timestamp {
                                type uint64;
                                units
                                  "millisecond";
                                description
                                  "Timestamp (milliseconds since Jan. 1, 1970)";
                              }
    
                              leaf advertisement-reason {
                                type Pm-advert-reason;
                                description
                                  "Advertisement reason";
                              }
    
                              leaf loss-percentage {
                                type uint32;
                                units
                                  "percentage";
                                description
                                  "Packet loss percentage";
                              }
                            }  // list lm-advertisement-history
                          }  // container lm-advertisement-history
    
                          leaf history-type {
                            type Pm-history;
                            description
                              "HistoryType";
                          }
                        }  // container history-union
    
                        leaf lsp-id {
                          type uint32;
                          description "LSP ID";
                        }
                      }  // list lsp
                    }  // list rsvpte-probe-computation-history
                  }  // container rsvpte-probe-computation-histories
                }  // container rsvpte-delay
              }  // container rsvpte-tunnels
    
              container local-capability-info {
                description
                  "Capability information for the local hardware";
                container performance-measurement-capability-info {
                  description
                    "PM capability info";
                  container netio-capability-info {
                    description
                      "Capability information for NETIO";
                    leaf netio-max-supported-inject-pps-limit {
                      type uint32;
                      units "packet/s";
                      description
                        "Packets per second limit for NETIO inject";
                    }
    
                    leaf netio-min-supported-inject-interval {
                      type uint32;
                      description
                        "Interval in msec supported for NETIO inject";
                    }
                  }  // container netio-capability-info
    
                  container spio-capability-info {
                    description
                      "Capability information for SPIO";
                    leaf spio-max-supported-inject-pps-limit {
                      type uint32;
                      units "packet/s";
                      description
                        "Packets per second limit for SPIO inject";
                    }
    
                    leaf spio-min-supported-inject-interval {
                      type uint32;
                      description
                        "Interval in msec supported for SPIO inject";
                    }
                  }  // container spio-capability-info
    
                  container pd-dll-capability-info {
                    description
                      "Capability information for PD-DLL";
                    leaf pd-dll-max-supported-inject-pps-limit {
                      type uint32;
                      units "packet/s";
                      description
                        "Packets per second limit for PD-DLL inject";
                    }
    
                    leaf pd-dll-min-supported-inject-interval {
                      type uint32;
                      description
                        "Interval in msec supported for PD-DLL inject";
                    }
                  }  // container pd-dll-capability-info
    
                  container hardware-offload-capability-info {
                    description
                      "Capability information for Hardware offload";
                    leaf hardware-offload-npu-count {
                      type uint32;
                      description
                        "Number of NPU available for Hardware Offload";
                    }
    
                    leaf hardware-offload-max-supported-inject-pps-limit-per-npu {
                      type uint32;
                      units "packet/s";
                      description
                        "Packets per second limit for Hardware Offload
    inject per NPU";
                    }
    
                    leaf hardware-offload-min-supported-inject-interval-per-npu {
                      type uint32;
                      description
                        "Interval in msec supported for Hardware Offload
    per NPU";
                    }
    
                    leaf hardware-offload-maxupported-session-number-per-npu {
                      type uint32;
                      description
                        "Max number of sessions supported for Hardware
    Offload per NPU";
                    }
                  }  // container hardware-offload-capability-info
    
                  leaf netio-supported {
                    type boolean;
                    description
                      "True if NETIO is supported on this location for
    Performance-measurement";
                  }
    
                  leaf spio-supported {
                    type boolean;
                    description
                      "True if SPIO is supported on this location for
    Performance-measurement";
                  }
    
                  leaf pd-dll-supported {
                    type boolean;
                    description
                      "True if PD-DLL is supported on this location for
    Performance-measurement";
                  }
    
                  leaf hardware-offload-supported {
                    type boolean;
                    description
                      "True if Hardware Offload is supported on this
    location for Performance-measurement";
                  }
    
                  leaf remote-punt-supportec {
                    type boolean;
                    description
                      "True if packet remote punt is supported on this
    location for Performance-measurement";
                  }
    
                  leaf linecard-distribution-supported {
                    type boolean;
                    description
                      "True if linecard distribution is supported on
    this location";
                  }
                }  // container performance-measurement-capability-info
    
                leaf performance-measurement-supported {
                  type boolean;
                  description
                    "True if performance-measurement is supported on
    this location";
                }
              }  // container local-capability-info
    
              container endpoints {
                description "Endpoints";
                container endpoint-liveness {
                  description
                    "Endpoint Liveness-Detection information";
                  container endpoint-last-liveness-detection-verboses {
                    description
                      "Table of last liveness detection information";
                    list endpoint-last-liveness-detection-verbose {
                      key "endpoint-name";
                      description
                        "Last liveness verbose information";
                      leaf endpoint-name {
                        type xr:Cisco-ios-xr-string;
                        description
                          "Endpoint name";
                      }
    
                      container end-point-address {
                        description
                          "IPv4/IPv6 End point address";
                        leaf ip-address-type {
                          type Pm-addr;
                          description
                            "IPAddressType";
                        }
    
                        leaf ipv4 {
                          when
                            "../ip-address-type = 'ipv4'" {
                            description
                              "../IPAddressType = 'IPv4'";
                          }
                          type Pm-ipv4-addr;
                          description
                            "IPv4 address type";
                        }
    
                        leaf ipv6 {
                          when
                            "../ip-address-type = 'ipv6'" {
                            description
                              "../IPAddressType = 'IPv6'";
                          }
                          type Pm-ipv6-addr;
                          description
                            "IPv6 address type";
                        }
                      }  // container end-point-address
    
                      container end-point-session-source-address {
                        description
                          "IPv4/IPv6 End point session source address";
                        leaf ip-address-type {
                          type Pm-addr;
                          description
                            "IPAddressType";
                        }
    
                        leaf ipv4 {
                          when
                            "../ip-address-type = 'ipv4'" {
                            description
                              "../IPAddressType = 'IPv4'";
                          }
                          type Pm-ipv4-addr;
                          description
                            "IPv4 address type";
                        }
    
                        leaf ipv6 {
                          when
                            "../ip-address-type = 'ipv6'" {
                            description
                              "../IPAddressType = 'IPv6'";
                          }
                          type Pm-ipv6-addr;
                          description
                            "IPv6 address type";
                        }
                      }  // container end-point-session-source-address
    
                      leaf endpoint-name-xr {
                        type string;
                        description
                          "Name of the endpoint session";
                      }
    
                      leaf vrf-name {
                        type string;
                        description
                          "Name of the VRF";
                      }
    
                      list ep-consolidated-liveness {
                        description
                          "Consolidated liveness details of this endpoint";
                        leaf ep-live-profile-name {
                          type string;
                          description
                            "Endpoint liveness-detection profile name";
                        }
    
                        list ep-liveness-segment-list {
                          description
                            "List of liveness segment-lists in the endpoint";
                          container ep-liveness-info {
                            description
                              "Information of endpoint liveness detection
    session";
                            leaf session-is-up {
                              type boolean;
                              description
                                "Liveness session state";
                            }
    
                            leaf miss-count {
                              type uint32;
                              description
                                "Number of continuously missed probe packets";
                            }
    
                            leaf last-session-state-change-timestamp {
                              type uint64;
                              description
                                "Timestamp of the last liveness session state
    change";
                            }
                          }  // container ep-liveness-info
    
                          leaf segment-list-name {
                            type string;
                            description
                              "Name of the segment-list";
                          }
    
                          leaf session-id {
                            type uint32;
                            description
                              "ID of the session";
                          }
    
                          leaf liveness-detection-enabled {
                            type boolean;
                            description
                              "Liveness detection is enabled";
                          }
    
                          leaf probe-not-running-reason {
                            type Pm-probe-running-error-reason;
                            description
                              "Reason why probe is not running";
                          }
    
                          list segment {
                            description
                              "List of segments";
                            container ip-address {
                              description
                                "Segment IP address";
                              leaf ip-address-type {
                                type Pm-addr;
                                description
                                  "IPAddressType";
                              }
    
                              leaf ipv4 {
                                when
                                  "../ip-address-type = 'ipv4'" {
                                  description
                                    "../IPAddressType = 'IPv4'";
                                }
                                type Pm-ipv4-addr;
                                description
                                  "IPv4 address type";
                              }
    
                              leaf ipv6 {
                                when
                                  "../ip-address-type = 'ipv6'" {
                                  description
                                    "../IPAddressType = 'IPv6'";
                                }
                                type Pm-ipv6-addr;
                                description
                                  "IPv6 address type";
                              }
                            }  // container ip-address
    
                            leaf mpls-label {
                              type uint32;
                              description
                                "Segment mpls label";
                            }
                          }  // list segment
                        }  // list ep-liveness-segment-list
                      }  // list ep-consolidated-liveness
                    }  // list endpoint-last-liveness-detection-verbose
                  }  // container endpoint-last-liveness-detection-verboses
                }  // container endpoint-liveness
    
                container endpoint-delay {
                  description
                    "Endpoint Delay-measurement information";
                  container endpoint-last-probe-verboses {
                    description
                      "Table of last probe metrics verbose";
                    list endpoint-last-probe-verbose {
                      key "endpoint-name";
                      description
                        "Last probe verbose information";
                      leaf endpoint-name {
                        type xr:Cisco-ios-xr-string;
                        description
                          "Endpoint name";
                      }
    
                      leaf endpoint-name-xr {
                        type string;
                        description
                          "Name of the Endpoint";
                      }
    
                      list ep-consolidated-metric {
                        description
                          "List of Consolidated Metrics of all segment
    lists";
                        list ep-segment-list {
                          description
                            "List of segment-lists";
                          container metrics {
                            description
                              "Segment-list metrics";
                            leaf average {
                              type uint32;
                              description
                                "Average value (uSec)";
                            }
    
                            leaf minimum {
                              type uint32;
                              description
                                "Minimum value (uSec)";
                            }
    
                            leaf maximum {
                              type uint32;
                              description
                                "Maximum value (uSec)";
                            }
    
                            leaf variance {
                              type uint32;
                              description
                                "Variance value (uSec)";
                            }
                          }  // container metrics
    
                          leaf segment-list-name {
                            type string;
                            description
                              "Segment-list name, not set if path is dynamic";
                          }
    
                          leaf timestamp {
                            type uint64;
                            units "millisecond";
                            description
                              "Time when the metrics were computed
    (milliseconds since Jan. 1, 1970)";
                          }
    
                          list segment {
                            description
                              "List of segments";
                            container ip-address {
                              description
                                "Segment IP address";
                              leaf ip-address-type {
                                type Pm-addr;
                                description
                                  "IPAddressType";
                              }
    
                              leaf ipv4 {
                                when
                                  "../ip-address-type = 'ipv4'" {
                                  description
                                    "../IPAddressType = 'IPv4'";
                                }
                                type Pm-ipv4-addr;
                                description
                                  "IPv4 address type";
                              }
    
                              leaf ipv6 {
                                when
                                  "../ip-address-type = 'ipv6'" {
                                  description
                                    "../IPAddressType = 'IPv6'";
                                }
                                type Pm-ipv6-addr;
                                description
                                  "IPv6 address type";
                              }
                            }  // container ip-address
    
                            leaf mpls-label {
                              type uint32;
                              description
                                "Segment mpls label";
                            }
                          }  // list segment
                        }  // list ep-segment-list
                      }  // list ep-consolidated-metric
                    }  // list endpoint-last-probe-verbose
                  }  // container endpoint-last-probe-verboses
    
                  container endpoint-probe-computation-histories {
                    description
                      "Table of probe computation history";
                    list endpoint-probe-computation-history {
                      key "endpoint-name";
                      description
                        "Probe computation history information";
                      leaf endpoint-name {
                        type xr:Cisco-ios-xr-string;
                        description
                          "Endpoint name";
                      }
    
                      container end-point-address {
                        description
                          "IPv4/IPv6 End point address";
                        leaf ip-address-type {
                          type Pm-addr;
                          description
                            "IPAddressType";
                        }
    
                        leaf ipv4 {
                          when
                            "../ip-address-type = 'ipv4'" {
                            description
                              "../IPAddressType = 'IPv4'";
                          }
                          type Pm-ipv4-addr;
                          description
                            "IPv4 address type";
                        }
    
                        leaf ipv6 {
                          when
                            "../ip-address-type = 'ipv6'" {
                            description
                              "../IPAddressType = 'IPv6'";
                          }
                          type Pm-ipv6-addr;
                          description
                            "IPv6 address type";
                        }
                      }  // container end-point-address
    
                      container end-point-session-source-address {
                        description
                          "IPv4/IPv6 End point session source address";
                        leaf ip-address-type {
                          type Pm-addr;
                          description
                            "IPAddressType";
                        }
    
                        leaf ipv4 {
                          when
                            "../ip-address-type = 'ipv4'" {
                            description
                              "../IPAddressType = 'IPv4'";
                          }
                          type Pm-ipv4-addr;
                          description
                            "IPv4 address type";
                        }
    
                        leaf ipv6 {
                          when
                            "../ip-address-type = 'ipv6'" {
                            description
                              "../IPAddressType = 'IPv6'";
                          }
                          type Pm-ipv6-addr;
                          description
                            "IPv6 address type";
                        }
                      }  // container end-point-session-source-address
    
                      leaf endpoint-name-xr {
                        type string;
                        description
                          "Name of the endpoint session";
                      }
    
                      leaf vrf-name {
                        type string;
                        description
                          "Name of the VRF";
                      }
    
                      leaf ep-liveness-detection-enabled {
                        type boolean;
                        description
                          "True if liveness detection is enabled for the
    endpoint";
                      }
    
                      list ep-segment-lists-history {
                        description
                          "List of segment-lists";
                        container history-info {
                          description
                            "History info of the segment-list";
                          container probe-history {
                            when
                              "../history-type = 'history-type-probe'" {
                              description
                                "../HistoryType = 'HistoryTypeProbe'";
                            }
                            description
                              "Info of delay-measurement probe history";
                            list probe-history {
                              description
                                "List of samples of probe history records";
                              container probe-values {
                                description
                                  "Summarized results of the probe";
                                leaf average {
                                  type uint32;
                                  description
                                    "Average value (uSec)";
                                }
    
                                leaf minimum {
                                  type uint32;
                                  description
                                    "Minimum value (uSec)";
                                }
    
                                leaf maximum {
                                  type uint32;
                                  description
                                    "Maximum value (uSec)";
                                }
    
                                leaf variance {
                                  type uint32;
                                  description
                                    "Variance value (uSec)";
                                }
                              }  // container probe-values
    
                              leaf probe-start-timestamp {
                                type uint64;
                                units
                                  "millisecond";
                                description
                                  "Time last probe started (milliseconds since Jan.
    1, 1970)";
                              }
    
                              leaf packets-sent {
                                type uint32;
                                description
                                  "Number of query packets sent";
                              }
    
                              leaf packets-received {
                                type uint32;
                                description
                                  "Number of query Packets received";
                              }
                            }  // list probe-history
                          }  // container probe-history
    
                          container aggregated-history {
                            when
                              "../history-type = 'history-type-aggregated'" {
                              description
                                "../HistoryType = 'HistoryTypeAggregated'";
                            }
                            description
                              "Info of delay-measurement aggregation history";
                            list aggregated-history {
                              description
                                "List of samples of aggregation history records";
                              container aggregated-probe-values {
                                description
                                  "Summarised results of the aggregated probe";
                                leaf average {
                                  type uint32;
                                  description
                                    "Average value (uSec)";
                                }
    
                                leaf minimum {
                                  type uint32;
                                  description
                                    "Minimum value (uSec)";
                                }
    
                                leaf maximum {
                                  type uint32;
                                  description
                                    "Maximum value (uSec)";
                                }
    
                                leaf variance {
                                  type uint32;
                                  description
                                    "Variance value (uSec)";
                                }
                              }  // container aggregated-probe-values
    
                              leaf aggregation-timestamp {
                                type uint64;
                                units
                                  "millisecond";
                                description
                                  "Time probe aggregation was done (milliseconds
    since Jan. 1, 1970)";
                              }
                            }  // list aggregated-history
                          }  // container aggregated-history
    
                          container advertisement-history {
                            when
                              "../history-type = 'history-type-advertisement'" {
                              description
                                "../HistoryType = 'HistoryTypeAdvertisement'";
                            }
                            description
                              "Info of delay-measurement advertisement history";
                            list advertisement-history {
                              description
                                "List of samples of advertisement history records";
                              container advertised-values {
                                description
                                  "Advertised delay information";
                                leaf average {
                                  type uint32;
                                  description
                                    "Average value (uSec)";
                                }
    
                                leaf minimum {
                                  type uint32;
                                  description
                                    "Minimum value (uSec)";
                                }
    
                                leaf maximum {
                                  type uint32;
                                  description
                                    "Maximum value (uSec)";
                                }
    
                                leaf variance {
                                  type uint32;
                                  description
                                    "Variance value (uSec)";
                                }
                              }  // container advertised-values
    
                              leaf advertisement-timestamp {
                                type uint64;
                                units
                                  "millisecond";
                                description
                                  "Time advertisement was done (milliseconds since
    Jan. 1, 1970)";
                              }
    
                              leaf advertisement-reason {
                                type Pm-advert-reason;
                                description
                                  "Reason for advertisement";
                              }
                            }  // list advertisement-history
                          }  // container advertisement-history
    
                          container liveness-history {
                            when
                              "../history-type = 'history-type-liveness-state'" {
                              description
                                "../HistoryType = 'HistoryTypeLivenessState'";
                            }
                            description
                              "Info of liveness session history";
                            list liveness-hisotry {
                              description
                                "List of records of liveness history";
                              leaf liveness-state-change-timestamp {
                                type uint64;
                                description
                                  "Time liveness session state was changed";
                              }
    
                              leaf liveness-state-is-up {
                                type boolean;
                                description
                                  "True if liveness session is in UP state";
                              }
                            }  // list liveness-hisotry
                          }  // container liveness-history
    
                          container lm-probe-history {
                            when
                              "../history-type = 'history-type-lm-probe'" {
                              description
                                "../HistoryType = 'HistoryTypeLMProbe'";
                            }
                            description
                              "Info of loss-measurement probe history";
                            list lm-probe-hisotry {
                              description
                                "LM probe history";
                              leaf timestamp {
                                type uint64;
                                units
                                  "millisecond";
                                description
                                  "Timestamp (milliseconds since Jan. 1, 1970)";
                              }
    
                              leaf num-sent-packet {
                                type uint64;
                                description
                                  "Number of packets been sent in this probe
    interval";
                              }
    
                              leaf num-received-packet {
                                type uint64;
                                description
                                  "Number of packets been received in this probe
    interval";
                              }
    
                              leaf loss-percentage {
                                type uint32;
                                units
                                  "percentage";
                                description
                                  "Packet loss percentage";
                              }
                            }  // list lm-probe-hisotry
                          }  // container lm-probe-history
    
                          container lm-packet-history {
                            when
                              "../history-type = 'history-type-lm-packet'" {
                              description
                                "../HistoryType = 'HistoryTypeLMPacket'";
                            }
                            description
                              "Info of loss-measurement packet history";
                            list lm-packet-hisotry {
                              description
                                "LM packet history";
                              leaf timestamp {
                                type uint64;
                                units
                                  "millisecond";
                                description
                                  "Timestamp (milliseconds since Jan. 1, 1970)";
                              }
    
                              leaf tx-counter {
                                type uint64;
                                description
                                  "TX counter";
                              }
    
                              leaf rx-counter {
                                type uint64;
                                description
                                  "RX RX counter";
                              }
                            }  // list lm-packet-hisotry
                          }  // container lm-packet-history
    
                          container lm-aggregated-history {
                            when
                              "../history-type = 'history-type-lm-aggregated'" {
                              description
                                "../HistoryType = 'HistoryTypeLMAggregated'";
                            }
                            description
                              "Info of loss-measurement aggregation history";
                            list lm-aggregated-hisotry {
                              description
                                "LM aggregation history";
                              leaf timestamp {
                                type uint64;
                                units
                                  "millisecond";
                                description
                                  "Timestamp (milliseconds since Jan. 1, 1970)";
                              }
    
                              leaf num-sent-packet {
                                type uint64;
                                description
                                  "Number of packets been sent in this aggregation
    interval";
                              }
    
                              leaf num-received-packet {
                                type uint64;
                                description
                                  "Number of packets been received in this
    aggregation interval";
                              }
    
                              leaf loss-percentage {
                                type uint32;
                                units
                                  "percentage";
                                description
                                  "Packet loss percentage";
                              }
                            }  // list lm-aggregated-hisotry
                          }  // container lm-aggregated-history
    
                          container lm-advertisement-history {
                            when
                              "../history-type = 'history-type-lm-advertisement'" {
                              description
                                "../HistoryType = 'HistoryTypeLMAdvertisement'";
                            }
                            description
                              "Info of loss-measurement advertisement history";
                            list lm-advertisement-history {
                              description
                                "LM advertisement history";
                              leaf timestamp {
                                type uint64;
                                units
                                  "millisecond";
                                description
                                  "Timestamp (milliseconds since Jan. 1, 1970)";
                              }
    
                              leaf advertisement-reason {
                                type Pm-advert-reason;
                                description
                                  "Advertisement reason";
                              }
    
                              leaf loss-percentage {
                                type uint32;
                                units
                                  "percentage";
                                description
                                  "Packet loss percentage";
                              }
                            }  // list lm-advertisement-history
                          }  // container lm-advertisement-history
    
                          leaf history-type {
                            type Pm-history;
                            description
                              "HistoryType";
                          }
                        }  // container history-info
    
                        leaf segment-list-name {
                          type string;
                          description
                            "Segment-list name, not set if path is dynamic";
                        }
                      }  // list ep-segment-lists-history
                    }  // list endpoint-probe-computation-history
                  }  // container endpoint-probe-computation-histories
    
                  container endpoint-last-advertisements {
                    description
                      "Table of last advertisement metrics";
                    list endpoint-last-advertisement {
                      key "endpoint-name";
                      description
                        "Last advertisement metrics information";
                      leaf endpoint-name {
                        type xr:Cisco-ios-xr-string;
                        description
                          "Endpoint name";
                      }
    
                      leaf endpoint-name-xr {
                        type string;
                        description
                          "Name of the Endpoint";
                      }
    
                      list ep-consolidated-metric {
                        description
                          "List of Consolidated Metrics of all segment
    lists";
                        list ep-segment-list {
                          description
                            "List of segment-lists";
                          container metrics {
                            description
                              "Segment-list metrics";
                            leaf average {
                              type uint32;
                              description
                                "Average value (uSec)";
                            }
    
                            leaf minimum {
                              type uint32;
                              description
                                "Minimum value (uSec)";
                            }
    
                            leaf maximum {
                              type uint32;
                              description
                                "Maximum value (uSec)";
                            }
    
                            leaf variance {
                              type uint32;
                              description
                                "Variance value (uSec)";
                            }
                          }  // container metrics
    
                          leaf segment-list-name {
                            type string;
                            description
                              "Segment-list name, not set if path is dynamic";
                          }
    
                          leaf timestamp {
                            type uint64;
                            units "millisecond";
                            description
                              "Time when the metrics were computed
    (milliseconds since Jan. 1, 1970)";
                          }
    
                          list segment {
                            description
                              "List of segments";
                            container ip-address {
                              description
                                "Segment IP address";
                              leaf ip-address-type {
                                type Pm-addr;
                                description
                                  "IPAddressType";
                              }
    
                              leaf ipv4 {
                                when
                                  "../ip-address-type = 'ipv4'" {
                                  description
                                    "../IPAddressType = 'IPv4'";
                                }
                                type Pm-ipv4-addr;
                                description
                                  "IPv4 address type";
                              }
    
                              leaf ipv6 {
                                when
                                  "../ip-address-type = 'ipv6'" {
                                  description
                                    "../IPAddressType = 'IPv6'";
                                }
                                type Pm-ipv6-addr;
                                description
                                  "IPv6 address type";
                              }
                            }  // container ip-address
    
                            leaf mpls-label {
                              type uint32;
                              description
                                "Segment mpls label";
                            }
                          }  // list segment
                        }  // list ep-segment-list
                      }  // list ep-consolidated-metric
                    }  // list endpoint-last-advertisement
                  }  // container endpoint-last-advertisements
    
                  container endpoint-last-probes {
                    description
                      "Table of last probe metrics";
                    list endpoint-last-probe {
                      key "endpoint-name";
                      description
                        "Last probe information";
                      leaf endpoint-name {
                        type xr:Cisco-ios-xr-string;
                        description
                          "Endpoint name";
                      }
    
                      leaf endpoint-name-xr {
                        type string;
                        description
                          "Name of the Endpoint";
                      }
    
                      list ep-consolidated-metric {
                        description
                          "List of Consolidated Metrics of all segment
    lists";
                        list ep-segment-list {
                          description
                            "List of segment-lists";
                          container metrics {
                            description
                              "Segment-list metrics";
                            leaf average {
                              type uint32;
                              description
                                "Average value (uSec)";
                            }
    
                            leaf minimum {
                              type uint32;
                              description
                                "Minimum value (uSec)";
                            }
    
                            leaf maximum {
                              type uint32;
                              description
                                "Maximum value (uSec)";
                            }
    
                            leaf variance {
                              type uint32;
                              description
                                "Variance value (uSec)";
                            }
                          }  // container metrics
    
                          leaf segment-list-name {
                            type string;
                            description
                              "Segment-list name, not set if path is dynamic";
                          }
    
                          leaf timestamp {
                            type uint64;
                            units "millisecond";
                            description
                              "Time when the metrics were computed
    (milliseconds since Jan. 1, 1970)";
                          }
    
                          list segment {
                            description
                              "List of segments";
                            container ip-address {
                              description
                                "Segment IP address";
                              leaf ip-address-type {
                                type Pm-addr;
                                description
                                  "IPAddressType";
                              }
    
                              leaf ipv4 {
                                when
                                  "../ip-address-type = 'ipv4'" {
                                  description
                                    "../IPAddressType = 'IPv4'";
                                }
                                type Pm-ipv4-addr;
                                description
                                  "IPv4 address type";
                              }
    
                              leaf ipv6 {
                                when
                                  "../ip-address-type = 'ipv6'" {
                                  description
                                    "../IPAddressType = 'IPv6'";
                                }
                                type Pm-ipv6-addr;
                                description
                                  "IPv6 address type";
                              }
                            }  // container ip-address
    
                            leaf mpls-label {
                              type uint32;
                              description
                                "Segment mpls label";
                            }
                          }  // list segment
                        }  // list ep-segment-list
                      }  // list ep-consolidated-metric
                    }  // list endpoint-last-probe
                  }  // container endpoint-last-probes
    
                  container endpoint-last-aggregations {
                    description
                      "Table of Endpoint last aggregation";
                    list endpoint-last-aggregation {
                      key "endpoint-name";
                      description
                        "Last aggregation information";
                      leaf endpoint-name {
                        type xr:Cisco-ios-xr-string;
                        description
                          "Endpoint name";
                      }
    
                      leaf endpoint-name-xr {
                        type string;
                        description
                          "Name of the Endpoint";
                      }
    
                      list ep-consolidated-metric {
                        description
                          "List of Consolidated Metrics of all segment
    lists";
                        list ep-segment-list {
                          description
                            "List of segment-lists";
                          container metrics {
                            description
                              "Segment-list metrics";
                            leaf average {
                              type uint32;
                              description
                                "Average value (uSec)";
                            }
    
                            leaf minimum {
                              type uint32;
                              description
                                "Minimum value (uSec)";
                            }
    
                            leaf maximum {
                              type uint32;
                              description
                                "Maximum value (uSec)";
                            }
    
                            leaf variance {
                              type uint32;
                              description
                                "Variance value (uSec)";
                            }
                          }  // container metrics
    
                          leaf segment-list-name {
                            type string;
                            description
                              "Segment-list name, not set if path is dynamic";
                          }
    
                          leaf timestamp {
                            type uint64;
                            units "millisecond";
                            description
                              "Time when the metrics were computed
    (milliseconds since Jan. 1, 1970)";
                          }
    
                          list segment {
                            description
                              "List of segments";
                            container ip-address {
                              description
                                "Segment IP address";
                              leaf ip-address-type {
                                type Pm-addr;
                                description
                                  "IPAddressType";
                              }
    
                              leaf ipv4 {
                                when
                                  "../ip-address-type = 'ipv4'" {
                                  description
                                    "../IPAddressType = 'IPv4'";
                                }
                                type Pm-ipv4-addr;
                                description
                                  "IPv4 address type";
                              }
    
                              leaf ipv6 {
                                when
                                  "../ip-address-type = 'ipv6'" {
                                  description
                                    "../IPAddressType = 'IPv6'";
                                }
                                type Pm-ipv6-addr;
                                description
                                  "IPv6 address type";
                              }
                            }  // container ip-address
    
                            leaf mpls-label {
                              type uint32;
                              description
                                "Segment mpls label";
                            }
                          }  // list segment
                        }  // list ep-segment-list
                      }  // list ep-consolidated-metric
                    }  // list endpoint-last-aggregation
                  }  // container endpoint-last-aggregations
    
                  container endpoint-last-advertisement-verboses {
                    description
                      "Table of last advertisement verbose
                     information";
                    list endpoint-last-advertisement-verbose {
                      key "endpoint-name";
                      description
                        "Last advertisement verbose metrics
                       information";
                      leaf endpoint-name {
                        type xr:Cisco-ios-xr-string;
                        description
                          "Endpoint name";
                      }
    
                      leaf endpoint-name-xr {
                        type string;
                        description
                          "Name of the Endpoint";
                      }
    
                      list ep-consolidated-metric {
                        description
                          "List of Consolidated Metrics of all segment
    lists";
                        list ep-segment-list {
                          description
                            "List of segment-lists";
                          container metrics {
                            description
                              "Segment-list metrics";
                            leaf average {
                              type uint32;
                              description
                                "Average value (uSec)";
                            }
    
                            leaf minimum {
                              type uint32;
                              description
                                "Minimum value (uSec)";
                            }
    
                            leaf maximum {
                              type uint32;
                              description
                                "Maximum value (uSec)";
                            }
    
                            leaf variance {
                              type uint32;
                              description
                                "Variance value (uSec)";
                            }
                          }  // container metrics
    
                          leaf segment-list-name {
                            type string;
                            description
                              "Segment-list name, not set if path is dynamic";
                          }
    
                          leaf timestamp {
                            type uint64;
                            units "millisecond";
                            description
                              "Time when the metrics were computed
    (milliseconds since Jan. 1, 1970)";
                          }
    
                          list segment {
                            description
                              "List of segments";
                            container ip-address {
                              description
                                "Segment IP address";
                              leaf ip-address-type {
                                type Pm-addr;
                                description
                                  "IPAddressType";
                              }
    
                              leaf ipv4 {
                                when
                                  "../ip-address-type = 'ipv4'" {
                                  description
                                    "../IPAddressType = 'IPv4'";
                                }
                                type Pm-ipv4-addr;
                                description
                                  "IPv4 address type";
                              }
    
                              leaf ipv6 {
                                when
                                  "../ip-address-type = 'ipv6'" {
                                  description
                                    "../IPAddressType = 'IPv6'";
                                }
                                type Pm-ipv6-addr;
                                description
                                  "IPv6 address type";
                              }
                            }  // container ip-address
    
                            leaf mpls-label {
                              type uint32;
                              description
                                "Segment mpls label";
                            }
                          }  // list segment
                        }  // list ep-segment-list
                      }  // list ep-consolidated-metric
                    }  // list endpoint-last-advertisement-verbose
                  }  // container endpoint-last-advertisement-verboses
    
                  container endpoint-last-aggregationverboses {
                    description
                      "Table of last probe aggregation verbose";
                    list endpoint-last-aggregationverbose {
                      key "endpoint-name";
                      description
                        "Last probe aggregation verbose information";
                      leaf endpoint-name {
                        type xr:Cisco-ios-xr-string;
                        description
                          "Endpoint name";
                      }
    
                      leaf endpoint-name-xr {
                        type string;
                        description
                          "Name of the Endpoint";
                      }
    
                      list ep-consolidated-metric {
                        description
                          "List of Consolidated Metrics of all segment
    lists";
                        list ep-segment-list {
                          description
                            "List of segment-lists";
                          container metrics {
                            description
                              "Segment-list metrics";
                            leaf average {
                              type uint32;
                              description
                                "Average value (uSec)";
                            }
    
                            leaf minimum {
                              type uint32;
                              description
                                "Minimum value (uSec)";
                            }
    
                            leaf maximum {
                              type uint32;
                              description
                                "Maximum value (uSec)";
                            }
    
                            leaf variance {
                              type uint32;
                              description
                                "Variance value (uSec)";
                            }
                          }  // container metrics
    
                          leaf segment-list-name {
                            type string;
                            description
                              "Segment-list name, not set if path is dynamic";
                          }
    
                          leaf timestamp {
                            type uint64;
                            units "millisecond";
                            description
                              "Time when the metrics were computed
    (milliseconds since Jan. 1, 1970)";
                          }
    
                          list segment {
                            description
                              "List of segments";
                            container ip-address {
                              description
                                "Segment IP address";
                              leaf ip-address-type {
                                type Pm-addr;
                                description
                                  "IPAddressType";
                              }
    
                              leaf ipv4 {
                                when
                                  "../ip-address-type = 'ipv4'" {
                                  description
                                    "../IPAddressType = 'IPv4'";
                                }
                                type Pm-ipv4-addr;
                                description
                                  "IPv4 address type";
                              }
    
                              leaf ipv6 {
                                when
                                  "../ip-address-type = 'ipv6'" {
                                  description
                                    "../IPAddressType = 'IPv6'";
                                }
                                type Pm-ipv6-addr;
                                description
                                  "IPv6 address type";
                              }
                            }  // container ip-address
    
                            leaf mpls-label {
                              type uint32;
                              description
                                "Segment mpls label";
                            }
                          }  // list segment
                        }  // list ep-segment-list
                      }  // list ep-consolidated-metric
                    }  // list endpoint-last-aggregationverbose
                  }  // container endpoint-last-aggregationverboses
    
                  container endpoint-aggregation-histories {
                    description
                      "Table of aggregation history";
                    list endpoint-aggregation-history {
                      key "endpoint-name";
                      description
                        "Aggregation history information";
                      leaf endpoint-name {
                        type xr:Cisco-ios-xr-string;
                        description
                          "Endpoint name";
                      }
    
                      container end-point-address {
                        description
                          "IPv4/IPv6 End point address";
                        leaf ip-address-type {
                          type Pm-addr;
                          description
                            "IPAddressType";
                        }
    
                        leaf ipv4 {
                          when
                            "../ip-address-type = 'ipv4'" {
                            description
                              "../IPAddressType = 'IPv4'";
                          }
                          type Pm-ipv4-addr;
                          description
                            "IPv4 address type";
                        }
    
                        leaf ipv6 {
                          when
                            "../ip-address-type = 'ipv6'" {
                            description
                              "../IPAddressType = 'IPv6'";
                          }
                          type Pm-ipv6-addr;
                          description
                            "IPv6 address type";
                        }
                      }  // container end-point-address
    
                      container end-point-session-source-address {
                        description
                          "IPv4/IPv6 End point session source address";
                        leaf ip-address-type {
                          type Pm-addr;
                          description
                            "IPAddressType";
                        }
    
                        leaf ipv4 {
                          when
                            "../ip-address-type = 'ipv4'" {
                            description
                              "../IPAddressType = 'IPv4'";
                          }
                          type Pm-ipv4-addr;
                          description
                            "IPv4 address type";
                        }
    
                        leaf ipv6 {
                          when
                            "../ip-address-type = 'ipv6'" {
                            description
                              "../IPAddressType = 'IPv6'";
                          }
                          type Pm-ipv6-addr;
                          description
                            "IPv6 address type";
                        }
                      }  // container end-point-session-source-address
    
                      leaf endpoint-name-xr {
                        type string;
                        description
                          "Name of the endpoint session";
                      }
    
                      leaf vrf-name {
                        type string;
                        description
                          "Name of the VRF";
                      }
    
                      leaf ep-liveness-detection-enabled {
                        type boolean;
                        description
                          "True if liveness detection is enabled for the
    endpoint";
                      }
    
                      list ep-segment-lists-history {
                        description
                          "List of segment-lists";
                        container history-info {
                          description
                            "History info of the segment-list";
                          container probe-history {
                            when
                              "../history-type = 'history-type-probe'" {
                              description
                                "../HistoryType = 'HistoryTypeProbe'";
                            }
                            description
                              "Info of delay-measurement probe history";
                            list probe-history {
                              description
                                "List of samples of probe history records";
                              container probe-values {
                                description
                                  "Summarized results of the probe";
                                leaf average {
                                  type uint32;
                                  description
                                    "Average value (uSec)";
                                }
    
                                leaf minimum {
                                  type uint32;
                                  description
                                    "Minimum value (uSec)";
                                }
    
                                leaf maximum {
                                  type uint32;
                                  description
                                    "Maximum value (uSec)";
                                }
    
                                leaf variance {
                                  type uint32;
                                  description
                                    "Variance value (uSec)";
                                }
                              }  // container probe-values
    
                              leaf probe-start-timestamp {
                                type uint64;
                                units
                                  "millisecond";
                                description
                                  "Time last probe started (milliseconds since Jan.
    1, 1970)";
                              }
    
                              leaf packets-sent {
                                type uint32;
                                description
                                  "Number of query packets sent";
                              }
    
                              leaf packets-received {
                                type uint32;
                                description
                                  "Number of query Packets received";
                              }
                            }  // list probe-history
                          }  // container probe-history
    
                          container aggregated-history {
                            when
                              "../history-type = 'history-type-aggregated'" {
                              description
                                "../HistoryType = 'HistoryTypeAggregated'";
                            }
                            description
                              "Info of delay-measurement aggregation history";
                            list aggregated-history {
                              description
                                "List of samples of aggregation history records";
                              container aggregated-probe-values {
                                description
                                  "Summarised results of the aggregated probe";
                                leaf average {
                                  type uint32;
                                  description
                                    "Average value (uSec)";
                                }
    
                                leaf minimum {
                                  type uint32;
                                  description
                                    "Minimum value (uSec)";
                                }
    
                                leaf maximum {
                                  type uint32;
                                  description
                                    "Maximum value (uSec)";
                                }
    
                                leaf variance {
                                  type uint32;
                                  description
                                    "Variance value (uSec)";
                                }
                              }  // container aggregated-probe-values
    
                              leaf aggregation-timestamp {
                                type uint64;
                                units
                                  "millisecond";
                                description
                                  "Time probe aggregation was done (milliseconds
    since Jan. 1, 1970)";
                              }
                            }  // list aggregated-history
                          }  // container aggregated-history
    
                          container advertisement-history {
                            when
                              "../history-type = 'history-type-advertisement'" {
                              description
                                "../HistoryType = 'HistoryTypeAdvertisement'";
                            }
                            description
                              "Info of delay-measurement advertisement history";
                            list advertisement-history {
                              description
                                "List of samples of advertisement history records";
                              container advertised-values {
                                description
                                  "Advertised delay information";
                                leaf average {
                                  type uint32;
                                  description
                                    "Average value (uSec)";
                                }
    
                                leaf minimum {
                                  type uint32;
                                  description
                                    "Minimum value (uSec)";
                                }
    
                                leaf maximum {
                                  type uint32;
                                  description
                                    "Maximum value (uSec)";
                                }
    
                                leaf variance {
                                  type uint32;
                                  description
                                    "Variance value (uSec)";
                                }
                              }  // container advertised-values
    
                              leaf advertisement-timestamp {
                                type uint64;
                                units
                                  "millisecond";
                                description
                                  "Time advertisement was done (milliseconds since
    Jan. 1, 1970)";
                              }
    
                              leaf advertisement-reason {
                                type Pm-advert-reason;
                                description
                                  "Reason for advertisement";
                              }
                            }  // list advertisement-history
                          }  // container advertisement-history
    
                          container liveness-history {
                            when
                              "../history-type = 'history-type-liveness-state'" {
                              description
                                "../HistoryType = 'HistoryTypeLivenessState'";
                            }
                            description
                              "Info of liveness session history";
                            list liveness-hisotry {
                              description
                                "List of records of liveness history";
                              leaf liveness-state-change-timestamp {
                                type uint64;
                                description
                                  "Time liveness session state was changed";
                              }
    
                              leaf liveness-state-is-up {
                                type boolean;
                                description
                                  "True if liveness session is in UP state";
                              }
                            }  // list liveness-hisotry
                          }  // container liveness-history
    
                          container lm-probe-history {
                            when
                              "../history-type = 'history-type-lm-probe'" {
                              description
                                "../HistoryType = 'HistoryTypeLMProbe'";
                            }
                            description
                              "Info of loss-measurement probe history";
                            list lm-probe-hisotry {
                              description
                                "LM probe history";
                              leaf timestamp {
                                type uint64;
                                units
                                  "millisecond";
                                description
                                  "Timestamp (milliseconds since Jan. 1, 1970)";
                              }
    
                              leaf num-sent-packet {
                                type uint64;
                                description
                                  "Number of packets been sent in this probe
    interval";
                              }
    
                              leaf num-received-packet {
                                type uint64;
                                description
                                  "Number of packets been received in this probe
    interval";
                              }
    
                              leaf loss-percentage {
                                type uint32;
                                units
                                  "percentage";
                                description
                                  "Packet loss percentage";
                              }
                            }  // list lm-probe-hisotry
                          }  // container lm-probe-history
    
                          container lm-packet-history {
                            when
                              "../history-type = 'history-type-lm-packet'" {
                              description
                                "../HistoryType = 'HistoryTypeLMPacket'";
                            }
                            description
                              "Info of loss-measurement packet history";
                            list lm-packet-hisotry {
                              description
                                "LM packet history";
                              leaf timestamp {
                                type uint64;
                                units
                                  "millisecond";
                                description
                                  "Timestamp (milliseconds since Jan. 1, 1970)";
                              }
    
                              leaf tx-counter {
                                type uint64;
                                description
                                  "TX counter";
                              }
    
                              leaf rx-counter {
                                type uint64;
                                description
                                  "RX RX counter";
                              }
                            }  // list lm-packet-hisotry
                          }  // container lm-packet-history
    
                          container lm-aggregated-history {
                            when
                              "../history-type = 'history-type-lm-aggregated'" {
                              description
                                "../HistoryType = 'HistoryTypeLMAggregated'";
                            }
                            description
                              "Info of loss-measurement aggregation history";
                            list lm-aggregated-hisotry {
                              description
                                "LM aggregation history";
                              leaf timestamp {
                                type uint64;
                                units
                                  "millisecond";
                                description
                                  "Timestamp (milliseconds since Jan. 1, 1970)";
                              }
    
                              leaf num-sent-packet {
                                type uint64;
                                description
                                  "Number of packets been sent in this aggregation
    interval";
                              }
    
                              leaf num-received-packet {
                                type uint64;
                                description
                                  "Number of packets been received in this
    aggregation interval";
                              }
    
                              leaf loss-percentage {
                                type uint32;
                                units
                                  "percentage";
                                description
                                  "Packet loss percentage";
                              }
                            }  // list lm-aggregated-hisotry
                          }  // container lm-aggregated-history
    
                          container lm-advertisement-history {
                            when
                              "../history-type = 'history-type-lm-advertisement'" {
                              description
                                "../HistoryType = 'HistoryTypeLMAdvertisement'";
                            }
                            description
                              "Info of loss-measurement advertisement history";
                            list lm-advertisement-history {
                              description
                                "LM advertisement history";
                              leaf timestamp {
                                type uint64;
                                units
                                  "millisecond";
                                description
                                  "Timestamp (milliseconds since Jan. 1, 1970)";
                              }
    
                              leaf advertisement-reason {
                                type Pm-advert-reason;
                                description
                                  "Advertisement reason";
                              }
    
                              leaf loss-percentage {
                                type uint32;
                                units
                                  "percentage";
                                description
                                  "Packet loss percentage";
                              }
                            }  // list lm-advertisement-history
                          }  // container lm-advertisement-history
    
                          leaf history-type {
                            type Pm-history;
                            description
                              "HistoryType";
                          }
                        }  // container history-info
    
                        leaf segment-list-name {
                          type string;
                          description
                            "Segment-list name, not set if path is dynamic";
                        }
                      }  // list ep-segment-lists-history
                    }  // list endpoint-aggregation-history
                  }  // container endpoint-aggregation-histories
    
                  container endpoint-advertisement-histories {
                    description
                      "Table of advertisement history";
                    list endpoint-advertisement-history {
                      key "endpoint-name";
                      description
                        "Advertisement history information";
                      leaf endpoint-name {
                        type xr:Cisco-ios-xr-string;
                        description
                          "Endpoint name";
                      }
    
                      container end-point-address {
                        description
                          "IPv4/IPv6 End point address";
                        leaf ip-address-type {
                          type Pm-addr;
                          description
                            "IPAddressType";
                        }
    
                        leaf ipv4 {
                          when
                            "../ip-address-type = 'ipv4'" {
                            description
                              "../IPAddressType = 'IPv4'";
                          }
                          type Pm-ipv4-addr;
                          description
                            "IPv4 address type";
                        }
    
                        leaf ipv6 {
                          when
                            "../ip-address-type = 'ipv6'" {
                            description
                              "../IPAddressType = 'IPv6'";
                          }
                          type Pm-ipv6-addr;
                          description
                            "IPv6 address type";
                        }
                      }  // container end-point-address
    
                      container end-point-session-source-address {
                        description
                          "IPv4/IPv6 End point session source address";
                        leaf ip-address-type {
                          type Pm-addr;
                          description
                            "IPAddressType";
                        }
    
                        leaf ipv4 {
                          when
                            "../ip-address-type = 'ipv4'" {
                            description
                              "../IPAddressType = 'IPv4'";
                          }
                          type Pm-ipv4-addr;
                          description
                            "IPv4 address type";
                        }
    
                        leaf ipv6 {
                          when
                            "../ip-address-type = 'ipv6'" {
                            description
                              "../IPAddressType = 'IPv6'";
                          }
                          type Pm-ipv6-addr;
                          description
                            "IPv6 address type";
                        }
                      }  // container end-point-session-source-address
    
                      leaf endpoint-name-xr {
                        type string;
                        description
                          "Name of the endpoint session";
                      }
    
                      leaf vrf-name {
                        type string;
                        description
                          "Name of the VRF";
                      }
    
                      leaf ep-liveness-detection-enabled {
                        type boolean;
                        description
                          "True if liveness detection is enabled for the
    endpoint";
                      }
    
                      list ep-segment-lists-history {
                        description
                          "List of segment-lists";
                        container history-info {
                          description
                            "History info of the segment-list";
                          container probe-history {
                            when
                              "../history-type = 'history-type-probe'" {
                              description
                                "../HistoryType = 'HistoryTypeProbe'";
                            }
                            description
                              "Info of delay-measurement probe history";
                            list probe-history {
                              description
                                "List of samples of probe history records";
                              container probe-values {
                                description
                                  "Summarized results of the probe";
                                leaf average {
                                  type uint32;
                                  description
                                    "Average value (uSec)";
                                }
    
                                leaf minimum {
                                  type uint32;
                                  description
                                    "Minimum value (uSec)";
                                }
    
                                leaf maximum {
                                  type uint32;
                                  description
                                    "Maximum value (uSec)";
                                }
    
                                leaf variance {
                                  type uint32;
                                  description
                                    "Variance value (uSec)";
                                }
                              }  // container probe-values
    
                              leaf probe-start-timestamp {
                                type uint64;
                                units
                                  "millisecond";
                                description
                                  "Time last probe started (milliseconds since Jan.
    1, 1970)";
                              }
    
                              leaf packets-sent {
                                type uint32;
                                description
                                  "Number of query packets sent";
                              }
    
                              leaf packets-received {
                                type uint32;
                                description
                                  "Number of query Packets received";
                              }
                            }  // list probe-history
                          }  // container probe-history
    
                          container aggregated-history {
                            when
                              "../history-type = 'history-type-aggregated'" {
                              description
                                "../HistoryType = 'HistoryTypeAggregated'";
                            }
                            description
                              "Info of delay-measurement aggregation history";
                            list aggregated-history {
                              description
                                "List of samples of aggregation history records";
                              container aggregated-probe-values {
                                description
                                  "Summarised results of the aggregated probe";
                                leaf average {
                                  type uint32;
                                  description
                                    "Average value (uSec)";
                                }
    
                                leaf minimum {
                                  type uint32;
                                  description
                                    "Minimum value (uSec)";
                                }
    
                                leaf maximum {
                                  type uint32;
                                  description
                                    "Maximum value (uSec)";
                                }
    
                                leaf variance {
                                  type uint32;
                                  description
                                    "Variance value (uSec)";
                                }
                              }  // container aggregated-probe-values
    
                              leaf aggregation-timestamp {
                                type uint64;
                                units
                                  "millisecond";
                                description
                                  "Time probe aggregation was done (milliseconds
    since Jan. 1, 1970)";
                              }
                            }  // list aggregated-history
                          }  // container aggregated-history
    
                          container advertisement-history {
                            when
                              "../history-type = 'history-type-advertisement'" {
                              description
                                "../HistoryType = 'HistoryTypeAdvertisement'";
                            }
                            description
                              "Info of delay-measurement advertisement history";
                            list advertisement-history {
                              description
                                "List of samples of advertisement history records";
                              container advertised-values {
                                description
                                  "Advertised delay information";
                                leaf average {
                                  type uint32;
                                  description
                                    "Average value (uSec)";
                                }
    
                                leaf minimum {
                                  type uint32;
                                  description
                                    "Minimum value (uSec)";
                                }
    
                                leaf maximum {
                                  type uint32;
                                  description
                                    "Maximum value (uSec)";
                                }
    
                                leaf variance {
                                  type uint32;
                                  description
                                    "Variance value (uSec)";
                                }
                              }  // container advertised-values
    
                              leaf advertisement-timestamp {
                                type uint64;
                                units
                                  "millisecond";
                                description
                                  "Time advertisement was done (milliseconds since
    Jan. 1, 1970)";
                              }
    
                              leaf advertisement-reason {
                                type Pm-advert-reason;
                                description
                                  "Reason for advertisement";
                              }
                            }  // list advertisement-history
                          }  // container advertisement-history
    
                          container liveness-history {
                            when
                              "../history-type = 'history-type-liveness-state'" {
                              description
                                "../HistoryType = 'HistoryTypeLivenessState'";
                            }
                            description
                              "Info of liveness session history";
                            list liveness-hisotry {
                              description
                                "List of records of liveness history";
                              leaf liveness-state-change-timestamp {
                                type uint64;
                                description
                                  "Time liveness session state was changed";
                              }
    
                              leaf liveness-state-is-up {
                                type boolean;
                                description
                                  "True if liveness session is in UP state";
                              }
                            }  // list liveness-hisotry
                          }  // container liveness-history
    
                          container lm-probe-history {
                            when
                              "../history-type = 'history-type-lm-probe'" {
                              description
                                "../HistoryType = 'HistoryTypeLMProbe'";
                            }
                            description
                              "Info of loss-measurement probe history";
                            list lm-probe-hisotry {
                              description
                                "LM probe history";
                              leaf timestamp {
                                type uint64;
                                units
                                  "millisecond";
                                description
                                  "Timestamp (milliseconds since Jan. 1, 1970)";
                              }
    
                              leaf num-sent-packet {
                                type uint64;
                                description
                                  "Number of packets been sent in this probe
    interval";
                              }
    
                              leaf num-received-packet {
                                type uint64;
                                description
                                  "Number of packets been received in this probe
    interval";
                              }
    
                              leaf loss-percentage {
                                type uint32;
                                units
                                  "percentage";
                                description
                                  "Packet loss percentage";
                              }
                            }  // list lm-probe-hisotry
                          }  // container lm-probe-history
    
                          container lm-packet-history {
                            when
                              "../history-type = 'history-type-lm-packet'" {
                              description
                                "../HistoryType = 'HistoryTypeLMPacket'";
                            }
                            description
                              "Info of loss-measurement packet history";
                            list lm-packet-hisotry {
                              description
                                "LM packet history";
                              leaf timestamp {
                                type uint64;
                                units
                                  "millisecond";
                                description
                                  "Timestamp (milliseconds since Jan. 1, 1970)";
                              }
    
                              leaf tx-counter {
                                type uint64;
                                description
                                  "TX counter";
                              }
    
                              leaf rx-counter {
                                type uint64;
                                description
                                  "RX RX counter";
                              }
                            }  // list lm-packet-hisotry
                          }  // container lm-packet-history
    
                          container lm-aggregated-history {
                            when
                              "../history-type = 'history-type-lm-aggregated'" {
                              description
                                "../HistoryType = 'HistoryTypeLMAggregated'";
                            }
                            description
                              "Info of loss-measurement aggregation history";
                            list lm-aggregated-hisotry {
                              description
                                "LM aggregation history";
                              leaf timestamp {
                                type uint64;
                                units
                                  "millisecond";
                                description
                                  "Timestamp (milliseconds since Jan. 1, 1970)";
                              }
    
                              leaf num-sent-packet {
                                type uint64;
                                description
                                  "Number of packets been sent in this aggregation
    interval";
                              }
    
                              leaf num-received-packet {
                                type uint64;
                                description
                                  "Number of packets been received in this
    aggregation interval";
                              }
    
                              leaf loss-percentage {
                                type uint32;
                                units
                                  "percentage";
                                description
                                  "Packet loss percentage";
                              }
                            }  // list lm-aggregated-hisotry
                          }  // container lm-aggregated-history
    
                          container lm-advertisement-history {
                            when
                              "../history-type = 'history-type-lm-advertisement'" {
                              description
                                "../HistoryType = 'HistoryTypeLMAdvertisement'";
                            }
                            description
                              "Info of loss-measurement advertisement history";
                            list lm-advertisement-history {
                              description
                                "LM advertisement history";
                              leaf timestamp {
                                type uint64;
                                units
                                  "millisecond";
                                description
                                  "Timestamp (milliseconds since Jan. 1, 1970)";
                              }
    
                              leaf advertisement-reason {
                                type Pm-advert-reason;
                                description
                                  "Advertisement reason";
                              }
    
                              leaf loss-percentage {
                                type uint32;
                                units
                                  "percentage";
                                description
                                  "Packet loss percentage";
                              }
                            }  // list lm-advertisement-history
                          }  // container lm-advertisement-history
    
                          leaf history-type {
                            type Pm-history;
                            description
                              "HistoryType";
                          }
                        }  // container history-info
    
                        leaf segment-list-name {
                          type string;
                          description
                            "Segment-list name, not set if path is dynamic";
                        }
                      }  // list ep-segment-lists-history
                    }  // list endpoint-advertisement-history
                  }  // container endpoint-advertisement-histories
                }  // container endpoint-delay
    
                container endpoint-counters {
                  description
                    "Table of Endpoint counters info";
                  list endpoint-counter {
                    key "endpoint-name";
                    description
                      "Endpoint counter information";
                    leaf endpoint-name {
                      type xr:Cisco-ios-xr-string;
                      description
                        "Endpoint name";
                    }
    
                    leaf endpoint-name-xr {
                      type string;
                      description
                        "Name of the endpoint session";
                    }
    
                    list consolidated-counters-data {
                      description
                        "List of consolidated data counters";
                      list segment-list-counter {
                        description
                          "List of counters for segment-lists in this
    consolidated data";
                        container counters {
                          description
                            "Segment-list counters";
                          container generic-counters {
                            description
                              "Generic counters for a PM interface instance";
                            leaf query-packets-sent {
                              type uint64;
                              description
                                "Number of query packets sent";
                            }
    
                            leaf query-packet-sent-errors {
                              type uint64;
                              description
                                "Number of query packets sent error";
                            }
    
                            leaf query-packet-sent-error-no-ip-address {
                              type uint64;
                              description
                                "Number of query packets sent error caused by no
    IP address";
                            }
    
                            leaf query-packets-received {
                              type uint64;
                              description
                                "Number of received query packets";
                            }
    
                            leaf received-packet-error-negative-delay {
                              type uint64;
                              description
                                "Number of packet error caused by receiving
    negative delay";
                            }
    
                            leaf received-packet-error-delay-exceeds-threshold {
                              type uint64;
                              description
                                "Number of packet error caused by measured delay
    is invalid due to exceeding threshold";
                            }
    
                            leaf received-packet-error-missing-tx-timestamp {
                              type uint64;
                              description
                                "Number of packet error caused by received packet
    is missing Tx timestamp";
                            }
    
                            leaf received-packet-error-missing-rx-timestamp {
                              type uint64;
                              description
                                "Number of packet error caused by received packet
    is missing Rx timestamp";
                            }
    
                            leaf received-packet-error-probe-full {
                              type uint64;
                              description
                                "Number of packet error caused by receiving
    packet when probe is full";
                            }
    
                            leaf received-packet-error-probe-not-started {
                              type uint64;
                              description
                                "Number of packet error caused by receiving
    packet when probe is not started";
                            }
    
                            leaf received-packet-control-code-error {
                              type uint64;
                              description
                                "Number of packet error caused by a control code
    error from responder";
                            }
    
                            leaf received-packet-control-code-notification {
                              type uint64;
                              description
                                "Number of packet error caused by a control code
    notification from responder";
                            }
    
                            leaf probes-started {
                              type uint64;
                              description
                                "Number of probes started";
                            }
    
                            leaf probes-complete {
                              type uint64;
                              description
                                "Number of probes completed";
                            }
    
                            leaf probes-incomplete {
                              type uint64;
                              description
                                "Number of probes incomplete";
                            }
    
                            leaf advertisement {
                              type uint64;
                              description
                                "Number of advertisements";
                            }
                          }  // container generic-counters
    
                          container exclusive-counters {
                            description
                              "Exclusive counters for a PM interface instance";
                            container interface-exclusive-counters {
                              when
                                "../transport-type = 'interface-transport-type'" {
                                description
                                  "../TransportType = 'InterfaceTransportType'";
                              }
                              description
                                "Counters exclusive for interface";
                              leaf query-packet-sent-error-interface-down {
                                type uint64;
                                description
                                  "Number of query packets sent error caused by
    interface down";
                              }
    
                              leaf query-packet-sent-error-no-mpls-caps {
                                type uint64;
                                description
                                  "Number of query packets sent error caused by no
    MPLS caps";
                              }
    
                              leaf query-packet-sent-error-ipv4-down-with-v4-next-hop {
                                type uint64;
                                description
                                  "Number of query packets sent error caused by
    IPv4 protocl in down state with configured IPv4
    next hop";
                              }
    
                              leaf query-packet-sent-error-ipv6-down-with-v6-next-hop {
                                type uint64;
                                description
                                  "Number of query packets sent error caused by
    IPv6 protocl in down state with configured IPv6
    next hop";
                              }
    
                              leaf query-packet-sent-error-ipv4ipv6-down-without-next-hop {
                                type uint64;
                                description
                                  "Number of query packets sent error caused by
    both IPv4 and IPv6 protocl in down state without
    configured next hop";
                              }
    
                              leaf query-packet-sent-error-next-hop-mac-missing {
                                type uint64;
                                description
                                  "Number of query packets sent error caused by
    missing next hop MAC";
                              }
                            }  // container interface-exclusive-counters
    
                            container sr-policy-exclusive-counters {
                              when
                                "../transport-type = 'sr-policy-transport-type'" {
                                description
                                  "../TransportType = 'SRPolicyTransportType'";
                              }
                              description
                                "Counters exclusive for SR Policies";
                              leaf liveness-detection-missed-count {
                                type uint64;
                                description
                                  "Number of missed packets";
                              }
                            }  // container sr-policy-exclusive-counters
    
                            container endpoint-exclusive-counters {
                              when
                                "../transport-type = 'endpoiont-transport-type'" {
                                description
                                  "../TransportType = 'EndpoiontTransportType'";
                              }
                              description
                                "Counters exclusive for Endpoint";
                              leaf query-packets-sent-error-sl-label-missing {
                                type uint64;
                                description
                                  "Number of query packets sent error caused by
    Missing Segment list Labels";
                              }
    
                              leaf liveness-detection-missed-count {
                                type uint64;
                                description
                                  "Number of missed packets";
                              }
                            }  // container endpoint-exclusive-counters
    
                            leaf transport-type {
                              type Pm-transport;
                              description
                                "TransportType";
                            }
                          }  // container exclusive-counters
                        }  // container counters
    
                        leaf segment-list-name {
                          type string;
                          description
                            "Segment-list name, not set if path is dynamic";
                        }
    
                        list segment {
                          description
                            "List of segments";
                          container ip-address {
                            description
                              "Segment IP address";
                            leaf ip-address-type {
                              type Pm-addr;
                              description
                                "IPAddressType";
                            }
    
                            leaf ipv4 {
                              when
                                "../ip-address-type = 'ipv4'" {
                                description
                                  "../IPAddressType = 'IPv4'";
                              }
                              type Pm-ipv4-addr;
                              description
                                "IPv4 address type";
                            }
    
                            leaf ipv6 {
                              when
                                "../ip-address-type = 'ipv6'" {
                                description
                                  "../IPAddressType = 'IPv6'";
                              }
                              type Pm-ipv6-addr;
                              description
                                "IPv6 address type";
                            }
                          }  // container ip-address
    
                          leaf mpls-label {
                            type uint32;
                            description
                              "Segment mpls label";
                          }
                        }  // list segment
                      }  // list segment-list-counter
                    }  // list consolidated-counters-data
                  }  // list endpoint-counter
                }  // container endpoint-counters
    
                container endpoint-commons {
                  description
                    "Table of Endpoint common info";
                  list endpoint-common {
                    key "endpoint-name";
                    description
                      "Endpoint information";
                    leaf endpoint-name {
                      type xr:Cisco-ios-xr-string;
                      description
                        "Endpoint name";
                    }
    
                    leaf endpoint-name-xr {
                      type string;
                      description
                        "Name of the endpoint session";
                    }
    
                    list endpoint-delay {
                      description
                        "List of Endpoint delay measurement";
                      container end-point-address {
                        description
                          "IPv4/IPv6 End point address";
                        leaf ip-address-type {
                          type Pm-addr;
                          description
                            "IPAddressType";
                        }
    
                        leaf ipv4 {
                          when
                            "../ip-address-type = 'ipv4'" {
                            description
                              "../IPAddressType = 'IPv4'";
                          }
                          type Pm-ipv4-addr;
                          description
                            "IPv4 address type";
                        }
    
                        leaf ipv6 {
                          when
                            "../ip-address-type = 'ipv6'" {
                            description
                              "../IPAddressType = 'IPv6'";
                          }
                          type Pm-ipv6-addr;
                          description
                            "IPv6 address type";
                        }
                      }  // container end-point-address
    
                      container end-point-session-source-address {
                        description
                          "IPv4/IPv6 End point session source address";
                        leaf ip-address-type {
                          type Pm-addr;
                          description
                            "IPAddressType";
                        }
    
                        leaf ipv4 {
                          when
                            "../ip-address-type = 'ipv4'" {
                            description
                              "../IPAddressType = 'IPv4'";
                          }
                          type Pm-ipv4-addr;
                          description
                            "IPv4 address type";
                        }
    
                        leaf ipv6 {
                          when
                            "../ip-address-type = 'ipv6'" {
                            description
                              "../IPAddressType = 'IPv6'";
                          }
                          type Pm-ipv6-addr;
                          description
                            "IPv6 address type";
                        }
                      }  // container end-point-session-source-address
    
                      leaf endpoint-name {
                        type string;
                        description
                          "Name of the endpoint session";
                      }
    
                      leaf vrf-name {
                        type string;
                        description
                          "Name of the VRF";
                      }
    
                      leaf description {
                        type string;
                        description
                          "Endpoint Description";
                      }
    
                      list ep-consolidated-detail {
                        description
                          "Consolidated Details to hold all segment lists
    of this endpoint";
                        leaf ep-cons-profile-name {
                          type string;
                          description
                            "Endpoint delay-measurement profile name";
                        }
    
                        list ep-segment-list {
                          description
                            "List of segment-lists in the endpoint";
                          leaf segment-list-name {
                            type string;
                            description
                              "Name of the segment-list";
                          }
    
                          list segment {
                            description
                              "List of segments";
                            container ip-address {
                              description
                                "Segment IP address";
                              leaf ip-address-type {
                                type Pm-addr;
                                description
                                  "IPAddressType";
                              }
    
                              leaf ipv4 {
                                when
                                  "../ip-address-type = 'ipv4'" {
                                  description
                                    "../IPAddressType = 'IPv4'";
                                }
                                type Pm-ipv4-addr;
                                description
                                  "IPv4 address type";
                              }
    
                              leaf ipv6 {
                                when
                                  "../ip-address-type = 'ipv6'" {
                                  description
                                    "../IPAddressType = 'IPv6'";
                                }
                                type Pm-ipv6-addr;
                                description
                                  "IPv6 address type";
                              }
                            }  // container ip-address
    
                            leaf mpls-label {
                              type uint32;
                              description
                                "Segment mpls label";
                            }
                          }  // list segment
    
                          list delay-measurement-session {
                            description
                              "List of all the Delay-measurement sessions of
    this segment-list";
                            container current-probe {
                              description
                                "Information for the current probe";
                              container probe-results {
                                description
                                  "Summarized  results of the current probe";
                                leaf average {
                                  type uint32;
                                  description
                                    "Average value (uSec)";
                                }
    
                                leaf minimum {
                                  type uint32;
                                  description
                                    "Minimum value (uSec)";
                                }
    
                                leaf maximum {
                                  type uint32;
                                  description
                                    "Maximum value (uSec)";
                                }
    
                                leaf variance {
                                  type uint32;
                                  description
                                    "Variance value (uSec)";
                                }
                              }  // container probe-results
    
                              leaf probe-start-time-stamp {
                                type uint64;
                                units
                                  "millisecond";
                                description
                                  "Timestamp in milliseconds of the current probe
    start (milliseconds since Jan. 1, 1970)";
                              }
    
                              leaf next-probe-start-time-remaining-in-millisec {
                                type uint32;
                                units
                                  "millisecond";
                                description
                                  "Time in milliseconds until the next probe starts";
                              }
    
                              leaf next-packet-sent-time-remaining-in-millisec {
                                type uint32;
                                units
                                  "millisecond";
                                description
                                  "Time in milliseconds until the next packet is
    sent";
                              }
    
                              leaf burst-interval {
                                type uint32;
                                units
                                  "millisecond";
                                description
                                  "Burst interval (in milliseconds)";
                              }
    
                              leaf burst-interval-is-stretched {
                                type boolean;
                                description
                                  "True if the burst interval has been stretched
    for packet rate-limiting";
                              }
    
                              leaf number-of-packets-sent {
                                type uint32;
                                description
                                  "Number of packets sent in the current probe";
                              }
    
                              leaf number-of-packets-received {
                                type uint32;
                                description
                                  "Number of packets received in the current probe";
                              }
    
                              leaf probe-not-running-reason {
                                type Pm-probe-running-error-reason;
                                description
                                  "Reason why probe is not running";
                              }
                            }  // container current-probe
    
                            container session-counters {
                              description
                                "Counters info for the session";
                              container generic-counters {
                                description
                                  "Generic counters for a PM interface instance";
                                leaf query-packets-sent {
                                  type uint64;
                                  description
                                    "Number of query packets sent";
                                }
    
                                leaf query-packet-sent-errors {
                                  type uint64;
                                  description
                                    "Number of query packets sent error";
                                }
    
                                leaf query-packet-sent-error-no-ip-address {
                                  type uint64;
                                  description
                                    "Number of query packets sent error caused by no
    IP address";
                                }
    
                                leaf query-packets-received {
                                  type uint64;
                                  description
                                    "Number of received query packets";
                                }
    
                                leaf received-packet-error-negative-delay {
                                  type uint64;
                                  description
                                    "Number of packet error caused by receiving
    negative delay";
                                }
    
                                leaf received-packet-error-delay-exceeds-threshold {
                                  type uint64;
                                  description
                                    "Number of packet error caused by measured delay
    is invalid due to exceeding threshold";
                                }
    
                                leaf received-packet-error-missing-tx-timestamp {
                                  type uint64;
                                  description
                                    "Number of packet error caused by received packet
    is missing Tx timestamp";
                                }
    
                                leaf received-packet-error-missing-rx-timestamp {
                                  type uint64;
                                  description
                                    "Number of packet error caused by received packet
    is missing Rx timestamp";
                                }
    
                                leaf received-packet-error-probe-full {
                                  type uint64;
                                  description
                                    "Number of packet error caused by receiving
    packet when probe is full";
                                }
    
                                leaf received-packet-error-probe-not-started {
                                  type uint64;
                                  description
                                    "Number of packet error caused by receiving
    packet when probe is not started";
                                }
    
                                leaf received-packet-control-code-error {
                                  type uint64;
                                  description
                                    "Number of packet error caused by a control code
    error from responder";
                                }
    
                                leaf received-packet-control-code-notification {
                                  type uint64;
                                  description
                                    "Number of packet error caused by a control code
    notification from responder";
                                }
    
                                leaf probes-started {
                                  type uint64;
                                  description
                                    "Number of probes started";
                                }
    
                                leaf probes-complete {
                                  type uint64;
                                  description
                                    "Number of probes completed";
                                }
    
                                leaf probes-incomplete {
                                  type uint64;
                                  description
                                    "Number of probes incomplete";
                                }
    
                                leaf advertisement {
                                  type uint64;
                                  description
                                    "Number of advertisements";
                                }
                              }  // container generic-counters
    
                              container exclusive-counters {
                                description
                                  "Exclusive counters for a PM interface instance";
                                container interface-exclusive-counters {
                                  when
                                    "../transport-type = 'interface-transport-type'" {
                                    description
                                      "../TransportType = 'InterfaceTransportType'";
                                  }
                                  description
                                    "Counters exclusive for interface";
                                  leaf query-packet-sent-error-interface-down {
                                    type uint64;
                                    description
                                      "Number of query packets sent error caused by
    interface down";
                                  }
    
                                  leaf query-packet-sent-error-no-mpls-caps {
                                    type uint64;
                                    description
                                      "Number of query packets sent error caused by no
    MPLS caps";
                                  }
    
                                  leaf query-packet-sent-error-ipv4-down-with-v4-next-hop {
                                    type uint64;
                                    description
                                      "Number of query packets sent error caused by
    IPv4 protocl in down state with configured IPv4
    next hop";
                                  }
    
                                  leaf query-packet-sent-error-ipv6-down-with-v6-next-hop {
                                    type uint64;
                                    description
                                      "Number of query packets sent error caused by
    IPv6 protocl in down state with configured IPv6
    next hop";
                                  }
    
                                  leaf query-packet-sent-error-ipv4ipv6-down-without-next-hop {
                                    type uint64;
                                    description
                                      "Number of query packets sent error caused by
    both IPv4 and IPv6 protocl in down state without
    configured next hop";
                                  }
    
                                  leaf query-packet-sent-error-next-hop-mac-missing {
                                    type uint64;
                                    description
                                      "Number of query packets sent error caused by
    missing next hop MAC";
                                  }
                                }  // container interface-exclusive-counters
    
                                container sr-policy-exclusive-counters {
                                  when
                                    "../transport-type = 'sr-policy-transport-type'" {
                                    description
                                      "../TransportType = 'SRPolicyTransportType'";
                                  }
                                  description
                                    "Counters exclusive for SR Policies";
                                  leaf liveness-detection-missed-count {
                                    type uint64;
                                    description
                                      "Number of missed packets";
                                  }
                                }  // container sr-policy-exclusive-counters
    
                                container endpoint-exclusive-counters {
                                  when
                                    "../transport-type = 'endpoiont-transport-type'" {
                                    description
                                      "../TransportType = 'EndpoiontTransportType'";
                                  }
                                  description
                                    "Counters exclusive for Endpoint";
                                  leaf query-packets-sent-error-sl-label-missing {
                                    type uint64;
                                    description
                                      "Number of query packets sent error caused by
    Missing Segment list Labels";
                                  }
    
                                  leaf liveness-detection-missed-count {
                                    type uint64;
                                    description
                                      "Number of missed packets";
                                  }
                                }  // container endpoint-exclusive-counters
    
                                leaf transport-type {
                                  type Pm-transport;
                                  description
                                    "TransportType";
                                }
                              }  // container exclusive-counters
                            }  // container session-counters
    
                            container last-advertisement-information {
                              description
                                "Last advertisement information of the session";
                              container advertised-values {
                                description
                                  "Advertised delay information";
                                leaf average {
                                  type uint32;
                                  description
                                    "Average value (uSec)";
                                }
    
                                leaf minimum {
                                  type uint32;
                                  description
                                    "Minimum value (uSec)";
                                }
    
                                leaf maximum {
                                  type uint32;
                                  description
                                    "Maximum value (uSec)";
                                }
    
                                leaf variance {
                                  type uint32;
                                  description
                                    "Variance value (uSec)";
                                }
                              }  // container advertised-values
    
                              leaf time-of-advertisement {
                                type uint64;
                                units
                                  "millisecond";
                                description
                                  "Time of the advertisement (milliseconds since
    Jan. 1, 1970)";
                              }
    
                              leaf advertisement-reason {
                                type Pm-advert-reason;
                                description
                                  "Reason for advertisement";
                              }
    
                              leaf aflag-set {
                                type boolean;
                                description
                                  "A flag is set";
                              }
                            }  // container last-advertisement-information
    
                            container next-advertisement-information {
                              description
                                "Next advertisement information of the session";
                              container advertisement-interval-values {
                                description
                                  "Next advertisement values";
                                leaf average {
                                  type uint32;
                                  description
                                    "Average value (uSec)";
                                }
    
                                leaf minimum {
                                  type uint32;
                                  description
                                    "Minimum value (uSec)";
                                }
    
                                leaf maximum {
                                  type uint32;
                                  description
                                    "Maximum value (uSec)";
                                }
    
                                leaf variance {
                                  type uint32;
                                  description
                                    "Variance value (uSec)";
                                }
                              }  // container advertisement-interval-values
    
                              leaf advertisement-interval-probes-remaining {
                                type uint32;
                                description
                                  "Probes remaining until next periodic
    advertisement check";
                              }
    
                              leaf rolling-average {
                                type uint32;
                                description
                                  "Rolling average value (uSec)";
                              }
                            }  // container next-advertisement-information
    
                            container last-notification-control-code {
                              description
                                "Last notifcation control code received of the
    session";
                              leaf control-code {
                                type uint8;
                                description
                                  "MPLS PM RFC 6374 control code";
                              }
    
                              leaf timestamp {
                                type uint64;
                                units
                                  "millisecond";
                                description
                                  "Received timestamp of the control code
    (milliseconds since Jan. 1, 1970)";
                              }
                            }  // container last-notification-control-code
    
                            container last-error-control-code {
                              description
                                "Last error control code received of the session";
                              leaf control-code {
                                type uint8;
                                description
                                  "MPLS PM RFC 6374 control code";
                              }
    
                              leaf timestamp {
                                type uint64;
                                units
                                  "millisecond";
                                description
                                  "Received timestamp of the control code
    (milliseconds since Jan. 1, 1970)";
                              }
                            }  // container last-error-control-code
    
                            container responder-address {
                              description
                                "Address of the Responder";
                              leaf ip-address-type {
                                type Pm-addr;
                                description
                                  "IPAddressType";
                              }
    
                              leaf ipv4 {
                                when
                                  "../ip-address-type = 'ipv4'" {
                                  description
                                    "../IPAddressType = 'IPv4'";
                                }
                                type Pm-ipv4-addr;
                                description
                                  "IPv4 address type";
                              }
    
                              leaf ipv6 {
                                when
                                  "../ip-address-type = 'ipv6'" {
                                  description
                                    "../IPAddressType = 'IPv6'";
                                }
                                type Pm-ipv6-addr;
                                description
                                  "IPv6 address type";
                              }
                            }  // container responder-address
    
                            leaf session-id {
                              type uint32;
                              description
                                "ID of the session";
                            }
    
                            leaf transport-type {
                              type Pm-transport;
                              description
                                "Transport Type of the session";
                            }
    
                            leaf measurement-type {
                              type Pm-measurement;
                              description
                                "Measurement Type of the session";
                            }
    
                            leaf profile-name {
                              type string;
                              description
                                "Interface delay-measurement profile name";
                            }
    
                            leaf periodic-advertisement-interval-in-sec {
                              type uint32;
                              units "second";
                              description
                                "Interval of periodic advertisement in seconds";
                            }
    
                            leaf query-number-of-hops {
                              type uint8;
                              description
                                "Number of hops traversed by the query packet";
                            }
    
                            list probe-history {
                              description
                                "Current probe history";
                              leaf measurement-value {
                                type uint64;
                                description
                                  "Measurement value (nsec)";
                              }
    
                              leaf query-timestamp {
                                type uint64;
                                units
                                  "millisecond";
                                description
                                  "Timestamp when the measurement was taken
    (milliseconds since Jan. 1, 1970)";
                              }
                            }  // list probe-history
                          }  // list delay-measurement-session
                        }  // list ep-segment-list
                      }  // list ep-consolidated-detail
                    }  // list endpoint-delay
    
                    list endpoint-liveness {
                      description
                        "List of Endpoint liveness";
                      container end-point-address {
                        description
                          "IPv4/IPv6 End point address";
                        leaf ip-address-type {
                          type Pm-addr;
                          description
                            "IPAddressType";
                        }
    
                        leaf ipv4 {
                          when
                            "../ip-address-type = 'ipv4'" {
                            description
                              "../IPAddressType = 'IPv4'";
                          }
                          type Pm-ipv4-addr;
                          description
                            "IPv4 address type";
                        }
    
                        leaf ipv6 {
                          when
                            "../ip-address-type = 'ipv6'" {
                            description
                              "../IPAddressType = 'IPv6'";
                          }
                          type Pm-ipv6-addr;
                          description
                            "IPv6 address type";
                        }
                      }  // container end-point-address
    
                      container end-point-session-source-address {
                        description
                          "IPv4/IPv6 End point session source address";
                        leaf ip-address-type {
                          type Pm-addr;
                          description
                            "IPAddressType";
                        }
    
                        leaf ipv4 {
                          when
                            "../ip-address-type = 'ipv4'" {
                            description
                              "../IPAddressType = 'IPv4'";
                          }
                          type Pm-ipv4-addr;
                          description
                            "IPv4 address type";
                        }
    
                        leaf ipv6 {
                          when
                            "../ip-address-type = 'ipv6'" {
                            description
                              "../IPAddressType = 'IPv6'";
                          }
                          type Pm-ipv6-addr;
                          description
                            "IPv6 address type";
                        }
                      }  // container end-point-session-source-address
    
                      leaf endpoint-name-xr {
                        type string;
                        description
                          "Name of the endpoint session";
                      }
    
                      leaf vrf-name {
                        type string;
                        description
                          "Name of the VRF";
                      }
    
                      list ep-consolidated-liveness {
                        description
                          "Consolidated liveness details of this endpoint";
                        leaf ep-live-profile-name {
                          type string;
                          description
                            "Endpoint liveness-detection profile name";
                        }
    
                        list ep-liveness-segment-list {
                          description
                            "List of liveness segment-lists in the endpoint";
                          container ep-liveness-info {
                            description
                              "Information of endpoint liveness detection
    session";
                            leaf session-is-up {
                              type boolean;
                              description
                                "Liveness session state";
                            }
    
                            leaf miss-count {
                              type uint32;
                              description
                                "Number of continuously missed probe packets";
                            }
    
                            leaf last-session-state-change-timestamp {
                              type uint64;
                              description
                                "Timestamp of the last liveness session state
    change";
                            }
                          }  // container ep-liveness-info
    
                          leaf segment-list-name {
                            type string;
                            description
                              "Name of the segment-list";
                          }
    
                          leaf session-id {
                            type uint32;
                            description
                              "ID of the session";
                          }
    
                          leaf liveness-detection-enabled {
                            type boolean;
                            description
                              "Liveness detection is enabled";
                          }
    
                          leaf probe-not-running-reason {
                            type Pm-probe-running-error-reason;
                            description
                              "Reason why probe is not running";
                          }
    
                          list segment {
                            description
                              "List of segments";
                            container ip-address {
                              description
                                "Segment IP address";
                              leaf ip-address-type {
                                type Pm-addr;
                                description
                                  "IPAddressType";
                              }
    
                              leaf ipv4 {
                                when
                                  "../ip-address-type = 'ipv4'" {
                                  description
                                    "../IPAddressType = 'IPv4'";
                                }
                                type Pm-ipv4-addr;
                                description
                                  "IPv4 address type";
                              }
    
                              leaf ipv6 {
                                when
                                  "../ip-address-type = 'ipv6'" {
                                  description
                                    "../IPAddressType = 'IPv6'";
                                }
                                type Pm-ipv6-addr;
                                description
                                  "IPv6 address type";
                              }
                            }  // container ip-address
    
                            leaf mpls-label {
                              type uint32;
                              description
                                "Segment mpls label";
                            }
                          }  // list segment
                        }  // list ep-liveness-segment-list
                      }  // list ep-consolidated-liveness
                    }  // list endpoint-liveness
                  }  // list endpoint-common
                }  // container endpoint-commons
              }  // container endpoints
    
              container sessions {
                description "Table of sessions";
                list session {
                  key "session-id";
                  description
                    "Session information";
                  leaf session-id {
                    type uint32;
                    description "Session ID";
                  }
    
                  container session {
                    description "Session union";
                    container interface-session {
                      when
                        "../type = 'interface-transport-type'" {
                        description
                          "../type = 'InterfaceTransportType'";
                      }
                      description
                        "Interface session";
                      container next-hop {
                        description
                          "Nexthop address";
                        leaf ip-address-type {
                          type Pm-addr;
                          description
                            "IPAddressType";
                        }
    
                        leaf ipv4 {
                          when
                            "../ip-address-type = 'ipv4'" {
                            description
                              "../IPAddressType = 'IPv4'";
                          }
                          type Pm-ipv4-addr;
                          description
                            "IPv4 address type";
                        }
    
                        leaf ipv6 {
                          when
                            "../ip-address-type = 'ipv6'" {
                            description
                              "../IPAddressType = 'IPv6'";
                          }
                          type Pm-ipv6-addr;
                          description
                            "IPv6 address type";
                        }
                      }  // container next-hop
    
                      container session {
                        description
                          "Interface session";
                        container current-probe {
                          description
                            "Information for the current probe";
                          container probe-results {
                            description
                              "Summarized  results of the current probe";
                            leaf average {
                              type uint32;
                              description
                                "Average value (uSec)";
                            }
    
                            leaf minimum {
                              type uint32;
                              description
                                "Minimum value (uSec)";
                            }
    
                            leaf maximum {
                              type uint32;
                              description
                                "Maximum value (uSec)";
                            }
    
                            leaf variance {
                              type uint32;
                              description
                                "Variance value (uSec)";
                            }
                          }  // container probe-results
    
                          leaf probe-start-time-stamp {
                            type uint64;
                            units "millisecond";
                            description
                              "Timestamp in milliseconds of the current probe
    start (milliseconds since Jan. 1, 1970)";
                          }
    
                          leaf next-probe-start-time-remaining-in-millisec {
                            type uint32;
                            units "millisecond";
                            description
                              "Time in milliseconds until the next probe starts";
                          }
    
                          leaf next-packet-sent-time-remaining-in-millisec {
                            type uint32;
                            units "millisecond";
                            description
                              "Time in milliseconds until the next packet is
    sent";
                          }
    
                          leaf burst-interval {
                            type uint32;
                            units "millisecond";
                            description
                              "Burst interval (in milliseconds)";
                          }
    
                          leaf burst-interval-is-stretched {
                            type boolean;
                            description
                              "True if the burst interval has been stretched
    for packet rate-limiting";
                          }
    
                          leaf number-of-packets-sent {
                            type uint32;
                            description
                              "Number of packets sent in the current probe";
                          }
    
                          leaf number-of-packets-received {
                            type uint32;
                            description
                              "Number of packets received in the current probe";
                          }
    
                          leaf probe-not-running-reason {
                            type Pm-probe-running-error-reason;
                            description
                              "Reason why probe is not running";
                          }
                        }  // container current-probe
    
                        container session-counters {
                          description
                            "Counters info for the session";
                          container generic-counters {
                            description
                              "Generic counters for a PM interface instance";
                            leaf query-packets-sent {
                              type uint64;
                              description
                                "Number of query packets sent";
                            }
    
                            leaf query-packet-sent-errors {
                              type uint64;
                              description
                                "Number of query packets sent error";
                            }
    
                            leaf query-packet-sent-error-no-ip-address {
                              type uint64;
                              description
                                "Number of query packets sent error caused by no
    IP address";
                            }
    
                            leaf query-packets-received {
                              type uint64;
                              description
                                "Number of received query packets";
                            }
    
                            leaf received-packet-error-negative-delay {
                              type uint64;
                              description
                                "Number of packet error caused by receiving
    negative delay";
                            }
    
                            leaf received-packet-error-delay-exceeds-threshold {
                              type uint64;
                              description
                                "Number of packet error caused by measured delay
    is invalid due to exceeding threshold";
                            }
    
                            leaf received-packet-error-missing-tx-timestamp {
                              type uint64;
                              description
                                "Number of packet error caused by received packet
    is missing Tx timestamp";
                            }
    
                            leaf received-packet-error-missing-rx-timestamp {
                              type uint64;
                              description
                                "Number of packet error caused by received packet
    is missing Rx timestamp";
                            }
    
                            leaf received-packet-error-probe-full {
                              type uint64;
                              description
                                "Number of packet error caused by receiving
    packet when probe is full";
                            }
    
                            leaf received-packet-error-probe-not-started {
                              type uint64;
                              description
                                "Number of packet error caused by receiving
    packet when probe is not started";
                            }
    
                            leaf received-packet-control-code-error {
                              type uint64;
                              description
                                "Number of packet error caused by a control code
    error from responder";
                            }
    
                            leaf received-packet-control-code-notification {
                              type uint64;
                              description
                                "Number of packet error caused by a control code
    notification from responder";
                            }
    
                            leaf probes-started {
                              type uint64;
                              description
                                "Number of probes started";
                            }
    
                            leaf probes-complete {
                              type uint64;
                              description
                                "Number of probes completed";
                            }
    
                            leaf probes-incomplete {
                              type uint64;
                              description
                                "Number of probes incomplete";
                            }
    
                            leaf advertisement {
                              type uint64;
                              description
                                "Number of advertisements";
                            }
                          }  // container generic-counters
    
                          container exclusive-counters {
                            description
                              "Exclusive counters for a PM interface instance";
                            container interface-exclusive-counters {
                              when
                                "../transport-type = 'interface-transport-type'" {
                                description
                                  "../TransportType = 'InterfaceTransportType'";
                              }
                              description
                                "Counters exclusive for interface";
                              leaf query-packet-sent-error-interface-down {
                                type uint64;
                                description
                                  "Number of query packets sent error caused by
    interface down";
                              }
    
                              leaf query-packet-sent-error-no-mpls-caps {
                                type uint64;
                                description
                                  "Number of query packets sent error caused by no
    MPLS caps";
                              }
    
                              leaf query-packet-sent-error-ipv4-down-with-v4-next-hop {
                                type uint64;
                                description
                                  "Number of query packets sent error caused by
    IPv4 protocl in down state with configured IPv4
    next hop";
                              }
    
                              leaf query-packet-sent-error-ipv6-down-with-v6-next-hop {
                                type uint64;
                                description
                                  "Number of query packets sent error caused by
    IPv6 protocl in down state with configured IPv6
    next hop";
                              }
    
                              leaf query-packet-sent-error-ipv4ipv6-down-without-next-hop {
                                type uint64;
                                description
                                  "Number of query packets sent error caused by
    both IPv4 and IPv6 protocl in down state without
    configured next hop";
                              }
    
                              leaf query-packet-sent-error-next-hop-mac-missing {
                                type uint64;
                                description
                                  "Number of query packets sent error caused by
    missing next hop MAC";
                              }
                            }  // container interface-exclusive-counters
    
                            container sr-policy-exclusive-counters {
                              when
                                "../transport-type = 'sr-policy-transport-type'" {
                                description
                                  "../TransportType = 'SRPolicyTransportType'";
                              }
                              description
                                "Counters exclusive for SR Policies";
                              leaf liveness-detection-missed-count {
                                type uint64;
                                description
                                  "Number of missed packets";
                              }
                            }  // container sr-policy-exclusive-counters
    
                            container endpoint-exclusive-counters {
                              when
                                "../transport-type = 'endpoiont-transport-type'" {
                                description
                                  "../TransportType = 'EndpoiontTransportType'";
                              }
                              description
                                "Counters exclusive for Endpoint";
                              leaf query-packets-sent-error-sl-label-missing {
                                type uint64;
                                description
                                  "Number of query packets sent error caused by
    Missing Segment list Labels";
                              }
    
                              leaf liveness-detection-missed-count {
                                type uint64;
                                description
                                  "Number of missed packets";
                              }
                            }  // container endpoint-exclusive-counters
    
                            leaf transport-type {
                              type Pm-transport;
                              description
                                "TransportType";
                            }
                          }  // container exclusive-counters
                        }  // container session-counters
    
                        container last-advertisement-information {
                          description
                            "Last advertisement information of the session";
                          container advertised-values {
                            description
                              "Advertised delay information";
                            leaf average {
                              type uint32;
                              description
                                "Average value (uSec)";
                            }
    
                            leaf minimum {
                              type uint32;
                              description
                                "Minimum value (uSec)";
                            }
    
                            leaf maximum {
                              type uint32;
                              description
                                "Maximum value (uSec)";
                            }
    
                            leaf variance {
                              type uint32;
                              description
                                "Variance value (uSec)";
                            }
                          }  // container advertised-values
    
                          leaf time-of-advertisement {
                            type uint64;
                            units "millisecond";
                            description
                              "Time of the advertisement (milliseconds since
    Jan. 1, 1970)";
                          }
    
                          leaf advertisement-reason {
                            type Pm-advert-reason;
                            description
                              "Reason for advertisement";
                          }
    
                          leaf aflag-set {
                            type boolean;
                            description
                              "A flag is set";
                          }
                        }  // container last-advertisement-information
    
                        container next-advertisement-information {
                          description
                            "Next advertisement information of the session";
                          container advertisement-interval-values {
                            description
                              "Next advertisement values";
                            leaf average {
                              type uint32;
                              description
                                "Average value (uSec)";
                            }
    
                            leaf minimum {
                              type uint32;
                              description
                                "Minimum value (uSec)";
                            }
    
                            leaf maximum {
                              type uint32;
                              description
                                "Maximum value (uSec)";
                            }
    
                            leaf variance {
                              type uint32;
                              description
                                "Variance value (uSec)";
                            }
                          }  // container advertisement-interval-values
    
                          leaf advertisement-interval-probes-remaining {
                            type uint32;
                            description
                              "Probes remaining until next periodic
    advertisement check";
                          }
    
                          leaf rolling-average {
                            type uint32;
                            description
                              "Rolling average value (uSec)";
                          }
                        }  // container next-advertisement-information
    
                        container last-notification-control-code {
                          description
                            "Last notifcation control code received of the
    session";
                          leaf control-code {
                            type uint8;
                            description
                              "MPLS PM RFC 6374 control code";
                          }
    
                          leaf timestamp {
                            type uint64;
                            units "millisecond";
                            description
                              "Received timestamp of the control code
    (milliseconds since Jan. 1, 1970)";
                          }
                        }  // container last-notification-control-code
    
                        container last-error-control-code {
                          description
                            "Last error control code received of the session";
                          leaf control-code {
                            type uint8;
                            description
                              "MPLS PM RFC 6374 control code";
                          }
    
                          leaf timestamp {
                            type uint64;
                            units "millisecond";
                            description
                              "Received timestamp of the control code
    (milliseconds since Jan. 1, 1970)";
                          }
                        }  // container last-error-control-code
    
                        container responder-address {
                          description
                            "Address of the Responder";
                          leaf ip-address-type {
                            type Pm-addr;
                            description
                              "IPAddressType";
                          }
    
                          leaf ipv4 {
                            when
                              "../ip-address-type = 'ipv4'" {
                              description
                                "../IPAddressType = 'IPv4'";
                            }
                            type Pm-ipv4-addr;
                            description
                              "IPv4 address type";
                          }
    
                          leaf ipv6 {
                            when
                              "../ip-address-type = 'ipv6'" {
                              description
                                "../IPAddressType = 'IPv6'";
                            }
                            type Pm-ipv6-addr;
                            description
                              "IPv6 address type";
                          }
                        }  // container responder-address
    
                        leaf session-id {
                          type uint32;
                          description
                            "ID of the session";
                        }
    
                        leaf transport-type {
                          type Pm-transport;
                          description
                            "Transport Type of the session";
                        }
    
                        leaf measurement-type {
                          type Pm-measurement;
                          description
                            "Measurement Type of the session";
                        }
    
                        leaf profile-name {
                          type string;
                          description
                            "Interface delay-measurement profile name";
                        }
    
                        leaf periodic-advertisement-interval-in-sec {
                          type uint32;
                          units "second";
                          description
                            "Interval of periodic advertisement in seconds";
                        }
    
                        leaf query-number-of-hops {
                          type uint8;
                          description
                            "Number of hops traversed by the query packet";
                        }
    
                        list probe-history {
                          description
                            "Current probe history";
                          leaf measurement-value {
                            type uint64;
                            description
                              "Measurement value (nsec)";
                          }
    
                          leaf query-timestamp {
                            type uint64;
                            units "millisecond";
                            description
                              "Timestamp when the measurement was taken
    (milliseconds since Jan. 1, 1970)";
                          }
                        }  // list probe-history
                      }  // container session
    
                      leaf interface-name {
                        type string;
                        description
                          "Interface name";
                      }
    
                      leaf interface-handle {
                        type uint32;
                        description
                          "Interface handle";
                      }
                    }  // container interface-session
    
                    container rsvpte-tunnel-session {
                      when
                        "../type = 'rsvp-te-transport-type'" {
                        description
                          "../type = 'RSVP_TETransportType'";
                      }
                      description
                        "RSVP-TE tunnel session";
                      container lsp-session {
                        description
                          "RSVP-TE LSP session";
                        container last-probe-results {
                          description
                            "Last probe results of LSP";
                          container probe-values {
                            description
                              "Summarized results of the probe";
                            leaf average {
                              type uint32;
                              description
                                "Average value (uSec)";
                            }
    
                            leaf minimum {
                              type uint32;
                              description
                                "Minimum value (uSec)";
                            }
    
                            leaf maximum {
                              type uint32;
                              description
                                "Maximum value (uSec)";
                            }
    
                            leaf variance {
                              type uint32;
                              description
                                "Variance value (uSec)";
                            }
                          }  // container probe-values
    
                          leaf number-of-packets-sent {
                            type uint32;
                            description
                              "Number of packets sent in the probe";
                          }
    
                          leaf number-of-packets-received {
                            type uint32;
                            description
                              "Number of packets received in the probe";
                          }
                        }  // container last-probe-results
    
                        container current-probe {
                          description
                            "Information for the current probe of the LSP";
                          container probe-results {
                            description
                              "Summarized  results of the current probe";
                            leaf average {
                              type uint32;
                              description
                                "Average value (uSec)";
                            }
    
                            leaf minimum {
                              type uint32;
                              description
                                "Minimum value (uSec)";
                            }
    
                            leaf maximum {
                              type uint32;
                              description
                                "Maximum value (uSec)";
                            }
    
                            leaf variance {
                              type uint32;
                              description
                                "Variance value (uSec)";
                            }
                          }  // container probe-results
    
                          leaf probe-start-time-stamp {
                            type uint64;
                            units "millisecond";
                            description
                              "Timestamp in milliseconds of the current probe
    start (milliseconds since Jan. 1, 1970)";
                          }
    
                          leaf next-probe-start-time-remaining-in-millisec {
                            type uint32;
                            units "millisecond";
                            description
                              "Time in milliseconds until the next probe starts";
                          }
    
                          leaf next-packet-sent-time-remaining-in-millisec {
                            type uint32;
                            units "millisecond";
                            description
                              "Time in milliseconds until the next packet is
    sent";
                          }
    
                          leaf burst-interval {
                            type uint32;
                            units "millisecond";
                            description
                              "Burst interval (in milliseconds)";
                          }
    
                          leaf burst-interval-is-stretched {
                            type boolean;
                            description
                              "True if the burst interval has been stretched
    for packet rate-limiting";
                          }
    
                          leaf number-of-packets-sent {
                            type uint32;
                            description
                              "Number of packets sent in the current probe";
                          }
    
                          leaf number-of-packets-received {
                            type uint32;
                            description
                              "Number of packets received in the current probe";
                          }
    
                          leaf probe-not-running-reason {
                            type Pm-probe-running-error-reason;
                            description
                              "Reason why probe is not running";
                          }
                        }  // container current-probe
    
                        container last-advertisement-information {
                          description
                            "Last advertisement information of the RSVP-TE
    LSP";
                          container advertised-values {
                            description
                              "Advertised delay information";
                            leaf average {
                              type uint32;
                              description
                                "Average value (uSec)";
                            }
    
                            leaf minimum {
                              type uint32;
                              description
                                "Minimum value (uSec)";
                            }
    
                            leaf maximum {
                              type uint32;
                              description
                                "Maximum value (uSec)";
                            }
    
                            leaf variance {
                              type uint32;
                              description
                                "Variance value (uSec)";
                            }
                          }  // container advertised-values
    
                          leaf time-of-advertisement {
                            type uint64;
                            units "millisecond";
                            description
                              "Time of the advertisement (milliseconds since
    Jan. 1, 1970)";
                          }
    
                          leaf advertisement-reason {
                            type Pm-advert-reason;
                            description
                              "Reason for advertisement";
                          }
    
                          leaf aflag-set {
                            type boolean;
                            description
                              "A flag is set";
                          }
                        }  // container last-advertisement-information
    
                        container next-advertisement-information {
                          description
                            "Next advertisement information of the RSVP-TE
    LSP";
                          container advertisement-interval-values {
                            description
                              "Next advertisement values";
                            leaf average {
                              type uint32;
                              description
                                "Average value (uSec)";
                            }
    
                            leaf minimum {
                              type uint32;
                              description
                                "Minimum value (uSec)";
                            }
    
                            leaf maximum {
                              type uint32;
                              description
                                "Maximum value (uSec)";
                            }
    
                            leaf variance {
                              type uint32;
                              description
                                "Variance value (uSec)";
                            }
                          }  // container advertisement-interval-values
    
                          leaf advertisement-interval-probes-remaining {
                            type uint32;
                            description
                              "Probes remaining until next periodic
    advertisement check";
                          }
    
                          leaf rolling-average {
                            type uint32;
                            description
                              "Rolling average value (uSec)";
                          }
                        }  // container next-advertisement-information
    
                        container last-notification-control-code {
                          description
                            "Last notifcation control code received of the
    RSVP-TE LSP";
                          leaf control-code {
                            type uint8;
                            description
                              "MPLS PM RFC 6374 control code";
                          }
    
                          leaf timestamp {
                            type uint64;
                            units "millisecond";
                            description
                              "Received timestamp of the control code
    (milliseconds since Jan. 1, 1970)";
                          }
                        }  // container last-notification-control-code
    
                        container last-error-control-code {
                          description
                            "Last error control code received of the RSVP-TE
    LSP";
                          leaf control-code {
                            type uint8;
                            description
                              "MPLS PM RFC 6374 control code";
                          }
    
                          leaf timestamp {
                            type uint64;
                            units "millisecond";
                            description
                              "Received timestamp of the control code
    (milliseconds since Jan. 1, 1970)";
                          }
                        }  // container last-error-control-code
    
                        container responder-address {
                          description
                            "Address of the Responder";
                          leaf ip-address-type {
                            type Pm-addr;
                            description
                              "IPAddressType";
                          }
    
                          leaf ipv4 {
                            when
                              "../ip-address-type = 'ipv4'" {
                              description
                                "../IPAddressType = 'IPv4'";
                            }
                            type Pm-ipv4-addr;
                            description
                              "IPv4 address type";
                          }
    
                          leaf ipv6 {
                            when
                              "../ip-address-type = 'ipv6'" {
                              description
                                "../IPAddressType = 'IPv6'";
                            }
                            type Pm-ipv6-addr;
                            description
                              "IPv6 address type";
                          }
                        }  // container responder-address
    
                        leaf session-id {
                          type uint32;
                          description
                            "Session ID of the LSP";
                        }
    
                        leaf lsp-id {
                          type uint32;
                          description "LSP ID";
                        }
    
                        leaf lsp-source-ipv4-address {
                          type inet:ipv4-address;
                          description
                            "LSP Source IPv4 Address";
                        }
    
                        leaf periodic-advertisement-interval-in-sec {
                          type uint32;
                          units "second";
                          description
                            "Interval of periodic advertisement in seconds";
                        }
    
                        leaf query-number-of-hops {
                          type uint8;
                          description
                            "Number of hops traversed by the query packet";
                        }
    
                        list probe-history {
                          description
                            "Current probe history of the LSP";
                          leaf measurement-value {
                            type uint64;
                            description
                              "Measurement value (nsec)";
                          }
    
                          leaf query-timestamp {
                            type uint64;
                            units "millisecond";
                            description
                              "Timestamp when the measurement was taken
    (milliseconds since Jan. 1, 1970)";
                          }
                        }  // list probe-history
                      }  // container lsp-session
    
                      leaf tunnel-name {
                        type string;
                        description
                          "RSVP-TE tunnel name";
                      }
    
                      leaf interface-handle {
                        type uint32;
                        description
                          "Interface handle";
                      }
                    }  // container rsvpte-tunnel-session
    
                    container sr-policy-session {
                      when
                        "../type = 'sr-policy-transport-type'" {
                        description
                          "../type = 'SRPolicyTransportType'";
                      }
                      description
                        "SR Policy session";
                      container end-point-address {
                        description
                          "End point address";
                        leaf ip-address-type {
                          type Pm-addr;
                          description
                            "IPAddressType";
                        }
    
                        leaf ipv4 {
                          when
                            "../ip-address-type = 'ipv4'" {
                            description
                              "../IPAddressType = 'IPv4'";
                          }
                          type Pm-ipv4-addr;
                          description
                            "IPv4 address type";
                        }
    
                        leaf ipv6 {
                          when
                            "../ip-address-type = 'ipv6'" {
                            description
                              "../IPAddressType = 'IPv6'";
                          }
                          type Pm-ipv6-addr;
                          description
                            "IPv6 address type";
                        }
                      }  // container end-point-address
    
                      container atomic-path {
                        description
                          "SR Policy atomic path session";
                        container last-advertisement-information {
                          description
                            "Last advertisement information of the atomic
    path";
                          container advertised-values {
                            description
                              "Advertised delay information";
                            leaf average {
                              type uint32;
                              description
                                "Average value (uSec)";
                            }
    
                            leaf minimum {
                              type uint32;
                              description
                                "Minimum value (uSec)";
                            }
    
                            leaf maximum {
                              type uint32;
                              description
                                "Maximum value (uSec)";
                            }
    
                            leaf variance {
                              type uint32;
                              description
                                "Variance value (uSec)";
                            }
                          }  // container advertised-values
    
                          leaf time-of-advertisement {
                            type uint64;
                            units "millisecond";
                            description
                              "Time of the advertisement (milliseconds since
    Jan. 1, 1970)";
                          }
    
                          leaf advertisement-reason {
                            type Pm-advert-reason;
                            description
                              "Reason for advertisement";
                          }
    
                          leaf aflag-set {
                            type boolean;
                            description
                              "A flag is set";
                          }
                        }  // container last-advertisement-information
    
                        container next-advertisement-information {
                          description
                            "Current advertisement information of the atomic
    path";
                          container advertisement-interval-values {
                            description
                              "Next advertisement values";
                            leaf average {
                              type uint32;
                              description
                                "Average value (uSec)";
                            }
    
                            leaf minimum {
                              type uint32;
                              description
                                "Minimum value (uSec)";
                            }
    
                            leaf maximum {
                              type uint32;
                              description
                                "Maximum value (uSec)";
                            }
    
                            leaf variance {
                              type uint32;
                              description
                                "Variance value (uSec)";
                            }
                          }  // container advertisement-interval-values
    
                          leaf advertisement-interval-probes-remaining {
                            type uint32;
                            description
                              "Probes remaining until next periodic
    advertisement check";
                          }
    
                          leaf rolling-average {
                            type uint32;
                            description
                              "Rolling average value (uSec)";
                          }
                        }  // container next-advertisement-information
    
                        container current-probe-results {
                          description
                            "Current probe results of the atomic path";
                          container probe-values {
                            description
                              "Summarized results of the probe";
                            leaf average {
                              type uint32;
                              description
                                "Average value (uSec)";
                            }
    
                            leaf minimum {
                              type uint32;
                              description
                                "Minimum value (uSec)";
                            }
    
                            leaf maximum {
                              type uint32;
                              description
                                "Maximum value (uSec)";
                            }
    
                            leaf variance {
                              type uint32;
                              description
                                "Variance value (uSec)";
                            }
                          }  // container probe-values
    
                          leaf number-of-packets-sent {
                            type uint32;
                            description
                              "Number of packets sent in the probe";
                          }
    
                          leaf number-of-packets-received {
                            type uint32;
                            description
                              "Number of packets received in the probe";
                          }
                        }  // container current-probe-results
    
                        container last-probe-results {
                          description
                            "Last probe results of the atomic path";
                          container probe-values {
                            description
                              "Summarized results of the probe";
                            leaf average {
                              type uint32;
                              description
                                "Average value (uSec)";
                            }
    
                            leaf minimum {
                              type uint32;
                              description
                                "Minimum value (uSec)";
                            }
    
                            leaf maximum {
                              type uint32;
                              description
                                "Maximum value (uSec)";
                            }
    
                            leaf variance {
                              type uint32;
                              description
                                "Variance value (uSec)";
                            }
                          }  // container probe-values
    
                          leaf number-of-packets-sent {
                            type uint32;
                            description
                              "Number of packets sent in the probe";
                          }
    
                          leaf number-of-packets-received {
                            type uint32;
                            description
                              "Number of packets received in the probe";
                          }
                        }  // container last-probe-results
    
                        container liveness-detection-info {
                          description
                            "Information for liveness detection";
                          leaf session-is-up {
                            type boolean;
                            description
                              "Liveness session state";
                          }
    
                          leaf miss-count {
                            type uint32;
                            description
                              "Number of continuously missed probe packets";
                          }
    
                          leaf last-session-state-change-timestamp {
                            type uint64;
                            description
                              "Timestamp of the last liveness session state
    change";
                          }
                        }  // container liveness-detection-info
    
                        container last-notification-control-code {
                          description
                            "Last notifcation control code received of the
    atomic path";
                          leaf control-code {
                            type uint8;
                            description
                              "MPLS PM RFC 6374 control code";
                          }
    
                          leaf timestamp {
                            type uint64;
                            units "millisecond";
                            description
                              "Received timestamp of the control code
    (milliseconds since Jan. 1, 1970)";
                          }
                        }  // container last-notification-control-code
    
                        container last-error-control-code {
                          description
                            "Last error control code received of the atomic
    path";
                          leaf control-code {
                            type uint8;
                            description
                              "MPLS PM RFC 6374 control code";
                          }
    
                          leaf timestamp {
                            type uint64;
                            units "millisecond";
                            description
                              "Received timestamp of the control code
    (milliseconds since Jan. 1, 1970)";
                          }
                        }  // container last-error-control-code
    
                        container responder-address {
                          description
                            "Address of the Responder";
                          leaf ip-address-type {
                            type Pm-addr;
                            description
                              "IPAddressType";
                          }
    
                          leaf ipv4 {
                            when
                              "../ip-address-type = 'ipv4'" {
                              description
                                "../IPAddressType = 'IPv4'";
                            }
                            type Pm-ipv4-addr;
                            description
                              "IPv4 address type";
                          }
    
                          leaf ipv6 {
                            when
                              "../ip-address-type = 'ipv6'" {
                              description
                                "../IPAddressType = 'IPv6'";
                            }
                            type Pm-ipv6-addr;
                            description
                              "IPv6 address type";
                          }
                        }  // container responder-address
    
                        leaf outgoing-interface {
                          type uint32;
                          description
                            "Outgoing interface of the atomic path";
                        }
    
                        leaf session-id {
                          type uint32;
                          description
                            "Session ID of the atomic path";
                        }
    
                        leaf liveness-detection-enabled {
                          type boolean;
                          description
                            "Liveness detection is enabled";
                        }
    
                        leaf query-number-of-hops {
                          type uint8;
                          description
                            "Number of hops traversed by the query packet";
                        }
    
                        list hop-address {
                          description
                            "Hop addresses list";
                          leaf ip-address-type {
                            type Pm-addr;
                            description
                              "IPAddressType";
                          }
    
                          leaf ipv4 {
                            when
                              "../ip-address-type = 'ipv4'" {
                              description
                                "../IPAddressType = 'IPv4'";
                            }
                            type Pm-ipv4-addr;
                            description
                              "IPv4 address type";
                          }
    
                          leaf ipv6 {
                            when
                              "../ip-address-type = 'ipv6'" {
                              description
                                "../IPAddressType = 'IPv6'";
                            }
                            type Pm-ipv6-addr;
                            description
                              "IPv6 address type";
                          }
                        }  // list hop-address
    
                        list label {
                          description
                            "MPLS labels of the atomic path";
                          leaf entry {
                            type uint32;
                            description
                              "MPLS labels of the atomic path";
                          }
                        }  // list label
    
                        list current-probe-history {
                          description
                            "Current probe history of the atomic path";
                          leaf measurement-value {
                            type uint64;
                            description
                              "Measurement value (nsec)";
                          }
    
                          leaf query-timestamp {
                            type uint64;
                            units "millisecond";
                            description
                              "Timestamp when the measurement was taken
    (milliseconds since Jan. 1, 1970)";
                          }
                        }  // list current-probe-history
                      }  // container atomic-path
    
                      leaf color {
                        type uint32;
                        description "Color";
                      }
    
                      leaf policy-name {
                        type string;
                        description
                          "Policy name";
                      }
    
                      leaf instance {
                        type uint32;
                        description
                          "Session instance";
                      }
    
                      leaf preference {
                        type uint32;
                        description "Preference";
                      }
    
                      leaf origin {
                        type Pm-xtc-srpolicy-origin;
                        description
                          "Protocol origin";
                      }
    
                      leaf discriminator {
                        type uint32;
                        description
                          "Discriminator";
                      }
    
                      leaf segment-list-name {
                        type string;
                        description
                          "Segment-list name";
                      }
                    }  // container sr-policy-session
    
                    container endpoint-session {
                      when
                        "../type = 'endpoiont-transport-type'" {
                        description
                          "../type = 'EndpoiontTransportType'";
                      }
                      description
                        "Endpoint session";
                      container end-point-dest-address {
                        description
                          "Endpoint destination address";
                        leaf ip-address-type {
                          type Pm-addr;
                          description
                            "IPAddressType";
                        }
    
                        leaf ipv4 {
                          when
                            "../ip-address-type = 'ipv4'" {
                            description
                              "../IPAddressType = 'IPv4'";
                          }
                          type Pm-ipv4-addr;
                          description
                            "IPv4 address type";
                        }
    
                        leaf ipv6 {
                          when
                            "../ip-address-type = 'ipv6'" {
                            description
                              "../IPAddressType = 'IPv6'";
                          }
                          type Pm-ipv6-addr;
                          description
                            "IPv6 address type";
                        }
                      }  // container end-point-dest-address
    
                      container end-point-src-address {
                        description
                          "Endpoint source address";
                        leaf ip-address-type {
                          type Pm-addr;
                          description
                            "IPAddressType";
                        }
    
                        leaf ipv4 {
                          when
                            "../ip-address-type = 'ipv4'" {
                            description
                              "../IPAddressType = 'IPv4'";
                          }
                          type Pm-ipv4-addr;
                          description
                            "IPv4 address type";
                        }
    
                        leaf ipv6 {
                          when
                            "../ip-address-type = 'ipv6'" {
                            description
                              "../IPAddressType = 'IPv6'";
                          }
                          type Pm-ipv6-addr;
                          description
                            "IPv6 address type";
                        }
                      }  // container end-point-src-address
    
                      container session {
                        description
                          "Endpoint session";
                        container current-probe {
                          description
                            "Information for the current probe";
                          container probe-results {
                            description
                              "Summarized  results of the current probe";
                            leaf average {
                              type uint32;
                              description
                                "Average value (uSec)";
                            }
    
                            leaf minimum {
                              type uint32;
                              description
                                "Minimum value (uSec)";
                            }
    
                            leaf maximum {
                              type uint32;
                              description
                                "Maximum value (uSec)";
                            }
    
                            leaf variance {
                              type uint32;
                              description
                                "Variance value (uSec)";
                            }
                          }  // container probe-results
    
                          leaf probe-start-time-stamp {
                            type uint64;
                            units "millisecond";
                            description
                              "Timestamp in milliseconds of the current probe
    start (milliseconds since Jan. 1, 1970)";
                          }
    
                          leaf next-probe-start-time-remaining-in-millisec {
                            type uint32;
                            units "millisecond";
                            description
                              "Time in milliseconds until the next probe starts";
                          }
    
                          leaf next-packet-sent-time-remaining-in-millisec {
                            type uint32;
                            units "millisecond";
                            description
                              "Time in milliseconds until the next packet is
    sent";
                          }
    
                          leaf burst-interval {
                            type uint32;
                            units "millisecond";
                            description
                              "Burst interval (in milliseconds)";
                          }
    
                          leaf burst-interval-is-stretched {
                            type boolean;
                            description
                              "True if the burst interval has been stretched
    for packet rate-limiting";
                          }
    
                          leaf number-of-packets-sent {
                            type uint32;
                            description
                              "Number of packets sent in the current probe";
                          }
    
                          leaf number-of-packets-received {
                            type uint32;
                            description
                              "Number of packets received in the current probe";
                          }
    
                          leaf probe-not-running-reason {
                            type Pm-probe-running-error-reason;
                            description
                              "Reason why probe is not running";
                          }
                        }  // container current-probe
    
                        container session-counters {
                          description
                            "Counters info for the session";
                          container generic-counters {
                            description
                              "Generic counters for a PM interface instance";
                            leaf query-packets-sent {
                              type uint64;
                              description
                                "Number of query packets sent";
                            }
    
                            leaf query-packet-sent-errors {
                              type uint64;
                              description
                                "Number of query packets sent error";
                            }
    
                            leaf query-packet-sent-error-no-ip-address {
                              type uint64;
                              description
                                "Number of query packets sent error caused by no
    IP address";
                            }
    
                            leaf query-packets-received {
                              type uint64;
                              description
                                "Number of received query packets";
                            }
    
                            leaf received-packet-error-negative-delay {
                              type uint64;
                              description
                                "Number of packet error caused by receiving
    negative delay";
                            }
    
                            leaf received-packet-error-delay-exceeds-threshold {
                              type uint64;
                              description
                                "Number of packet error caused by measured delay
    is invalid due to exceeding threshold";
                            }
    
                            leaf received-packet-error-missing-tx-timestamp {
                              type uint64;
                              description
                                "Number of packet error caused by received packet
    is missing Tx timestamp";
                            }
    
                            leaf received-packet-error-missing-rx-timestamp {
                              type uint64;
                              description
                                "Number of packet error caused by received packet
    is missing Rx timestamp";
                            }
    
                            leaf received-packet-error-probe-full {
                              type uint64;
                              description
                                "Number of packet error caused by receiving
    packet when probe is full";
                            }
    
                            leaf received-packet-error-probe-not-started {
                              type uint64;
                              description
                                "Number of packet error caused by receiving
    packet when probe is not started";
                            }
    
                            leaf received-packet-control-code-error {
                              type uint64;
                              description
                                "Number of packet error caused by a control code
    error from responder";
                            }
    
                            leaf received-packet-control-code-notification {
                              type uint64;
                              description
                                "Number of packet error caused by a control code
    notification from responder";
                            }
    
                            leaf probes-started {
                              type uint64;
                              description
                                "Number of probes started";
                            }
    
                            leaf probes-complete {
                              type uint64;
                              description
                                "Number of probes completed";
                            }
    
                            leaf probes-incomplete {
                              type uint64;
                              description
                                "Number of probes incomplete";
                            }
    
                            leaf advertisement {
                              type uint64;
                              description
                                "Number of advertisements";
                            }
                          }  // container generic-counters
    
                          container exclusive-counters {
                            description
                              "Exclusive counters for a PM interface instance";
                            container interface-exclusive-counters {
                              when
                                "../transport-type = 'interface-transport-type'" {
                                description
                                  "../TransportType = 'InterfaceTransportType'";
                              }
                              description
                                "Counters exclusive for interface";
                              leaf query-packet-sent-error-interface-down {
                                type uint64;
                                description
                                  "Number of query packets sent error caused by
    interface down";
                              }
    
                              leaf query-packet-sent-error-no-mpls-caps {
                                type uint64;
                                description
                                  "Number of query packets sent error caused by no
    MPLS caps";
                              }
    
                              leaf query-packet-sent-error-ipv4-down-with-v4-next-hop {
                                type uint64;
                                description
                                  "Number of query packets sent error caused by
    IPv4 protocl in down state with configured IPv4
    next hop";
                              }
    
                              leaf query-packet-sent-error-ipv6-down-with-v6-next-hop {
                                type uint64;
                                description
                                  "Number of query packets sent error caused by
    IPv6 protocl in down state with configured IPv6
    next hop";
                              }
    
                              leaf query-packet-sent-error-ipv4ipv6-down-without-next-hop {
                                type uint64;
                                description
                                  "Number of query packets sent error caused by
    both IPv4 and IPv6 protocl in down state without
    configured next hop";
                              }
    
                              leaf query-packet-sent-error-next-hop-mac-missing {
                                type uint64;
                                description
                                  "Number of query packets sent error caused by
    missing next hop MAC";
                              }
                            }  // container interface-exclusive-counters
    
                            container sr-policy-exclusive-counters {
                              when
                                "../transport-type = 'sr-policy-transport-type'" {
                                description
                                  "../TransportType = 'SRPolicyTransportType'";
                              }
                              description
                                "Counters exclusive for SR Policies";
                              leaf liveness-detection-missed-count {
                                type uint64;
                                description
                                  "Number of missed packets";
                              }
                            }  // container sr-policy-exclusive-counters
    
                            container endpoint-exclusive-counters {
                              when
                                "../transport-type = 'endpoiont-transport-type'" {
                                description
                                  "../TransportType = 'EndpoiontTransportType'";
                              }
                              description
                                "Counters exclusive for Endpoint";
                              leaf query-packets-sent-error-sl-label-missing {
                                type uint64;
                                description
                                  "Number of query packets sent error caused by
    Missing Segment list Labels";
                              }
    
                              leaf liveness-detection-missed-count {
                                type uint64;
                                description
                                  "Number of missed packets";
                              }
                            }  // container endpoint-exclusive-counters
    
                            leaf transport-type {
                              type Pm-transport;
                              description
                                "TransportType";
                            }
                          }  // container exclusive-counters
                        }  // container session-counters
    
                        container last-advertisement-information {
                          description
                            "Last advertisement information of the session";
                          container advertised-values {
                            description
                              "Advertised delay information";
                            leaf average {
                              type uint32;
                              description
                                "Average value (uSec)";
                            }
    
                            leaf minimum {
                              type uint32;
                              description
                                "Minimum value (uSec)";
                            }
    
                            leaf maximum {
                              type uint32;
                              description
                                "Maximum value (uSec)";
                            }
    
                            leaf variance {
                              type uint32;
                              description
                                "Variance value (uSec)";
                            }
                          }  // container advertised-values
    
                          leaf time-of-advertisement {
                            type uint64;
                            units "millisecond";
                            description
                              "Time of the advertisement (milliseconds since
    Jan. 1, 1970)";
                          }
    
                          leaf advertisement-reason {
                            type Pm-advert-reason;
                            description
                              "Reason for advertisement";
                          }
    
                          leaf aflag-set {
                            type boolean;
                            description
                              "A flag is set";
                          }
                        }  // container last-advertisement-information
    
                        container next-advertisement-information {
                          description
                            "Next advertisement information of the session";
                          container advertisement-interval-values {
                            description
                              "Next advertisement values";
                            leaf average {
                              type uint32;
                              description
                                "Average value (uSec)";
                            }
    
                            leaf minimum {
                              type uint32;
                              description
                                "Minimum value (uSec)";
                            }
    
                            leaf maximum {
                              type uint32;
                              description
                                "Maximum value (uSec)";
                            }
    
                            leaf variance {
                              type uint32;
                              description
                                "Variance value (uSec)";
                            }
                          }  // container advertisement-interval-values
    
                          leaf advertisement-interval-probes-remaining {
                            type uint32;
                            description
                              "Probes remaining until next periodic
    advertisement check";
                          }
    
                          leaf rolling-average {
                            type uint32;
                            description
                              "Rolling average value (uSec)";
                          }
                        }  // container next-advertisement-information
    
                        container last-notification-control-code {
                          description
                            "Last notifcation control code received of the
    session";
                          leaf control-code {
                            type uint8;
                            description
                              "MPLS PM RFC 6374 control code";
                          }
    
                          leaf timestamp {
                            type uint64;
                            units "millisecond";
                            description
                              "Received timestamp of the control code
    (milliseconds since Jan. 1, 1970)";
                          }
                        }  // container last-notification-control-code
    
                        container last-error-control-code {
                          description
                            "Last error control code received of the session";
                          leaf control-code {
                            type uint8;
                            description
                              "MPLS PM RFC 6374 control code";
                          }
    
                          leaf timestamp {
                            type uint64;
                            units "millisecond";
                            description
                              "Received timestamp of the control code
    (milliseconds since Jan. 1, 1970)";
                          }
                        }  // container last-error-control-code
    
                        container responder-address {
                          description
                            "Address of the Responder";
                          leaf ip-address-type {
                            type Pm-addr;
                            description
                              "IPAddressType";
                          }
    
                          leaf ipv4 {
                            when
                              "../ip-address-type = 'ipv4'" {
                              description
                                "../IPAddressType = 'IPv4'";
                            }
                            type Pm-ipv4-addr;
                            description
                              "IPv4 address type";
                          }
    
                          leaf ipv6 {
                            when
                              "../ip-address-type = 'ipv6'" {
                              description
                                "../IPAddressType = 'IPv6'";
                            }
                            type Pm-ipv6-addr;
                            description
                              "IPv6 address type";
                          }
                        }  // container responder-address
    
                        leaf session-id {
                          type uint32;
                          description
                            "ID of the session";
                        }
    
                        leaf transport-type {
                          type Pm-transport;
                          description
                            "Transport Type of the session";
                        }
    
                        leaf measurement-type {
                          type Pm-measurement;
                          description
                            "Measurement Type of the session";
                        }
    
                        leaf profile-name {
                          type string;
                          description
                            "Interface delay-measurement profile name";
                        }
    
                        leaf periodic-advertisement-interval-in-sec {
                          type uint32;
                          units "second";
                          description
                            "Interval of periodic advertisement in seconds";
                        }
    
                        leaf query-number-of-hops {
                          type uint8;
                          description
                            "Number of hops traversed by the query packet";
                        }
    
                        list probe-history {
                          description
                            "Current probe history";
                          leaf measurement-value {
                            type uint64;
                            description
                              "Measurement value (nsec)";
                          }
    
                          leaf query-timestamp {
                            type uint64;
                            units "millisecond";
                            description
                              "Timestamp when the measurement was taken
    (milliseconds since Jan. 1, 1970)";
                          }
                        }  // list probe-history
                      }  // container session
    
                      leaf endpoint-name {
                        type string;
                        description
                          "Endpoint name";
                      }
    
                      leaf vrf-name {
                        type string;
                        description "VRF name";
                      }
    
                      leaf segment-list-name {
                        type string;
                        description
                          "Segment-list name";
                      }
                    }  // container endpoint-session
    
                    leaf type {
                      type Pm-transport;
                      description "type";
                    }
                  }  // container session
    
                  leaf measurement-type {
                    type Pm-measurement;
                    description
                      "Measurement type";
                  }
                }  // list session
              }  // container sessions
    
              container summary {
                description
                  "Summary information for all the measurement
                 and transportation type on querier";
                container delay-summary {
                  description
                    "Summary info of delay measurement";
                  container endpoint-delay-summary {
                    description
                      "Summary of Endpoint delay measurement";
                    container delay-session-counters {
                      description
                        "PM delay session counters for a transport type";
                      leaf total-delay-sessions {
                        type uint32;
                        description
                          "Number of delay measurement sessions enabled";
                      }
    
                      leaf total-probe-running-with-error-delay-sessions {
                        type uint32;
                        description
                          "Number of running with error delay measurement
    sessions";
                      }
    
                      leaf total-probe-running-delay-sessions {
                        type uint32;
                        description
                          "Number of running delay measurement sessions";
                      }
    
                      leaf total-probe-running-ipv4-delay-sessions {
                        type uint32;
                        description
                          "Number of running ipv4 delay measurement
    sessions";
                      }
    
                      leaf total-probe-running-ipv6-delay-sessions {
                        type uint32;
                        description
                          "Number of running ipv6 delay measurement
    sessions";
                      }
    
                      leaf total-probe-running-mpls-delay-sessions {
                        type uint32;
                        description
                          "Number of running mpls delay measurement
    sessions";
                      }
                    }  // container delay-session-counters
    
                    container delay-transport-counters {
                      description
                        "PM delay counters for a transport types";
                      container generic-counters {
                        description
                          "Generic counters for a PM interface instance";
                        leaf query-packets-sent {
                          type uint64;
                          description
                            "Number of query packets sent";
                        }
    
                        leaf query-packet-sent-errors {
                          type uint64;
                          description
                            "Number of query packets sent error";
                        }
    
                        leaf query-packet-sent-error-no-ip-address {
                          type uint64;
                          description
                            "Number of query packets sent error caused by no
    IP address";
                        }
    
                        leaf query-packets-received {
                          type uint64;
                          description
                            "Number of received query packets";
                        }
    
                        leaf received-packet-error-negative-delay {
                          type uint64;
                          description
                            "Number of packet error caused by receiving
    negative delay";
                        }
    
                        leaf received-packet-error-delay-exceeds-threshold {
                          type uint64;
                          description
                            "Number of packet error caused by measured delay
    is invalid due to exceeding threshold";
                        }
    
                        leaf received-packet-error-missing-tx-timestamp {
                          type uint64;
                          description
                            "Number of packet error caused by received packet
    is missing Tx timestamp";
                        }
    
                        leaf received-packet-error-missing-rx-timestamp {
                          type uint64;
                          description
                            "Number of packet error caused by received packet
    is missing Rx timestamp";
                        }
    
                        leaf received-packet-error-probe-full {
                          type uint64;
                          description
                            "Number of packet error caused by receiving
    packet when probe is full";
                        }
    
                        leaf received-packet-error-probe-not-started {
                          type uint64;
                          description
                            "Number of packet error caused by receiving
    packet when probe is not started";
                        }
    
                        leaf received-packet-control-code-error {
                          type uint64;
                          description
                            "Number of packet error caused by a control code
    error from responder";
                        }
    
                        leaf received-packet-control-code-notification {
                          type uint64;
                          description
                            "Number of packet error caused by a control code
    notification from responder";
                        }
    
                        leaf probes-started {
                          type uint64;
                          description
                            "Number of probes started";
                        }
    
                        leaf probes-complete {
                          type uint64;
                          description
                            "Number of probes completed";
                        }
    
                        leaf probes-incomplete {
                          type uint64;
                          description
                            "Number of probes incomplete";
                        }
    
                        leaf advertisement {
                          type uint64;
                          description
                            "Number of advertisements";
                        }
                      }  // container generic-counters
    
                      container exclusive-counters {
                        description
                          "Exclusive counters for a PM interface instance";
                        container interface-exclusive-counters {
                          when
                            "../transport-type = 'interface-transport-type'" {
                            description
                              "../TransportType = 'InterfaceTransportType'";
                          }
                          description
                            "Counters exclusive for interface";
                          leaf query-packet-sent-error-interface-down {
                            type uint64;
                            description
                              "Number of query packets sent error caused by
    interface down";
                          }
    
                          leaf query-packet-sent-error-no-mpls-caps {
                            type uint64;
                            description
                              "Number of query packets sent error caused by no
    MPLS caps";
                          }
    
                          leaf query-packet-sent-error-ipv4-down-with-v4-next-hop {
                            type uint64;
                            description
                              "Number of query packets sent error caused by
    IPv4 protocl in down state with configured IPv4
    next hop";
                          }
    
                          leaf query-packet-sent-error-ipv6-down-with-v6-next-hop {
                            type uint64;
                            description
                              "Number of query packets sent error caused by
    IPv6 protocl in down state with configured IPv6
    next hop";
                          }
    
                          leaf query-packet-sent-error-ipv4ipv6-down-without-next-hop {
                            type uint64;
                            description
                              "Number of query packets sent error caused by
    both IPv4 and IPv6 protocl in down state without
    configured next hop";
                          }
    
                          leaf query-packet-sent-error-next-hop-mac-missing {
                            type uint64;
                            description
                              "Number of query packets sent error caused by
    missing next hop MAC";
                          }
                        }  // container interface-exclusive-counters
    
                        container sr-policy-exclusive-counters {
                          when
                            "../transport-type = 'sr-policy-transport-type'" {
                            description
                              "../TransportType = 'SRPolicyTransportType'";
                          }
                          description
                            "Counters exclusive for SR Policies";
                          leaf liveness-detection-missed-count {
                            type uint64;
                            description
                              "Number of missed packets";
                          }
                        }  // container sr-policy-exclusive-counters
    
                        container endpoint-exclusive-counters {
                          when
                            "../transport-type = 'endpoiont-transport-type'" {
                            description
                              "../TransportType = 'EndpoiontTransportType'";
                          }
                          description
                            "Counters exclusive for Endpoint";
                          leaf query-packets-sent-error-sl-label-missing {
                            type uint64;
                            description
                              "Number of query packets sent error caused by
    Missing Segment list Labels";
                          }
    
                          leaf liveness-detection-missed-count {
                            type uint64;
                            description
                              "Number of missed packets";
                          }
                        }  // container endpoint-exclusive-counters
    
                        leaf transport-type {
                          type Pm-transport;
                          description
                            "TransportType";
                        }
                      }  // container exclusive-counters
                    }  // container delay-transport-counters
                  }  // container endpoint-delay-summary
    
                  container interface-delay-summary {
                    description
                      "Summary info of Interface delay measurement";
                    container delay-session-counters {
                      description
                        "PM delay session counters for a transport type";
                      leaf total-delay-sessions {
                        type uint32;
                        description
                          "Number of delay measurement sessions enabled";
                      }
    
                      leaf total-probe-running-with-error-delay-sessions {
                        type uint32;
                        description
                          "Number of running with error delay measurement
    sessions";
                      }
    
                      leaf total-probe-running-delay-sessions {
                        type uint32;
                        description
                          "Number of running delay measurement sessions";
                      }
    
                      leaf total-probe-running-ipv4-delay-sessions {
                        type uint32;
                        description
                          "Number of running ipv4 delay measurement
    sessions";
                      }
    
                      leaf total-probe-running-ipv6-delay-sessions {
                        type uint32;
                        description
                          "Number of running ipv6 delay measurement
    sessions";
                      }
    
                      leaf total-probe-running-mpls-delay-sessions {
                        type uint32;
                        description
                          "Number of running mpls delay measurement
    sessions";
                      }
                    }  // container delay-session-counters
    
                    container delay-transport-counters {
                      description
                        "PM delay counters for a transport types";
                      container generic-counters {
                        description
                          "Generic counters for a PM interface instance";
                        leaf query-packets-sent {
                          type uint64;
                          description
                            "Number of query packets sent";
                        }
    
                        leaf query-packet-sent-errors {
                          type uint64;
                          description
                            "Number of query packets sent error";
                        }
    
                        leaf query-packet-sent-error-no-ip-address {
                          type uint64;
                          description
                            "Number of query packets sent error caused by no
    IP address";
                        }
    
                        leaf query-packets-received {
                          type uint64;
                          description
                            "Number of received query packets";
                        }
    
                        leaf received-packet-error-negative-delay {
                          type uint64;
                          description
                            "Number of packet error caused by receiving
    negative delay";
                        }
    
                        leaf received-packet-error-delay-exceeds-threshold {
                          type uint64;
                          description
                            "Number of packet error caused by measured delay
    is invalid due to exceeding threshold";
                        }
    
                        leaf received-packet-error-missing-tx-timestamp {
                          type uint64;
                          description
                            "Number of packet error caused by received packet
    is missing Tx timestamp";
                        }
    
                        leaf received-packet-error-missing-rx-timestamp {
                          type uint64;
                          description
                            "Number of packet error caused by received packet
    is missing Rx timestamp";
                        }
    
                        leaf received-packet-error-probe-full {
                          type uint64;
                          description
                            "Number of packet error caused by receiving
    packet when probe is full";
                        }
    
                        leaf received-packet-error-probe-not-started {
                          type uint64;
                          description
                            "Number of packet error caused by receiving
    packet when probe is not started";
                        }
    
                        leaf received-packet-control-code-error {
                          type uint64;
                          description
                            "Number of packet error caused by a control code
    error from responder";
                        }
    
                        leaf received-packet-control-code-notification {
                          type uint64;
                          description
                            "Number of packet error caused by a control code
    notification from responder";
                        }
    
                        leaf probes-started {
                          type uint64;
                          description
                            "Number of probes started";
                        }
    
                        leaf probes-complete {
                          type uint64;
                          description
                            "Number of probes completed";
                        }
    
                        leaf probes-incomplete {
                          type uint64;
                          description
                            "Number of probes incomplete";
                        }
    
                        leaf advertisement {
                          type uint64;
                          description
                            "Number of advertisements";
                        }
                      }  // container generic-counters
    
                      container exclusive-counters {
                        description
                          "Exclusive counters for a PM interface instance";
                        container interface-exclusive-counters {
                          when
                            "../transport-type = 'interface-transport-type'" {
                            description
                              "../TransportType = 'InterfaceTransportType'";
                          }
                          description
                            "Counters exclusive for interface";
                          leaf query-packet-sent-error-interface-down {
                            type uint64;
                            description
                              "Number of query packets sent error caused by
    interface down";
                          }
    
                          leaf query-packet-sent-error-no-mpls-caps {
                            type uint64;
                            description
                              "Number of query packets sent error caused by no
    MPLS caps";
                          }
    
                          leaf query-packet-sent-error-ipv4-down-with-v4-next-hop {
                            type uint64;
                            description
                              "Number of query packets sent error caused by
    IPv4 protocl in down state with configured IPv4
    next hop";
                          }
    
                          leaf query-packet-sent-error-ipv6-down-with-v6-next-hop {
                            type uint64;
                            description
                              "Number of query packets sent error caused by
    IPv6 protocl in down state with configured IPv6
    next hop";
                          }
    
                          leaf query-packet-sent-error-ipv4ipv6-down-without-next-hop {
                            type uint64;
                            description
                              "Number of query packets sent error caused by
    both IPv4 and IPv6 protocl in down state without
    configured next hop";
                          }
    
                          leaf query-packet-sent-error-next-hop-mac-missing {
                            type uint64;
                            description
                              "Number of query packets sent error caused by
    missing next hop MAC";
                          }
                        }  // container interface-exclusive-counters
    
                        container sr-policy-exclusive-counters {
                          when
                            "../transport-type = 'sr-policy-transport-type'" {
                            description
                              "../TransportType = 'SRPolicyTransportType'";
                          }
                          description
                            "Counters exclusive for SR Policies";
                          leaf liveness-detection-missed-count {
                            type uint64;
                            description
                              "Number of missed packets";
                          }
                        }  // container sr-policy-exclusive-counters
    
                        container endpoint-exclusive-counters {
                          when
                            "../transport-type = 'endpoiont-transport-type'" {
                            description
                              "../TransportType = 'EndpoiontTransportType'";
                          }
                          description
                            "Counters exclusive for Endpoint";
                          leaf query-packets-sent-error-sl-label-missing {
                            type uint64;
                            description
                              "Number of query packets sent error caused by
    Missing Segment list Labels";
                          }
    
                          leaf liveness-detection-missed-count {
                            type uint64;
                            description
                              "Number of missed packets";
                          }
                        }  // container endpoint-exclusive-counters
    
                        leaf transport-type {
                          type Pm-transport;
                          description
                            "TransportType";
                        }
                      }  // container exclusive-counters
                    }  // container delay-transport-counters
                  }  // container interface-delay-summary
    
                  container sr-policy-delay-summary {
                    description
                      "Summary of SR Policy delay measurement";
                    container delay-session-counters {
                      description
                        "PM delay session counters for a transport type";
                      leaf total-delay-sessions {
                        type uint32;
                        description
                          "Number of delay measurement sessions enabled";
                      }
    
                      leaf total-probe-running-with-error-delay-sessions {
                        type uint32;
                        description
                          "Number of running with error delay measurement
    sessions";
                      }
    
                      leaf total-probe-running-delay-sessions {
                        type uint32;
                        description
                          "Number of running delay measurement sessions";
                      }
    
                      leaf total-probe-running-ipv4-delay-sessions {
                        type uint32;
                        description
                          "Number of running ipv4 delay measurement
    sessions";
                      }
    
                      leaf total-probe-running-ipv6-delay-sessions {
                        type uint32;
                        description
                          "Number of running ipv6 delay measurement
    sessions";
                      }
    
                      leaf total-probe-running-mpls-delay-sessions {
                        type uint32;
                        description
                          "Number of running mpls delay measurement
    sessions";
                      }
                    }  // container delay-session-counters
    
                    container delay-transport-counters {
                      description
                        "PM delay counters for a transport types";
                      container generic-counters {
                        description
                          "Generic counters for a PM interface instance";
                        leaf query-packets-sent {
                          type uint64;
                          description
                            "Number of query packets sent";
                        }
    
                        leaf query-packet-sent-errors {
                          type uint64;
                          description
                            "Number of query packets sent error";
                        }
    
                        leaf query-packet-sent-error-no-ip-address {
                          type uint64;
                          description
                            "Number of query packets sent error caused by no
    IP address";
                        }
    
                        leaf query-packets-received {
                          type uint64;
                          description
                            "Number of received query packets";
                        }
    
                        leaf received-packet-error-negative-delay {
                          type uint64;
                          description
                            "Number of packet error caused by receiving
    negative delay";
                        }
    
                        leaf received-packet-error-delay-exceeds-threshold {
                          type uint64;
                          description
                            "Number of packet error caused by measured delay
    is invalid due to exceeding threshold";
                        }
    
                        leaf received-packet-error-missing-tx-timestamp {
                          type uint64;
                          description
                            "Number of packet error caused by received packet
    is missing Tx timestamp";
                        }
    
                        leaf received-packet-error-missing-rx-timestamp {
                          type uint64;
                          description
                            "Number of packet error caused by received packet
    is missing Rx timestamp";
                        }
    
                        leaf received-packet-error-probe-full {
                          type uint64;
                          description
                            "Number of packet error caused by receiving
    packet when probe is full";
                        }
    
                        leaf received-packet-error-probe-not-started {
                          type uint64;
                          description
                            "Number of packet error caused by receiving
    packet when probe is not started";
                        }
    
                        leaf received-packet-control-code-error {
                          type uint64;
                          description
                            "Number of packet error caused by a control code
    error from responder";
                        }
    
                        leaf received-packet-control-code-notification {
                          type uint64;
                          description
                            "Number of packet error caused by a control code
    notification from responder";
                        }
    
                        leaf probes-started {
                          type uint64;
                          description
                            "Number of probes started";
                        }
    
                        leaf probes-complete {
                          type uint64;
                          description
                            "Number of probes completed";
                        }
    
                        leaf probes-incomplete {
                          type uint64;
                          description
                            "Number of probes incomplete";
                        }
    
                        leaf advertisement {
                          type uint64;
                          description
                            "Number of advertisements";
                        }
                      }  // container generic-counters
    
                      container exclusive-counters {
                        description
                          "Exclusive counters for a PM interface instance";
                        container interface-exclusive-counters {
                          when
                            "../transport-type = 'interface-transport-type'" {
                            description
                              "../TransportType = 'InterfaceTransportType'";
                          }
                          description
                            "Counters exclusive for interface";
                          leaf query-packet-sent-error-interface-down {
                            type uint64;
                            description
                              "Number of query packets sent error caused by
    interface down";
                          }
    
                          leaf query-packet-sent-error-no-mpls-caps {
                            type uint64;
                            description
                              "Number of query packets sent error caused by no
    MPLS caps";
                          }
    
                          leaf query-packet-sent-error-ipv4-down-with-v4-next-hop {
                            type uint64;
                            description
                              "Number of query packets sent error caused by
    IPv4 protocl in down state with configured IPv4
    next hop";
                          }
    
                          leaf query-packet-sent-error-ipv6-down-with-v6-next-hop {
                            type uint64;
                            description
                              "Number of query packets sent error caused by
    IPv6 protocl in down state with configured IPv6
    next hop";
                          }
    
                          leaf query-packet-sent-error-ipv4ipv6-down-without-next-hop {
                            type uint64;
                            description
                              "Number of query packets sent error caused by
    both IPv4 and IPv6 protocl in down state without
    configured next hop";
                          }
    
                          leaf query-packet-sent-error-next-hop-mac-missing {
                            type uint64;
                            description
                              "Number of query packets sent error caused by
    missing next hop MAC";
                          }
                        }  // container interface-exclusive-counters
    
                        container sr-policy-exclusive-counters {
                          when
                            "../transport-type = 'sr-policy-transport-type'" {
                            description
                              "../TransportType = 'SRPolicyTransportType'";
                          }
                          description
                            "Counters exclusive for SR Policies";
                          leaf liveness-detection-missed-count {
                            type uint64;
                            description
                              "Number of missed packets";
                          }
                        }  // container sr-policy-exclusive-counters
    
                        container endpoint-exclusive-counters {
                          when
                            "../transport-type = 'endpoiont-transport-type'" {
                            description
                              "../TransportType = 'EndpoiontTransportType'";
                          }
                          description
                            "Counters exclusive for Endpoint";
                          leaf query-packets-sent-error-sl-label-missing {
                            type uint64;
                            description
                              "Number of query packets sent error caused by
    Missing Segment list Labels";
                          }
    
                          leaf liveness-detection-missed-count {
                            type uint64;
                            description
                              "Number of missed packets";
                          }
                        }  // container endpoint-exclusive-counters
    
                        leaf transport-type {
                          type Pm-transport;
                          description
                            "TransportType";
                        }
                      }  // container exclusive-counters
                    }  // container delay-transport-counters
                  }  // container sr-policy-delay-summary
    
                  container rsvp-te-delay-summary {
                    description
                      "Summary of RSVP-TE delay measurement";
                    container delay-session-counters {
                      description
                        "PM delay session counters for a transport type";
                      leaf total-delay-sessions {
                        type uint32;
                        description
                          "Number of delay measurement sessions enabled";
                      }
    
                      leaf total-probe-running-with-error-delay-sessions {
                        type uint32;
                        description
                          "Number of running with error delay measurement
    sessions";
                      }
    
                      leaf total-probe-running-delay-sessions {
                        type uint32;
                        description
                          "Number of running delay measurement sessions";
                      }
    
                      leaf total-probe-running-ipv4-delay-sessions {
                        type uint32;
                        description
                          "Number of running ipv4 delay measurement
    sessions";
                      }
    
                      leaf total-probe-running-ipv6-delay-sessions {
                        type uint32;
                        description
                          "Number of running ipv6 delay measurement
    sessions";
                      }
    
                      leaf total-probe-running-mpls-delay-sessions {
                        type uint32;
                        description
                          "Number of running mpls delay measurement
    sessions";
                      }
                    }  // container delay-session-counters
    
                    container delay-transport-counters {
                      description
                        "PM delay counters for a transport types";
                      container generic-counters {
                        description
                          "Generic counters for a PM interface instance";
                        leaf query-packets-sent {
                          type uint64;
                          description
                            "Number of query packets sent";
                        }
    
                        leaf query-packet-sent-errors {
                          type uint64;
                          description
                            "Number of query packets sent error";
                        }
    
                        leaf query-packet-sent-error-no-ip-address {
                          type uint64;
                          description
                            "Number of query packets sent error caused by no
    IP address";
                        }
    
                        leaf query-packets-received {
                          type uint64;
                          description
                            "Number of received query packets";
                        }
    
                        leaf received-packet-error-negative-delay {
                          type uint64;
                          description
                            "Number of packet error caused by receiving
    negative delay";
                        }
    
                        leaf received-packet-error-delay-exceeds-threshold {
                          type uint64;
                          description
                            "Number of packet error caused by measured delay
    is invalid due to exceeding threshold";
                        }
    
                        leaf received-packet-error-missing-tx-timestamp {
                          type uint64;
                          description
                            "Number of packet error caused by received packet
    is missing Tx timestamp";
                        }
    
                        leaf received-packet-error-missing-rx-timestamp {
                          type uint64;
                          description
                            "Number of packet error caused by received packet
    is missing Rx timestamp";
                        }
    
                        leaf received-packet-error-probe-full {
                          type uint64;
                          description
                            "Number of packet error caused by receiving
    packet when probe is full";
                        }
    
                        leaf received-packet-error-probe-not-started {
                          type uint64;
                          description
                            "Number of packet error caused by receiving
    packet when probe is not started";
                        }
    
                        leaf received-packet-control-code-error {
                          type uint64;
                          description
                            "Number of packet error caused by a control code
    error from responder";
                        }
    
                        leaf received-packet-control-code-notification {
                          type uint64;
                          description
                            "Number of packet error caused by a control code
    notification from responder";
                        }
    
                        leaf probes-started {
                          type uint64;
                          description
                            "Number of probes started";
                        }
    
                        leaf probes-complete {
                          type uint64;
                          description
                            "Number of probes completed";
                        }
    
                        leaf probes-incomplete {
                          type uint64;
                          description
                            "Number of probes incomplete";
                        }
    
                        leaf advertisement {
                          type uint64;
                          description
                            "Number of advertisements";
                        }
                      }  // container generic-counters
    
                      container exclusive-counters {
                        description
                          "Exclusive counters for a PM interface instance";
                        container interface-exclusive-counters {
                          when
                            "../transport-type = 'interface-transport-type'" {
                            description
                              "../TransportType = 'InterfaceTransportType'";
                          }
                          description
                            "Counters exclusive for interface";
                          leaf query-packet-sent-error-interface-down {
                            type uint64;
                            description
                              "Number of query packets sent error caused by
    interface down";
                          }
    
                          leaf query-packet-sent-error-no-mpls-caps {
                            type uint64;
                            description
                              "Number of query packets sent error caused by no
    MPLS caps";
                          }
    
                          leaf query-packet-sent-error-ipv4-down-with-v4-next-hop {
                            type uint64;
                            description
                              "Number of query packets sent error caused by
    IPv4 protocl in down state with configured IPv4
    next hop";
                          }
    
                          leaf query-packet-sent-error-ipv6-down-with-v6-next-hop {
                            type uint64;
                            description
                              "Number of query packets sent error caused by
    IPv6 protocl in down state with configured IPv6
    next hop";
                          }
    
                          leaf query-packet-sent-error-ipv4ipv6-down-without-next-hop {
                            type uint64;
                            description
                              "Number of query packets sent error caused by
    both IPv4 and IPv6 protocl in down state without
    configured next hop";
                          }
    
                          leaf query-packet-sent-error-next-hop-mac-missing {
                            type uint64;
                            description
                              "Number of query packets sent error caused by
    missing next hop MAC";
                          }
                        }  // container interface-exclusive-counters
    
                        container sr-policy-exclusive-counters {
                          when
                            "../transport-type = 'sr-policy-transport-type'" {
                            description
                              "../TransportType = 'SRPolicyTransportType'";
                          }
                          description
                            "Counters exclusive for SR Policies";
                          leaf liveness-detection-missed-count {
                            type uint64;
                            description
                              "Number of missed packets";
                          }
                        }  // container sr-policy-exclusive-counters
    
                        container endpoint-exclusive-counters {
                          when
                            "../transport-type = 'endpoiont-transport-type'" {
                            description
                              "../TransportType = 'EndpoiontTransportType'";
                          }
                          description
                            "Counters exclusive for Endpoint";
                          leaf query-packets-sent-error-sl-label-missing {
                            type uint64;
                            description
                              "Number of query packets sent error caused by
    Missing Segment list Labels";
                          }
    
                          leaf liveness-detection-missed-count {
                            type uint64;
                            description
                              "Number of missed packets";
                          }
                        }  // container endpoint-exclusive-counters
    
                        leaf transport-type {
                          type Pm-transport;
                          description
                            "TransportType";
                        }
                      }  // container exclusive-counters
                    }  // container delay-transport-counters
                  }  // container rsvp-te-delay-summary
    
                  container delay-global-counters {
                    description
                      "Global counters for PM delay measurement";
                    leaf query-packets-sent {
                      type uint64;
                      description
                        "Number of query packets sent";
                    }
    
                    leaf query-packets-received {
                      type uint64;
                      description
                        "Number of received query packets";
                    }
    
                    leaf received-packet-error-invalid-session-id {
                      type uint64;
                      description
                        "Number of received packet error caused by
    invalid session ID";
                    }
    
                    leaf received-packet-error-no-session {
                      type uint64;
                      description
                        "Number of received packet error caused by no
    session";
                    }
                  }  // container delay-global-counters
                }  // container delay-summary
    
                container loss-summary {
                  description "Loss summary";
                  container interface-loss-summary {
                    description
                      "Interface loss summary";
                    container loss-transport-counters {
                      description
                        "TODO: PM loss counters for a transport types";
                      container generic-counters {
                        description
                          "Generic counters for a PM interface instance";
                        leaf query-packets-sent {
                          type uint64;
                          description
                            "Number of query packets sent";
                        }
    
                        leaf query-packet-sent-errors {
                          type uint64;
                          description
                            "Number of query packets sent error";
                        }
    
                        leaf query-packet-sent-error-no-ip-address {
                          type uint64;
                          description
                            "Number of query packets sent error caused by no
    IP address";
                        }
    
                        leaf query-packets-received {
                          type uint64;
                          description
                            "Number of received query packets";
                        }
    
                        leaf received-packet-error-negative-delay {
                          type uint64;
                          description
                            "Number of packet error caused by receiving
    negative delay";
                        }
    
                        leaf received-packet-error-delay-exceeds-threshold {
                          type uint64;
                          description
                            "Number of packet error caused by measured delay
    is invalid due to exceeding threshold";
                        }
    
                        leaf received-packet-error-missing-tx-timestamp {
                          type uint64;
                          description
                            "Number of packet error caused by received packet
    is missing Tx timestamp";
                        }
    
                        leaf received-packet-error-missing-rx-timestamp {
                          type uint64;
                          description
                            "Number of packet error caused by received packet
    is missing Rx timestamp";
                        }
    
                        leaf received-packet-error-probe-full {
                          type uint64;
                          description
                            "Number of packet error caused by receiving
    packet when probe is full";
                        }
    
                        leaf received-packet-error-probe-not-started {
                          type uint64;
                          description
                            "Number of packet error caused by receiving
    packet when probe is not started";
                        }
    
                        leaf received-packet-control-code-error {
                          type uint64;
                          description
                            "Number of packet error caused by a control code
    error from responder";
                        }
    
                        leaf received-packet-control-code-notification {
                          type uint64;
                          description
                            "Number of packet error caused by a control code
    notification from responder";
                        }
    
                        leaf probes-started {
                          type uint64;
                          description
                            "Number of probes started";
                        }
    
                        leaf probes-complete {
                          type uint64;
                          description
                            "Number of probes completed";
                        }
    
                        leaf probes-incomplete {
                          type uint64;
                          description
                            "Number of probes incomplete";
                        }
    
                        leaf advertisement {
                          type uint64;
                          description
                            "Number of advertisements";
                        }
                      }  // container generic-counters
    
                      container exclusive-counters {
                        description
                          "Exclusive counters for a PM interface instance";
                        container interface-exclusive-counters {
                          when
                            "../transport-type = 'interface-transport-type'" {
                            description
                              "../TransportType = 'InterfaceTransportType'";
                          }
                          description
                            "Counters exclusive for interface";
                          leaf query-packet-sent-error-interface-down {
                            type uint64;
                            description
                              "Number of query packets sent error caused by
    interface down";
                          }
    
                          leaf query-packet-sent-error-no-mpls-caps {
                            type uint64;
                            description
                              "Number of query packets sent error caused by no
    MPLS caps";
                          }
    
                          leaf query-packet-sent-error-ipv4-down-with-v4-next-hop {
                            type uint64;
                            description
                              "Number of query packets sent error caused by
    IPv4 protocl in down state with configured IPv4
    next hop";
                          }
    
                          leaf query-packet-sent-error-ipv6-down-with-v6-next-hop {
                            type uint64;
                            description
                              "Number of query packets sent error caused by
    IPv6 protocl in down state with configured IPv6
    next hop";
                          }
    
                          leaf query-packet-sent-error-ipv4ipv6-down-without-next-hop {
                            type uint64;
                            description
                              "Number of query packets sent error caused by
    both IPv4 and IPv6 protocl in down state without
    configured next hop";
                          }
    
                          leaf query-packet-sent-error-next-hop-mac-missing {
                            type uint64;
                            description
                              "Number of query packets sent error caused by
    missing next hop MAC";
                          }
                        }  // container interface-exclusive-counters
    
                        container sr-policy-exclusive-counters {
                          when
                            "../transport-type = 'sr-policy-transport-type'" {
                            description
                              "../TransportType = 'SRPolicyTransportType'";
                          }
                          description
                            "Counters exclusive for SR Policies";
                          leaf liveness-detection-missed-count {
                            type uint64;
                            description
                              "Number of missed packets";
                          }
                        }  // container sr-policy-exclusive-counters
    
                        container endpoint-exclusive-counters {
                          when
                            "../transport-type = 'endpoiont-transport-type'" {
                            description
                              "../TransportType = 'EndpoiontTransportType'";
                          }
                          description
                            "Counters exclusive for Endpoint";
                          leaf query-packets-sent-error-sl-label-missing {
                            type uint64;
                            description
                              "Number of query packets sent error caused by
    Missing Segment list Labels";
                          }
    
                          leaf liveness-detection-missed-count {
                            type uint64;
                            description
                              "Number of missed packets";
                          }
                        }  // container endpoint-exclusive-counters
    
                        leaf transport-type {
                          type Pm-transport;
                          description
                            "TransportType";
                        }
                      }  // container exclusive-counters
                    }  // container loss-transport-counters
    
                    leaf total-loss-sessions {
                      type uint32;
                      description
                        "Number of loss measurement sessions enabled";
                    }
                  }  // container interface-loss-summary
    
                  container delay-global-counters {
                    description
                      "PM delay global counters";
                    leaf query-packets-sent {
                      type uint64;
                      description
                        "Number of query packets sent";
                    }
    
                    leaf query-packets-received {
                      type uint64;
                      description
                        "Number of received query packets";
                    }
    
                    leaf received-packet-error-invalid-session-id {
                      type uint64;
                      description
                        "Number of received packet error caused by
    invalid session ID";
                    }
    
                    leaf received-packet-error-no-session {
                      type uint64;
                      description
                        "Number of received packet error caused by no
    session";
                    }
                  }  // container delay-global-counters
                }  // container loss-summary
    
                leaf total-endpoints {
                  type uint32;
                  description
                    "Number of endpoints";
                }
    
                leaf total-interfaces {
                  type uint32;
                  description
                    "Number of interfaces";
                }
    
                leaf total-sr-policies {
                  type uint32;
                  description
                    "Number of SR Policies";
                }
    
                leaf total-rsvp-te-tunnels {
                  type uint32;
                  description
                    "Number of RSVP-TE tunnels";
                }
              }  // container summary
    
              container interfaces {
                description
                  "Physical and bundle interfaces";
                container interface-details {
                  description
                    "Interface detailed table";
                  list interface-detail {
                    key "interface-name";
                    description
                      "Detailed interface information";
                    leaf interface-name {
                      type xr:Interface-name;
                      description
                        "Interface name";
                    }
    
                    container in-use-source-ip-address {
                      description
                        "Source IP address used for PM probe packet";
                      leaf ip-address-type {
                        type Pm-addr;
                        description
                          "IPAddressType";
                      }
    
                      leaf ipv4 {
                        when
                          "../ip-address-type = 'ipv4'" {
                          description
                            "../IPAddressType = 'IPv4'";
                        }
                        type Pm-ipv4-addr;
                        description
                          "IPv4 address type";
                      }
    
                      leaf ipv6 {
                        when
                          "../ip-address-type = 'ipv6'" {
                          description
                            "../IPAddressType = 'IPv6'";
                        }
                        type Pm-ipv6-addr;
                        description
                          "IPv6 address type";
                      }
                    }  // container in-use-source-ip-address
    
                    container in-use-destination-ip-address {
                      description
                        "Destination IP address used for PM probe packet";
                      leaf ip-address-type {
                        type Pm-addr;
                        description
                          "IPAddressType";
                      }
    
                      leaf ipv4 {
                        when
                          "../ip-address-type = 'ipv4'" {
                          description
                            "../IPAddressType = 'IPv4'";
                        }
                        type Pm-ipv4-addr;
                        description
                          "IPv4 address type";
                      }
    
                      leaf ipv6 {
                        when
                          "../ip-address-type = 'ipv6'" {
                          description
                            "../IPAddressType = 'IPv6'";
                        }
                        type Pm-ipv6-addr;
                        description
                          "IPv6 address type";
                      }
                    }  // container in-use-destination-ip-address
    
                    container next-hop {
                      description
                        "Nexthop address of the interface";
                      leaf ip-address-type {
                        type Pm-addr;
                        description
                          "IPAddressType";
                      }
    
                      leaf ipv4 {
                        when
                          "../ip-address-type = 'ipv4'" {
                          description
                            "../IPAddressType = 'IPv4'";
                        }
                        type Pm-ipv4-addr;
                        description
                          "IPv4 address type";
                      }
    
                      leaf ipv6 {
                        when
                          "../ip-address-type = 'ipv6'" {
                          description
                            "../IPAddressType = 'IPv6'";
                        }
                        type Pm-ipv6-addr;
                        description
                          "IPv6 address type";
                      }
                    }  // container next-hop
    
                    container loss-measurement-session {
                      description
                        "Loss-measurement session";
                      container probe-window {
                        description
                          "Probe window loss";
                        leaf last-tx-packet-counter {
                          type uint64;
                          description
                            "Last TX packet counter";
                        }
    
                        leaf last-rx-packet-counter {
                          type uint64;
                          description
                            "Last RX packet counter";
                        }
    
                        leaf current-packet-tx-in-window {
                          type uint64;
                          description
                            "Current packet TX in window";
                        }
    
                        leaf current-packet-rx-in-window {
                          type uint64;
                          description
                            "Current packet RX in window";
                        }
    
                        leaf loss-percentage {
                          type uint32;
                          units "percentage";
                          description
                            "Packet loss percentage";
                        }
                      }  // container probe-window
    
                      container periodic-window {
                        description
                          "Periodic window loss";
                        leaf last-tx-packet-counter {
                          type uint64;
                          description
                            "Last TX packet counter";
                        }
    
                        leaf last-rx-packet-counter {
                          type uint64;
                          description
                            "Last RX packet counter";
                        }
    
                        leaf current-packet-tx-in-window {
                          type uint64;
                          description
                            "Current packet TX in window";
                        }
    
                        leaf current-packet-rx-in-window {
                          type uint64;
                          description
                            "Current packet RX in window";
                        }
    
                        leaf loss-percentage {
                          type uint32;
                          units "percentage";
                          description
                            "Packet loss percentage";
                        }
                      }  // container periodic-window
    
                      container advertisement {
                        description
                          "Loss advertisement";
                        leaf loss-percentage {
                          type uint32;
                          units "percentage";
                          description
                            "Packet loss percentage";
                        }
    
                        leaf timestamp-of-advertisement {
                          type uint64;
                          description
                            "Advertisement timestamp";
                        }
    
                        leaf advertisement-reason {
                          type Pm-advert-reason;
                          description
                            "Advertisement reason";
                        }
                      }  // container advertisement
    
                      leaf session-id {
                        type uint32;
                        description "Session ID";
                      }
    
                      leaf rolling-average {
                        type uint32;
                        description
                          "Rolling average";
                      }
    
                      leaf next-probe-start-time-remaining-in-millisec {
                        type uint32;
                        units "millisecond";
                        description
                          "Time in milliseconds until the next probe starts";
                      }
    
                      leaf probe-not-running-reason {
                        type Pm-probe-running-error-reason;
                        description
                          "Reason why probe is not running";
                      }
    
                      list interface-loss-sub-session {
                        description
                          "Interface loss-measurement sub-sessions";
                        container probe-window {
                          description
                            "Probe window loss";
                          leaf last-tx-packet-counter {
                            type uint64;
                            description
                              "Last TX packet counter";
                          }
    
                          leaf last-rx-packet-counter {
                            type uint64;
                            description
                              "Last RX packet counter";
                          }
    
                          leaf current-packet-tx-in-window {
                            type uint64;
                            description
                              "Current packet TX in window";
                          }
    
                          leaf current-packet-rx-in-window {
                            type uint64;
                            description
                              "Current packet RX in window";
                          }
    
                          leaf loss-percentage {
                            type uint32;
                            units "percentage";
                            description
                              "Packet loss percentage";
                          }
                        }  // container probe-window
    
                        container periodic-window {
                          description
                            "Periodic window loss";
                          leaf last-tx-packet-counter {
                            type uint64;
                            description
                              "Last TX packet counter";
                          }
    
                          leaf last-rx-packet-counter {
                            type uint64;
                            description
                              "Last RX packet counter";
                          }
    
                          leaf current-packet-tx-in-window {
                            type uint64;
                            description
                              "Current packet TX in window";
                          }
    
                          leaf current-packet-rx-in-window {
                            type uint64;
                            description
                              "Current packet RX in window";
                          }
    
                          leaf loss-percentage {
                            type uint32;
                            units "percentage";
                            description
                              "Packet loss percentage";
                          }
                        }  // container periodic-window
    
                        leaf interface-name {
                          type string;
                          description
                            "Interface name";
                        }
    
                        leaf interface-handle {
                          type uint32;
                          description
                            "Interface handle";
                        }
    
                        leaf interface-state-is-up {
                          type boolean;
                          description
                            "True if interface state is up";
                        }
    
                        leaf session-id {
                          type uint32;
                          description
                            "Session ID";
                        }
    
                        leaf rolling-average {
                          type uint32;
                          description
                            "Rolling average";
                        }
                      }  // list interface-loss-sub-session
                    }  // container loss-measurement-session
    
                    leaf interface-name-xr {
                      type string;
                      description
                        "Name of the interface";
                    }
    
                    leaf interface-handle {
                      type uint32;
                      description
                        "Ifhandle of the interface";
                    }
    
                    leaf interface-state {
                      type boolean;
                      description
                        "State of the interface";
                    }
    
                    leaf source-address {
                      type inet:ipv4-address;
                      description
                        "Source address of the interface";
                    }
    
                    leaf source-v6-address {
                      type inet:ipv6-address;
                      description
                        "Source IPv6 Address of the interface";
                    }
    
                    leaf link-local-iv6-address {
                      type inet:ipv6-address;
                      description
                        "Link local IPv6 of the interface";
                    }
    
                    leaf source-mac-address {
                      type yang:mac-address;
                      description
                        "Source Mac address of the interface";
                    }
    
                    leaf next-hop-mac-address {
                      type yang:mac-address;
                      description
                        "Next-hop Mac address of the next-hop IP address";
                    }
    
                    leaf primary-vlan-tag {
                      type uint16;
                      description
                        "Primary VLAN Tag of the interface";
                    }
    
                    leaf secondary-vlan-tag {
                      type uint16;
                      description
                        "Secondary VLAN Tag of the interface";
                    }
    
                    list delay-measurement-session {
                      description
                        "List of all the Delay-measurement sessions of
    the interface";
                      container current-probe {
                        description
                          "Information for the current probe";
                        container probe-results {
                          description
                            "Summarized  results of the current probe";
                          leaf average {
                            type uint32;
                            description
                              "Average value (uSec)";
                          }
    
                          leaf minimum {
                            type uint32;
                            description
                              "Minimum value (uSec)";
                          }
    
                          leaf maximum {
                            type uint32;
                            description
                              "Maximum value (uSec)";
                          }
    
                          leaf variance {
                            type uint32;
                            description
                              "Variance value (uSec)";
                          }
                        }  // container probe-results
    
                        leaf probe-start-time-stamp {
                          type uint64;
                          units "millisecond";
                          description
                            "Timestamp in milliseconds of the current probe
    start (milliseconds since Jan. 1, 1970)";
                        }
    
                        leaf next-probe-start-time-remaining-in-millisec {
                          type uint32;
                          units "millisecond";
                          description
                            "Time in milliseconds until the next probe starts";
                        }
    
                        leaf next-packet-sent-time-remaining-in-millisec {
                          type uint32;
                          units "millisecond";
                          description
                            "Time in milliseconds until the next packet is
    sent";
                        }
    
                        leaf burst-interval {
                          type uint32;
                          units "millisecond";
                          description
                            "Burst interval (in milliseconds)";
                        }
    
                        leaf burst-interval-is-stretched {
                          type boolean;
                          description
                            "True if the burst interval has been stretched
    for packet rate-limiting";
                        }
    
                        leaf number-of-packets-sent {
                          type uint32;
                          description
                            "Number of packets sent in the current probe";
                        }
    
                        leaf number-of-packets-received {
                          type uint32;
                          description
                            "Number of packets received in the current probe";
                        }
    
                        leaf probe-not-running-reason {
                          type Pm-probe-running-error-reason;
                          description
                            "Reason why probe is not running";
                        }
                      }  // container current-probe
    
                      container session-counters {
                        description
                          "Counters info for the session";
                        container generic-counters {
                          description
                            "Generic counters for a PM interface instance";
                          leaf query-packets-sent {
                            type uint64;
                            description
                              "Number of query packets sent";
                          }
    
                          leaf query-packet-sent-errors {
                            type uint64;
                            description
                              "Number of query packets sent error";
                          }
    
                          leaf query-packet-sent-error-no-ip-address {
                            type uint64;
                            description
                              "Number of query packets sent error caused by no
    IP address";
                          }
    
                          leaf query-packets-received {
                            type uint64;
                            description
                              "Number of received query packets";
                          }
    
                          leaf received-packet-error-negative-delay {
                            type uint64;
                            description
                              "Number of packet error caused by receiving
    negative delay";
                          }
    
                          leaf received-packet-error-delay-exceeds-threshold {
                            type uint64;
                            description
                              "Number of packet error caused by measured delay
    is invalid due to exceeding threshold";
                          }
    
                          leaf received-packet-error-missing-tx-timestamp {
                            type uint64;
                            description
                              "Number of packet error caused by received packet
    is missing Tx timestamp";
                          }
    
                          leaf received-packet-error-missing-rx-timestamp {
                            type uint64;
                            description
                              "Number of packet error caused by received packet
    is missing Rx timestamp";
                          }
    
                          leaf received-packet-error-probe-full {
                            type uint64;
                            description
                              "Number of packet error caused by receiving
    packet when probe is full";
                          }
    
                          leaf received-packet-error-probe-not-started {
                            type uint64;
                            description
                              "Number of packet error caused by receiving
    packet when probe is not started";
                          }
    
                          leaf received-packet-control-code-error {
                            type uint64;
                            description
                              "Number of packet error caused by a control code
    error from responder";
                          }
    
                          leaf received-packet-control-code-notification {
                            type uint64;
                            description
                              "Number of packet error caused by a control code
    notification from responder";
                          }
    
                          leaf probes-started {
                            type uint64;
                            description
                              "Number of probes started";
                          }
    
                          leaf probes-complete {
                            type uint64;
                            description
                              "Number of probes completed";
                          }
    
                          leaf probes-incomplete {
                            type uint64;
                            description
                              "Number of probes incomplete";
                          }
    
                          leaf advertisement {
                            type uint64;
                            description
                              "Number of advertisements";
                          }
                        }  // container generic-counters
    
                        container exclusive-counters {
                          description
                            "Exclusive counters for a PM interface instance";
                          container interface-exclusive-counters {
                            when
                              "../transport-type = 'interface-transport-type'" {
                              description
                                "../TransportType = 'InterfaceTransportType'";
                            }
                            description
                              "Counters exclusive for interface";
                            leaf query-packet-sent-error-interface-down {
                              type uint64;
                              description
                                "Number of query packets sent error caused by
    interface down";
                            }
    
                            leaf query-packet-sent-error-no-mpls-caps {
                              type uint64;
                              description
                                "Number of query packets sent error caused by no
    MPLS caps";
                            }
    
                            leaf query-packet-sent-error-ipv4-down-with-v4-next-hop {
                              type uint64;
                              description
                                "Number of query packets sent error caused by
    IPv4 protocl in down state with configured IPv4
    next hop";
                            }
    
                            leaf query-packet-sent-error-ipv6-down-with-v6-next-hop {
                              type uint64;
                              description
                                "Number of query packets sent error caused by
    IPv6 protocl in down state with configured IPv6
    next hop";
                            }
    
                            leaf query-packet-sent-error-ipv4ipv6-down-without-next-hop {
                              type uint64;
                              description
                                "Number of query packets sent error caused by
    both IPv4 and IPv6 protocl in down state without
    configured next hop";
                            }
    
                            leaf query-packet-sent-error-next-hop-mac-missing {
                              type uint64;
                              description
                                "Number of query packets sent error caused by
    missing next hop MAC";
                            }
                          }  // container interface-exclusive-counters
    
                          container sr-policy-exclusive-counters {
                            when
                              "../transport-type = 'sr-policy-transport-type'" {
                              description
                                "../TransportType = 'SRPolicyTransportType'";
                            }
                            description
                              "Counters exclusive for SR Policies";
                            leaf liveness-detection-missed-count {
                              type uint64;
                              description
                                "Number of missed packets";
                            }
                          }  // container sr-policy-exclusive-counters
    
                          container endpoint-exclusive-counters {
                            when
                              "../transport-type = 'endpoiont-transport-type'" {
                              description
                                "../TransportType = 'EndpoiontTransportType'";
                            }
                            description
                              "Counters exclusive for Endpoint";
                            leaf query-packets-sent-error-sl-label-missing {
                              type uint64;
                              description
                                "Number of query packets sent error caused by
    Missing Segment list Labels";
                            }
    
                            leaf liveness-detection-missed-count {
                              type uint64;
                              description
                                "Number of missed packets";
                            }
                          }  // container endpoint-exclusive-counters
    
                          leaf transport-type {
                            type Pm-transport;
                            description
                              "TransportType";
                          }
                        }  // container exclusive-counters
                      }  // container session-counters
    
                      container last-advertisement-information {
                        description
                          "Last advertisement information of the session";
                        container advertised-values {
                          description
                            "Advertised delay information";
                          leaf average {
                            type uint32;
                            description
                              "Average value (uSec)";
                          }
    
                          leaf minimum {
                            type uint32;
                            description
                              "Minimum value (uSec)";
                          }
    
                          leaf maximum {
                            type uint32;
                            description
                              "Maximum value (uSec)";
                          }
    
                          leaf variance {
                            type uint32;
                            description
                              "Variance value (uSec)";
                          }
                        }  // container advertised-values
    
                        leaf time-of-advertisement {
                          type uint64;
                          units "millisecond";
                          description
                            "Time of the advertisement (milliseconds since
    Jan. 1, 1970)";
                        }
    
                        leaf advertisement-reason {
                          type Pm-advert-reason;
                          description
                            "Reason for advertisement";
                        }
    
                        leaf aflag-set {
                          type boolean;
                          description
                            "A flag is set";
                        }
                      }  // container last-advertisement-information
    
                      container next-advertisement-information {
                        description
                          "Next advertisement information of the session";
                        container advertisement-interval-values {
                          description
                            "Next advertisement values";
                          leaf average {
                            type uint32;
                            description
                              "Average value (uSec)";
                          }
    
                          leaf minimum {
                            type uint32;
                            description
                              "Minimum value (uSec)";
                          }
    
                          leaf maximum {
                            type uint32;
                            description
                              "Maximum value (uSec)";
                          }
    
                          leaf variance {
                            type uint32;
                            description
                              "Variance value (uSec)";
                          }
                        }  // container advertisement-interval-values
    
                        leaf advertisement-interval-probes-remaining {
                          type uint32;
                          description
                            "Probes remaining until next periodic
    advertisement check";
                        }
    
                        leaf rolling-average {
                          type uint32;
                          description
                            "Rolling average value (uSec)";
                        }
                      }  // container next-advertisement-information
    
                      container last-notification-control-code {
                        description
                          "Last notifcation control code received of the
    session";
                        leaf control-code {
                          type uint8;
                          description
                            "MPLS PM RFC 6374 control code";
                        }
    
                        leaf timestamp {
                          type uint64;
                          units "millisecond";
                          description
                            "Received timestamp of the control code
    (milliseconds since Jan. 1, 1970)";
                        }
                      }  // container last-notification-control-code
    
                      container last-error-control-code {
                        description
                          "Last error control code received of the session";
                        leaf control-code {
                          type uint8;
                          description
                            "MPLS PM RFC 6374 control code";
                        }
    
                        leaf timestamp {
                          type uint64;
                          units "millisecond";
                          description
                            "Received timestamp of the control code
    (milliseconds since Jan. 1, 1970)";
                        }
                      }  // container last-error-control-code
    
                      container responder-address {
                        description
                          "Address of the Responder";
                        leaf ip-address-type {
                          type Pm-addr;
                          description
                            "IPAddressType";
                        }
    
                        leaf ipv4 {
                          when
                            "../ip-address-type = 'ipv4'" {
                            description
                              "../IPAddressType = 'IPv4'";
                          }
                          type Pm-ipv4-addr;
                          description
                            "IPv4 address type";
                        }
    
                        leaf ipv6 {
                          when
                            "../ip-address-type = 'ipv6'" {
                            description
                              "../IPAddressType = 'IPv6'";
                          }
                          type Pm-ipv6-addr;
                          description
                            "IPv6 address type";
                        }
                      }  // container responder-address
    
                      leaf session-id {
                        type uint32;
                        description
                          "ID of the session";
                      }
    
                      leaf transport-type {
                        type Pm-transport;
                        description
                          "Transport Type of the session";
                      }
    
                      leaf measurement-type {
                        type Pm-measurement;
                        description
                          "Measurement Type of the session";
                      }
    
                      leaf profile-name {
                        type string;
                        description
                          "Interface delay-measurement profile name";
                      }
    
                      leaf periodic-advertisement-interval-in-sec {
                        type uint32;
                        units "second";
                        description
                          "Interval of periodic advertisement in seconds";
                      }
    
                      leaf query-number-of-hops {
                        type uint8;
                        description
                          "Number of hops traversed by the query packet";
                      }
    
                      list probe-history {
                        description
                          "Current probe history";
                        leaf measurement-value {
                          type uint64;
                          description
                            "Measurement value (nsec)";
                        }
    
                        leaf query-timestamp {
                          type uint64;
                          units "millisecond";
                          description
                            "Timestamp when the measurement was taken
    (milliseconds since Jan. 1, 1970)";
                        }
                      }  // list probe-history
                    }  // list delay-measurement-session
                  }  // list interface-detail
                }  // container interface-details
    
                container interface-delay {
                  description
                    "Delay-measurement information";
                  container interface-probe-computation-histories {
                    description
                      "Table of probe computation history";
                    list interface-probe-computation-history {
                      key "interface-name";
                      description
                        "Probe computation history information";
                      leaf interface-name {
                        type xr:Interface-name;
                        description
                          "Interface name";
                      }
    
                      container history-info {
                        description
                          "History info of the interface";
                        container probe-history {
                          when
                            "../history-type = 'history-type-probe'" {
                            description
                              "../HistoryType = 'HistoryTypeProbe'";
                          }
                          description
                            "Info of delay-measurement probe history";
                          list probe-history {
                            description
                              "List of samples of probe history records";
                            container probe-values {
                              description
                                "Summarized results of the probe";
                              leaf average {
                                type uint32;
                                description
                                  "Average value (uSec)";
                              }
    
                              leaf minimum {
                                type uint32;
                                description
                                  "Minimum value (uSec)";
                              }
    
                              leaf maximum {
                                type uint32;
                                description
                                  "Maximum value (uSec)";
                              }
    
                              leaf variance {
                                type uint32;
                                description
                                  "Variance value (uSec)";
                              }
                            }  // container probe-values
    
                            leaf probe-start-timestamp {
                              type uint64;
                              units
                                "millisecond";
                              description
                                "Time last probe started (milliseconds since Jan.
    1, 1970)";
                            }
    
                            leaf packets-sent {
                              type uint32;
                              description
                                "Number of query packets sent";
                            }
    
                            leaf packets-received {
                              type uint32;
                              description
                                "Number of query Packets received";
                            }
                          }  // list probe-history
                        }  // container probe-history
    
                        container aggregated-history {
                          when
                            "../history-type = 'history-type-aggregated'" {
                            description
                              "../HistoryType = 'HistoryTypeAggregated'";
                          }
                          description
                            "Info of delay-measurement aggregation history";
                          list aggregated-history {
                            description
                              "List of samples of aggregation history records";
                            container aggregated-probe-values {
                              description
                                "Summarised results of the aggregated probe";
                              leaf average {
                                type uint32;
                                description
                                  "Average value (uSec)";
                              }
    
                              leaf minimum {
                                type uint32;
                                description
                                  "Minimum value (uSec)";
                              }
    
                              leaf maximum {
                                type uint32;
                                description
                                  "Maximum value (uSec)";
                              }
    
                              leaf variance {
                                type uint32;
                                description
                                  "Variance value (uSec)";
                              }
                            }  // container aggregated-probe-values
    
                            leaf aggregation-timestamp {
                              type uint64;
                              units
                                "millisecond";
                              description
                                "Time probe aggregation was done (milliseconds
    since Jan. 1, 1970)";
                            }
                          }  // list aggregated-history
                        }  // container aggregated-history
    
                        container advertisement-history {
                          when
                            "../history-type = 'history-type-advertisement'" {
                            description
                              "../HistoryType = 'HistoryTypeAdvertisement'";
                          }
                          description
                            "Info of delay-measurement advertisement history";
                          list advertisement-history {
                            description
                              "List of samples of advertisement history records";
                            container advertised-values {
                              description
                                "Advertised delay information";
                              leaf average {
                                type uint32;
                                description
                                  "Average value (uSec)";
                              }
    
                              leaf minimum {
                                type uint32;
                                description
                                  "Minimum value (uSec)";
                              }
    
                              leaf maximum {
                                type uint32;
                                description
                                  "Maximum value (uSec)";
                              }
    
                              leaf variance {
                                type uint32;
                                description
                                  "Variance value (uSec)";
                              }
                            }  // container advertised-values
    
                            leaf advertisement-timestamp {
                              type uint64;
                              units
                                "millisecond";
                              description
                                "Time advertisement was done (milliseconds since
    Jan. 1, 1970)";
                            }
    
                            leaf advertisement-reason {
                              type Pm-advert-reason;
                              description
                                "Reason for advertisement";
                            }
                          }  // list advertisement-history
                        }  // container advertisement-history
    
                        container liveness-history {
                          when
                            "../history-type = 'history-type-liveness-state'" {
                            description
                              "../HistoryType = 'HistoryTypeLivenessState'";
                          }
                          description
                            "Info of liveness session history";
                          list liveness-hisotry {
                            description
                              "List of records of liveness history";
                            leaf liveness-state-change-timestamp {
                              type uint64;
                              description
                                "Time liveness session state was changed";
                            }
    
                            leaf liveness-state-is-up {
                              type boolean;
                              description
                                "True if liveness session is in UP state";
                            }
                          }  // list liveness-hisotry
                        }  // container liveness-history
    
                        container lm-probe-history {
                          when
                            "../history-type = 'history-type-lm-probe'" {
                            description
                              "../HistoryType = 'HistoryTypeLMProbe'";
                          }
                          description
                            "Info of loss-measurement probe history";
                          list lm-probe-hisotry {
                            description
                              "LM probe history";
                            leaf timestamp {
                              type uint64;
                              units
                                "millisecond";
                              description
                                "Timestamp (milliseconds since Jan. 1, 1970)";
                            }
    
                            leaf num-sent-packet {
                              type uint64;
                              description
                                "Number of packets been sent in this probe
    interval";
                            }
    
                            leaf num-received-packet {
                              type uint64;
                              description
                                "Number of packets been received in this probe
    interval";
                            }
    
                            leaf loss-percentage {
                              type uint32;
                              units "percentage";
                              description
                                "Packet loss percentage";
                            }
                          }  // list lm-probe-hisotry
                        }  // container lm-probe-history
    
                        container lm-packet-history {
                          when
                            "../history-type = 'history-type-lm-packet'" {
                            description
                              "../HistoryType = 'HistoryTypeLMPacket'";
                          }
                          description
                            "Info of loss-measurement packet history";
                          list lm-packet-hisotry {
                            description
                              "LM packet history";
                            leaf timestamp {
                              type uint64;
                              units
                                "millisecond";
                              description
                                "Timestamp (milliseconds since Jan. 1, 1970)";
                            }
    
                            leaf tx-counter {
                              type uint64;
                              description
                                "TX counter";
                            }
    
                            leaf rx-counter {
                              type uint64;
                              description
                                "RX RX counter";
                            }
                          }  // list lm-packet-hisotry
                        }  // container lm-packet-history
    
                        container lm-aggregated-history {
                          when
                            "../history-type = 'history-type-lm-aggregated'" {
                            description
                              "../HistoryType = 'HistoryTypeLMAggregated'";
                          }
                          description
                            "Info of loss-measurement aggregation history";
                          list lm-aggregated-hisotry {
                            description
                              "LM aggregation history";
                            leaf timestamp {
                              type uint64;
                              units
                                "millisecond";
                              description
                                "Timestamp (milliseconds since Jan. 1, 1970)";
                            }
    
                            leaf num-sent-packet {
                              type uint64;
                              description
                                "Number of packets been sent in this aggregation
    interval";
                            }
    
                            leaf num-received-packet {
                              type uint64;
                              description
                                "Number of packets been received in this
    aggregation interval";
                            }
    
                            leaf loss-percentage {
                              type uint32;
                              units "percentage";
                              description
                                "Packet loss percentage";
                            }
                          }  // list lm-aggregated-hisotry
                        }  // container lm-aggregated-history
    
                        container lm-advertisement-history {
                          when
                            "../history-type = 'history-type-lm-advertisement'" {
                            description
                              "../HistoryType = 'HistoryTypeLMAdvertisement'";
                          }
                          description
                            "Info of loss-measurement advertisement history";
                          list lm-advertisement-history {
                            description
                              "LM advertisement history";
                            leaf timestamp {
                              type uint64;
                              units
                                "millisecond";
                              description
                                "Timestamp (milliseconds since Jan. 1, 1970)";
                            }
    
                            leaf advertisement-reason {
                              type Pm-advert-reason;
                              description
                                "Advertisement reason";
                            }
    
                            leaf loss-percentage {
                              type uint32;
                              units "percentage";
                              description
                                "Packet loss percentage";
                            }
                          }  // list lm-advertisement-history
                        }  // container lm-advertisement-history
    
                        leaf history-type {
                          type Pm-history;
                          description
                            "HistoryType";
                        }
                      }  // container history-info
    
                      leaf interface-name-xr {
                        type string;
                        description
                          "Name of the interface";
                      }
    
                      leaf interface-handle {
                        type uint32;
                        description
                          "Ifhandle of the interface";
                      }
                    }  // list interface-probe-computation-history
                  }  // container interface-probe-computation-histories
    
                  container interface-aggregation-histories {
                    description
                      "Table of aggregation history";
                    list interface-aggregation-history {
                      key "interface-name";
                      description
                        "Aggregation history information";
                      leaf interface-name {
                        type xr:Interface-name;
                        description
                          "Interface name";
                      }
    
                      container history-info {
                        description
                          "History info of the interface";
                        container probe-history {
                          when
                            "../history-type = 'history-type-probe'" {
                            description
                              "../HistoryType = 'HistoryTypeProbe'";
                          }
                          description
                            "Info of delay-measurement probe history";
                          list probe-history {
                            description
                              "List of samples of probe history records";
                            container probe-values {
                              description
                                "Summarized results of the probe";
                              leaf average {
                                type uint32;
                                description
                                  "Average value (uSec)";
                              }
    
                              leaf minimum {
                                type uint32;
                                description
                                  "Minimum value (uSec)";
                              }
    
                              leaf maximum {
                                type uint32;
                                description
                                  "Maximum value (uSec)";
                              }
    
                              leaf variance {
                                type uint32;
                                description
                                  "Variance value (uSec)";
                              }
                            }  // container probe-values
    
                            leaf probe-start-timestamp {
                              type uint64;
                              units
                                "millisecond";
                              description
                                "Time last probe started (milliseconds since Jan.
    1, 1970)";
                            }
    
                            leaf packets-sent {
                              type uint32;
                              description
                                "Number of query packets sent";
                            }
    
                            leaf packets-received {
                              type uint32;
                              description
                                "Number of query Packets received";
                            }
                          }  // list probe-history
                        }  // container probe-history
    
                        container aggregated-history {
                          when
                            "../history-type = 'history-type-aggregated'" {
                            description
                              "../HistoryType = 'HistoryTypeAggregated'";
                          }
                          description
                            "Info of delay-measurement aggregation history";
                          list aggregated-history {
                            description
                              "List of samples of aggregation history records";
                            container aggregated-probe-values {
                              description
                                "Summarised results of the aggregated probe";
                              leaf average {
                                type uint32;
                                description
                                  "Average value (uSec)";
                              }
    
                              leaf minimum {
                                type uint32;
                                description
                                  "Minimum value (uSec)";
                              }
    
                              leaf maximum {
                                type uint32;
                                description
                                  "Maximum value (uSec)";
                              }
    
                              leaf variance {
                                type uint32;
                                description
                                  "Variance value (uSec)";
                              }
                            }  // container aggregated-probe-values
    
                            leaf aggregation-timestamp {
                              type uint64;
                              units
                                "millisecond";
                              description
                                "Time probe aggregation was done (milliseconds
    since Jan. 1, 1970)";
                            }
                          }  // list aggregated-history
                        }  // container aggregated-history
    
                        container advertisement-history {
                          when
                            "../history-type = 'history-type-advertisement'" {
                            description
                              "../HistoryType = 'HistoryTypeAdvertisement'";
                          }
                          description
                            "Info of delay-measurement advertisement history";
                          list advertisement-history {
                            description
                              "List of samples of advertisement history records";
                            container advertised-values {
                              description
                                "Advertised delay information";
                              leaf average {
                                type uint32;
                                description
                                  "Average value (uSec)";
                              }
    
                              leaf minimum {
                                type uint32;
                                description
                                  "Minimum value (uSec)";
                              }
    
                              leaf maximum {
                                type uint32;
                                description
                                  "Maximum value (uSec)";
                              }
    
                              leaf variance {
                                type uint32;
                                description
                                  "Variance value (uSec)";
                              }
                            }  // container advertised-values
    
                            leaf advertisement-timestamp {
                              type uint64;
                              units
                                "millisecond";
                              description
                                "Time advertisement was done (milliseconds since
    Jan. 1, 1970)";
                            }
    
                            leaf advertisement-reason {
                              type Pm-advert-reason;
                              description
                                "Reason for advertisement";
                            }
                          }  // list advertisement-history
                        }  // container advertisement-history
    
                        container liveness-history {
                          when
                            "../history-type = 'history-type-liveness-state'" {
                            description
                              "../HistoryType = 'HistoryTypeLivenessState'";
                          }
                          description
                            "Info of liveness session history";
                          list liveness-hisotry {
                            description
                              "List of records of liveness history";
                            leaf liveness-state-change-timestamp {
                              type uint64;
                              description
                                "Time liveness session state was changed";
                            }
    
                            leaf liveness-state-is-up {
                              type boolean;
                              description
                                "True if liveness session is in UP state";
                            }
                          }  // list liveness-hisotry
                        }  // container liveness-history
    
                        container lm-probe-history {
                          when
                            "../history-type = 'history-type-lm-probe'" {
                            description
                              "../HistoryType = 'HistoryTypeLMProbe'";
                          }
                          description
                            "Info of loss-measurement probe history";
                          list lm-probe-hisotry {
                            description
                              "LM probe history";
                            leaf timestamp {
                              type uint64;
                              units
                                "millisecond";
                              description
                                "Timestamp (milliseconds since Jan. 1, 1970)";
                            }
    
                            leaf num-sent-packet {
                              type uint64;
                              description
                                "Number of packets been sent in this probe
    interval";
                            }
    
                            leaf num-received-packet {
                              type uint64;
                              description
                                "Number of packets been received in this probe
    interval";
                            }
    
                            leaf loss-percentage {
                              type uint32;
                              units "percentage";
                              description
                                "Packet loss percentage";
                            }
                          }  // list lm-probe-hisotry
                        }  // container lm-probe-history
    
                        container lm-packet-history {
                          when
                            "../history-type = 'history-type-lm-packet'" {
                            description
                              "../HistoryType = 'HistoryTypeLMPacket'";
                          }
                          description
                            "Info of loss-measurement packet history";
                          list lm-packet-hisotry {
                            description
                              "LM packet history";
                            leaf timestamp {
                              type uint64;
                              units
                                "millisecond";
                              description
                                "Timestamp (milliseconds since Jan. 1, 1970)";
                            }
    
                            leaf tx-counter {
                              type uint64;
                              description
                                "TX counter";
                            }
    
                            leaf rx-counter {
                              type uint64;
                              description
                                "RX RX counter";
                            }
                          }  // list lm-packet-hisotry
                        }  // container lm-packet-history
    
                        container lm-aggregated-history {
                          when
                            "../history-type = 'history-type-lm-aggregated'" {
                            description
                              "../HistoryType = 'HistoryTypeLMAggregated'";
                          }
                          description
                            "Info of loss-measurement aggregation history";
                          list lm-aggregated-hisotry {
                            description
                              "LM aggregation history";
                            leaf timestamp {
                              type uint64;
                              units
                                "millisecond";
                              description
                                "Timestamp (milliseconds since Jan. 1, 1970)";
                            }
    
                            leaf num-sent-packet {
                              type uint64;
                              description
                                "Number of packets been sent in this aggregation
    interval";
                            }
    
                            leaf num-received-packet {
                              type uint64;
                              description
                                "Number of packets been received in this
    aggregation interval";
                            }
    
                            leaf loss-percentage {
                              type uint32;
                              units "percentage";
                              description
                                "Packet loss percentage";
                            }
                          }  // list lm-aggregated-hisotry
                        }  // container lm-aggregated-history
    
                        container lm-advertisement-history {
                          when
                            "../history-type = 'history-type-lm-advertisement'" {
                            description
                              "../HistoryType = 'HistoryTypeLMAdvertisement'";
                          }
                          description
                            "Info of loss-measurement advertisement history";
                          list lm-advertisement-history {
                            description
                              "LM advertisement history";
                            leaf timestamp {
                              type uint64;
                              units
                                "millisecond";
                              description
                                "Timestamp (milliseconds since Jan. 1, 1970)";
                            }
    
                            leaf advertisement-reason {
                              type Pm-advert-reason;
                              description
                                "Advertisement reason";
                            }
    
                            leaf loss-percentage {
                              type uint32;
                              units "percentage";
                              description
                                "Packet loss percentage";
                            }
                          }  // list lm-advertisement-history
                        }  // container lm-advertisement-history
    
                        leaf history-type {
                          type Pm-history;
                          description
                            "HistoryType";
                        }
                      }  // container history-info
    
                      leaf interface-name-xr {
                        type string;
                        description
                          "Name of the interface";
                      }
    
                      leaf interface-handle {
                        type uint32;
                        description
                          "Ifhandle of the interface";
                      }
                    }  // list interface-aggregation-history
                  }  // container interface-aggregation-histories
    
                  container interface-advertisement-histories {
                    description
                      "Table of advertisement history information";
                    list interface-advertisement-history {
                      key "interface-name";
                      description
                        "Advertisement history information";
                      leaf interface-name {
                        type xr:Interface-name;
                        description
                          "Interface name";
                      }
    
                      container history-info {
                        description
                          "History info of the interface";
                        container probe-history {
                          when
                            "../history-type = 'history-type-probe'" {
                            description
                              "../HistoryType = 'HistoryTypeProbe'";
                          }
                          description
                            "Info of delay-measurement probe history";
                          list probe-history {
                            description
                              "List of samples of probe history records";
                            container probe-values {
                              description
                                "Summarized results of the probe";
                              leaf average {
                                type uint32;
                                description
                                  "Average value (uSec)";
                              }
    
                              leaf minimum {
                                type uint32;
                                description
                                  "Minimum value (uSec)";
                              }
    
                              leaf maximum {
                                type uint32;
                                description
                                  "Maximum value (uSec)";
                              }
    
                              leaf variance {
                                type uint32;
                                description
                                  "Variance value (uSec)";
                              }
                            }  // container probe-values
    
                            leaf probe-start-timestamp {
                              type uint64;
                              units
                                "millisecond";
                              description
                                "Time last probe started (milliseconds since Jan.
    1, 1970)";
                            }
    
                            leaf packets-sent {
                              type uint32;
                              description
                                "Number of query packets sent";
                            }
    
                            leaf packets-received {
                              type uint32;
                              description
                                "Number of query Packets received";
                            }
                          }  // list probe-history
                        }  // container probe-history
    
                        container aggregated-history {
                          when
                            "../history-type = 'history-type-aggregated'" {
                            description
                              "../HistoryType = 'HistoryTypeAggregated'";
                          }
                          description
                            "Info of delay-measurement aggregation history";
                          list aggregated-history {
                            description
                              "List of samples of aggregation history records";
                            container aggregated-probe-values {
                              description
                                "Summarised results of the aggregated probe";
                              leaf average {
                                type uint32;
                                description
                                  "Average value (uSec)";
                              }
    
                              leaf minimum {
                                type uint32;
                                description
                                  "Minimum value (uSec)";
                              }
    
                              leaf maximum {
                                type uint32;
                                description
                                  "Maximum value (uSec)";
                              }
    
                              leaf variance {
                                type uint32;
                                description
                                  "Variance value (uSec)";
                              }
                            }  // container aggregated-probe-values
    
                            leaf aggregation-timestamp {
                              type uint64;
                              units
                                "millisecond";
                              description
                                "Time probe aggregation was done (milliseconds
    since Jan. 1, 1970)";
                            }
                          }  // list aggregated-history
                        }  // container aggregated-history
    
                        container advertisement-history {
                          when
                            "../history-type = 'history-type-advertisement'" {
                            description
                              "../HistoryType = 'HistoryTypeAdvertisement'";
                          }
                          description
                            "Info of delay-measurement advertisement history";
                          list advertisement-history {
                            description
                              "List of samples of advertisement history records";
                            container advertised-values {
                              description
                                "Advertised delay information";
                              leaf average {
                                type uint32;
                                description
                                  "Average value (uSec)";
                              }
    
                              leaf minimum {
                                type uint32;
                                description
                                  "Minimum value (uSec)";
                              }
    
                              leaf maximum {
                                type uint32;
                                description
                                  "Maximum value (uSec)";
                              }
    
                              leaf variance {
                                type uint32;
                                description
                                  "Variance value (uSec)";
                              }
                            }  // container advertised-values
    
                            leaf advertisement-timestamp {
                              type uint64;
                              units
                                "millisecond";
                              description
                                "Time advertisement was done (milliseconds since
    Jan. 1, 1970)";
                            }
    
                            leaf advertisement-reason {
                              type Pm-advert-reason;
                              description
                                "Reason for advertisement";
                            }
                          }  // list advertisement-history
                        }  // container advertisement-history
    
                        container liveness-history {
                          when
                            "../history-type = 'history-type-liveness-state'" {
                            description
                              "../HistoryType = 'HistoryTypeLivenessState'";
                          }
                          description
                            "Info of liveness session history";
                          list liveness-hisotry {
                            description
                              "List of records of liveness history";
                            leaf liveness-state-change-timestamp {
                              type uint64;
                              description
                                "Time liveness session state was changed";
                            }
    
                            leaf liveness-state-is-up {
                              type boolean;
                              description
                                "True if liveness session is in UP state";
                            }
                          }  // list liveness-hisotry
                        }  // container liveness-history
    
                        container lm-probe-history {
                          when
                            "../history-type = 'history-type-lm-probe'" {
                            description
                              "../HistoryType = 'HistoryTypeLMProbe'";
                          }
                          description
                            "Info of loss-measurement probe history";
                          list lm-probe-hisotry {
                            description
                              "LM probe history";
                            leaf timestamp {
                              type uint64;
                              units
                                "millisecond";
                              description
                                "Timestamp (milliseconds since Jan. 1, 1970)";
                            }
    
                            leaf num-sent-packet {
                              type uint64;
                              description
                                "Number of packets been sent in this probe
    interval";
                            }
    
                            leaf num-received-packet {
                              type uint64;
                              description
                                "Number of packets been received in this probe
    interval";
                            }
    
                            leaf loss-percentage {
                              type uint32;
                              units "percentage";
                              description
                                "Packet loss percentage";
                            }
                          }  // list lm-probe-hisotry
                        }  // container lm-probe-history
    
                        container lm-packet-history {
                          when
                            "../history-type = 'history-type-lm-packet'" {
                            description
                              "../HistoryType = 'HistoryTypeLMPacket'";
                          }
                          description
                            "Info of loss-measurement packet history";
                          list lm-packet-hisotry {
                            description
                              "LM packet history";
                            leaf timestamp {
                              type uint64;
                              units
                                "millisecond";
                              description
                                "Timestamp (milliseconds since Jan. 1, 1970)";
                            }
    
                            leaf tx-counter {
                              type uint64;
                              description
                                "TX counter";
                            }
    
                            leaf rx-counter {
                              type uint64;
                              description
                                "RX RX counter";
                            }
                          }  // list lm-packet-hisotry
                        }  // container lm-packet-history
    
                        container lm-aggregated-history {
                          when
                            "../history-type = 'history-type-lm-aggregated'" {
                            description
                              "../HistoryType = 'HistoryTypeLMAggregated'";
                          }
                          description
                            "Info of loss-measurement aggregation history";
                          list lm-aggregated-hisotry {
                            description
                              "LM aggregation history";
                            leaf timestamp {
                              type uint64;
                              units
                                "millisecond";
                              description
                                "Timestamp (milliseconds since Jan. 1, 1970)";
                            }
    
                            leaf num-sent-packet {
                              type uint64;
                              description
                                "Number of packets been sent in this aggregation
    interval";
                            }
    
                            leaf num-received-packet {
                              type uint64;
                              description
                                "Number of packets been received in this
    aggregation interval";
                            }
    
                            leaf loss-percentage {
                              type uint32;
                              units "percentage";
                              description
                                "Packet loss percentage";
                            }
                          }  // list lm-aggregated-hisotry
                        }  // container lm-aggregated-history
    
                        container lm-advertisement-history {
                          when
                            "../history-type = 'history-type-lm-advertisement'" {
                            description
                              "../HistoryType = 'HistoryTypeLMAdvertisement'";
                          }
                          description
                            "Info of loss-measurement advertisement history";
                          list lm-advertisement-history {
                            description
                              "LM advertisement history";
                            leaf timestamp {
                              type uint64;
                              units
                                "millisecond";
                              description
                                "Timestamp (milliseconds since Jan. 1, 1970)";
                            }
    
                            leaf advertisement-reason {
                              type Pm-advert-reason;
                              description
                                "Advertisement reason";
                            }
    
                            leaf loss-percentage {
                              type uint32;
                              units "percentage";
                              description
                                "Packet loss percentage";
                            }
                          }  // list lm-advertisement-history
                        }  // container lm-advertisement-history
    
                        leaf history-type {
                          type Pm-history;
                          description
                            "HistoryType";
                        }
                      }  // container history-info
    
                      leaf interface-name-xr {
                        type string;
                        description
                          "Name of the interface";
                      }
    
                      leaf interface-handle {
                        type uint32;
                        description
                          "Ifhandle of the interface";
                      }
                    }  // list interface-advertisement-history
                  }  // container interface-advertisement-histories
    
                  container interface-last-aggregations {
                    description
                      "Table of last aggregation";
                    list interface-last-aggregation {
                      key "interface-name";
                      description
                        "Last aggregation information";
                      leaf interface-name {
                        type xr:Interface-name;
                        description
                          "Interface name";
                      }
    
                      container last-aggregation {
                        description
                          "Last aggregation interval";
                        container aggregated-probe-values {
                          description
                            "Summarised results of the aggregated probe";
                          leaf average {
                            type uint32;
                            description
                              "Average value (uSec)";
                          }
    
                          leaf minimum {
                            type uint32;
                            description
                              "Minimum value (uSec)";
                          }
    
                          leaf maximum {
                            type uint32;
                            description
                              "Maximum value (uSec)";
                          }
    
                          leaf variance {
                            type uint32;
                            description
                              "Variance value (uSec)";
                          }
                        }  // container aggregated-probe-values
    
                        leaf aggregation-timestamp {
                          type uint64;
                          units "millisecond";
                          description
                            "Time probe aggregation was done (milliseconds
    since Jan. 1, 1970)";
                        }
                      }  // container last-aggregation
    
                      leaf interface-name-xr {
                        type string;
                        description
                          "Interface name";
                      }
    
                      leaf interface-handle {
                        type uint32;
                        description
                          "Interface handle";
                      }
                    }  // list interface-last-aggregation
                  }  // container interface-last-aggregations
    
                  container interface-last-probes {
                    description
                      "Table of last probes";
                    list interface-last-probe {
                      key "interface-name";
                      description
                        "Last measurement information";
                      leaf interface-name {
                        type xr:Interface-name;
                        description
                          "Interface name";
                      }
    
                      container last-probe {
                        description
                          "Last probe info for delay measurement";
                        container probe-values {
                          description
                            "Summarized results of the probe";
                          leaf average {
                            type uint32;
                            description
                              "Average value (uSec)";
                          }
    
                          leaf minimum {
                            type uint32;
                            description
                              "Minimum value (uSec)";
                          }
    
                          leaf maximum {
                            type uint32;
                            description
                              "Maximum value (uSec)";
                          }
    
                          leaf variance {
                            type uint32;
                            description
                              "Variance value (uSec)";
                          }
                        }  // container probe-values
    
                        leaf probe-start-timestamp {
                          type uint64;
                          units "millisecond";
                          description
                            "Time last probe started (milliseconds since Jan.
    1, 1970)";
                        }
    
                        leaf packets-sent {
                          type uint32;
                          description
                            "Number of query packets sent";
                        }
    
                        leaf packets-received {
                          type uint32;
                          description
                            "Number of query Packets received";
                        }
                      }  // container last-probe
                    }  // list interface-last-probe
                  }  // container interface-last-probes
    
                  container interface-last-advertisements {
                    description
                      "Table of last advertisements";
                    list interface-last-advertisement {
                      key "interface-name";
                      description
                        "Last advertisement information";
                      leaf interface-name {
                        type xr:Interface-name;
                        description
                          "Interface name";
                      }
    
                      container last-advertisement {
                        description
                          "Last advertisement info for delay measurement";
                        container advertised-values {
                          description
                            "Advertised delay information";
                          leaf average {
                            type uint32;
                            description
                              "Average value (uSec)";
                          }
    
                          leaf minimum {
                            type uint32;
                            description
                              "Minimum value (uSec)";
                          }
    
                          leaf maximum {
                            type uint32;
                            description
                              "Maximum value (uSec)";
                          }
    
                          leaf variance {
                            type uint32;
                            description
                              "Variance value (uSec)";
                          }
                        }  // container advertised-values
    
                        leaf time-of-advertisement {
                          type uint64;
                          units "millisecond";
                          description
                            "Time of the advertisement (milliseconds since
    Jan. 1, 1970)";
                        }
    
                        leaf advertisement-reason {
                          type Pm-advert-reason;
                          description
                            "Reason for advertisement";
                        }
    
                        leaf aflag-set {
                          type boolean;
                          description
                            "A flag is set";
                        }
                      }  // container last-advertisement
                    }  // list interface-last-advertisement
                  }  // container interface-last-advertisements
                }  // container interface-delay
              }  // container interfaces
    
              container profile {
                description
                  "Profile information for all the measurement
                 and transportation type on querier";
                container delay-profile {
                  description
                    "Profile info of delay measurement";
                  container interface-delay-profile {
                    description
                      "Profile of Interface delay measurement";
                    container destination-sweeping-address {
                      description
                        "IPv4/IPv6 sweeping address";
                      leaf ip-address-type {
                        type Pm-addr;
                        description
                          "IPAddressType";
                      }
    
                      leaf ipv4 {
                        when
                          "../ip-address-type = 'ipv4'" {
                          description
                            "../IPAddressType = 'IPv4'";
                        }
                        type Pm-ipv4-addr;
                        description
                          "IPv4 address type";
                      }
    
                      leaf ipv6 {
                        when
                          "../ip-address-type = 'ipv6'" {
                          description
                            "../IPAddressType = 'IPv6'";
                        }
                        type Pm-ipv6-addr;
                        description
                          "IPv6 address type";
                      }
                    }  // container destination-sweeping-address
    
                    leaf probe-computation-interval {
                      type uint32;
                      description
                        "Probe Computation Interval (sec)";
                    }
    
                    leaf probe-computation-interval-effective {
                      type uint32;
                      description
                        "Effective Probe Computation Interval (sec)";
                    }
    
                    leaf tos-traffic-class-value {
                      type uint8;
                      description
                        "TOS Traffic Class value specified for protocol
    PM-MPLS";
                    }
    
                    leaf tos-dscp-value {
                      type uint8;
                      description
                        "TOS DSCP value specified for protocol
    TWAMP-LIGHT";
                    }
    
                    leaf burst-interval {
                      type uint32;
                      description
                        "Burst Interval (msec)";
                    }
    
                    leaf burst-interval-effective {
                      type uint32;
                      description
                        "Effective Burst Interval (msec)";
                    }
    
                    leaf burst-count {
                      type uint32;
                      description
                        "Number of burst in one probe";
                    }
    
                    leaf delay-measurement-mode {
                      type Pm-delay-mode;
                      description
                        "Delay Measurement Mode Type";
                    }
    
                    leaf router-alert {
                      type boolean;
                      description
                        "IP router alert option";
                    }
    
                    leaf encap-mode {
                      type Pm-encap-mode;
                      description "Encap Mode";
                    }
    
                    leaf payload-type {
                      type Pm-payload;
                      description
                        "Type of the probe packet payload";
                    }
    
                    leaf destination-sweeping-mode-enabled {
                      type boolean;
                      description
                        "Measure the delay with ECMP hashing by sweeping
    destination address";
                    }
    
                    leaf destination-sweeping-range {
                      type uint32;
                      description
                        "Number of IP addresses to sweep";
                    }
    
                    leaf periodic-advertisement-enabled {
                      type boolean;
                      description
                        "Advertisement Periodic Enabled";
                    }
    
                    leaf periodic-advertisement-interval {
                      type uint32;
                      description
                        "Advertisement Periodic Interval (sec)";
                    }
    
                    leaf periodic-advertisement-interval-effective {
                      type uint32;
                      description
                        "Advertisement Periodic Effective (sec)";
                    }
    
                    leaf periodic-advertisement-threshold {
                      type uint32;
                      description
                        "Advertisement Periodic Threshold (%)";
                    }
    
                    leaf periodic-advertisement-minimum-change {
                      type uint32;
                      description
                        "Advertisement Periodic Minimum Change (uSec)";
                    }
    
                    leaf accelerated-advertisement-threshold {
                      type uint32;
                      description
                        "Advertisement Accelerated Threshold (%)";
                    }
    
                    leaf accelerated-advertisement-minimum-change {
                      type uint32;
                      description
                        "Advertisement Accelerated Minimum Change (uSec)";
                    }
    
                    leaf advertisement-logging-delay-exceeded-enabled {
                      type boolean;
                      description
                        "Enable emitting syslog when delay exceeds
    threshold";
                    }
    
                    leaf accelerated-advertisement-enabled {
                      type boolean;
                      description
                        "Advertisement Accelerated Enabled";
                    }
    
                    leaf advertisement-threshold-check-average-delay {
                      type boolean;
                      description
                        "Check Average-delay For Advertisement Threshold
    Crossing";
                    }
    
                    leaf advertisement-threshold-check-minimum-delay {
                      type boolean;
                      description
                        "Check Minimum-delay For Advertisement Threshold
    Crossing";
                    }
    
                    leaf advertisement-threshold-check-maximum-delay {
                      type boolean;
                      description
                        "Check Maximum-delay For Advertisement Threshold
    Crossing";
                    }
    
                    leaf anomaly-check-advertisement-upper-bound {
                      type uint32;
                      description
                        "Advertisement Anomaly Check Upper Bound (uSec)";
                    }
    
                    leaf anomaly-check-advertisement-lower-bound {
                      type uint32;
                      description
                        "Advertisement Anomaly Check Lower Bound (uSec)";
                    }
    
                    leaf anomaly-check-advertisement-enabled {
                      type boolean;
                      description
                        "Advertisement Anomaly Check Enabled";
                    }
                  }  // container interface-delay-profile
    
                  container sr-policy-delay-profile {
                    description
                      "Profile of SR Policy delay measurement";
                    container destination-sweeping-address {
                      description
                        "IPv4/IPv6 sweeping address";
                      leaf ip-address-type {
                        type Pm-addr;
                        description
                          "IPAddressType";
                      }
    
                      leaf ipv4 {
                        when
                          "../ip-address-type = 'ipv4'" {
                          description
                            "../IPAddressType = 'IPv4'";
                        }
                        type Pm-ipv4-addr;
                        description
                          "IPv4 address type";
                      }
    
                      leaf ipv6 {
                        when
                          "../ip-address-type = 'ipv6'" {
                          description
                            "../IPAddressType = 'IPv6'";
                        }
                        type Pm-ipv6-addr;
                        description
                          "IPv6 address type";
                      }
                    }  // container destination-sweeping-address
    
                    leaf probe-computation-interval {
                      type uint32;
                      description
                        "Probe Computation Interval (sec)";
                    }
    
                    leaf probe-computation-interval-effective {
                      type uint32;
                      description
                        "Effective Probe Computation Interval (sec)";
                    }
    
                    leaf tos-traffic-class-value {
                      type uint8;
                      description
                        "TOS Traffic Class value specified for protocol
    PM-MPLS";
                    }
    
                    leaf tos-dscp-value {
                      type uint8;
                      description
                        "TOS DSCP value specified for protocol
    TWAMP-LIGHT";
                    }
    
                    leaf burst-interval {
                      type uint32;
                      description
                        "Burst Interval (msec)";
                    }
    
                    leaf burst-interval-effective {
                      type uint32;
                      description
                        "Effective Burst Interval (msec)";
                    }
    
                    leaf burst-count {
                      type uint32;
                      description
                        "Number of burst in one probe";
                    }
    
                    leaf delay-measurement-mode {
                      type Pm-delay-mode;
                      description
                        "Delay Measurement Mode Type";
                    }
    
                    leaf router-alert {
                      type boolean;
                      description
                        "IP router alert option";
                    }
    
                    leaf encap-mode {
                      type Pm-encap-mode;
                      description "Encap Mode";
                    }
    
                    leaf payload-type {
                      type Pm-payload;
                      description
                        "Type of the probe packet payload";
                    }
    
                    leaf destination-sweeping-mode-enabled {
                      type boolean;
                      description
                        "Measure the delay with ECMP hashing by sweeping
    destination address";
                    }
    
                    leaf destination-sweeping-range {
                      type uint32;
                      description
                        "Number of IP addresses to sweep";
                    }
    
                    leaf periodic-advertisement-enabled {
                      type boolean;
                      description
                        "Advertisement Periodic Enabled";
                    }
    
                    leaf periodic-advertisement-interval {
                      type uint32;
                      description
                        "Advertisement Periodic Interval (sec)";
                    }
    
                    leaf periodic-advertisement-interval-effective {
                      type uint32;
                      description
                        "Advertisement Periodic Effective (sec)";
                    }
    
                    leaf periodic-advertisement-threshold {
                      type uint32;
                      description
                        "Advertisement Periodic Threshold (%)";
                    }
    
                    leaf periodic-advertisement-minimum-change {
                      type uint32;
                      description
                        "Advertisement Periodic Minimum Change (uSec)";
                    }
    
                    leaf accelerated-advertisement-threshold {
                      type uint32;
                      description
                        "Advertisement Accelerated Threshold (%)";
                    }
    
                    leaf accelerated-advertisement-minimum-change {
                      type uint32;
                      description
                        "Advertisement Accelerated Minimum Change (uSec)";
                    }
    
                    leaf advertisement-logging-delay-exceeded-enabled {
                      type boolean;
                      description
                        "Enable emitting syslog when delay exceeds
    threshold";
                    }
    
                    leaf accelerated-advertisement-enabled {
                      type boolean;
                      description
                        "Advertisement Accelerated Enabled";
                    }
    
                    leaf advertisement-threshold-check-average-delay {
                      type boolean;
                      description
                        "Check Average-delay For Advertisement Threshold
    Crossing";
                    }
    
                    leaf advertisement-threshold-check-minimum-delay {
                      type boolean;
                      description
                        "Check Minimum-delay For Advertisement Threshold
    Crossing";
                    }
    
                    leaf advertisement-threshold-check-maximum-delay {
                      type boolean;
                      description
                        "Check Maximum-delay For Advertisement Threshold
    Crossing";
                    }
    
                    leaf anomaly-check-advertisement-upper-bound {
                      type uint32;
                      description
                        "Advertisement Anomaly Check Upper Bound (uSec)";
                    }
    
                    leaf anomaly-check-advertisement-lower-bound {
                      type uint32;
                      description
                        "Advertisement Anomaly Check Lower Bound (uSec)";
                    }
    
                    leaf anomaly-check-advertisement-enabled {
                      type boolean;
                      description
                        "Advertisement Anomaly Check Enabled";
                    }
                  }  // container sr-policy-delay-profile
    
                  container rsvp-te-delay-profile {
                    description
                      "Profile of RSVP-TE delay measurement";
                    container destination-sweeping-address {
                      description
                        "IPv4/IPv6 sweeping address";
                      leaf ip-address-type {
                        type Pm-addr;
                        description
                          "IPAddressType";
                      }
    
                      leaf ipv4 {
                        when
                          "../ip-address-type = 'ipv4'" {
                          description
                            "../IPAddressType = 'IPv4'";
                        }
                        type Pm-ipv4-addr;
                        description
                          "IPv4 address type";
                      }
    
                      leaf ipv6 {
                        when
                          "../ip-address-type = 'ipv6'" {
                          description
                            "../IPAddressType = 'IPv6'";
                        }
                        type Pm-ipv6-addr;
                        description
                          "IPv6 address type";
                      }
                    }  // container destination-sweeping-address
    
                    leaf probe-computation-interval {
                      type uint32;
                      description
                        "Probe Computation Interval (sec)";
                    }
    
                    leaf probe-computation-interval-effective {
                      type uint32;
                      description
                        "Effective Probe Computation Interval (sec)";
                    }
    
                    leaf tos-traffic-class-value {
                      type uint8;
                      description
                        "TOS Traffic Class value specified for protocol
    PM-MPLS";
                    }
    
                    leaf tos-dscp-value {
                      type uint8;
                      description
                        "TOS DSCP value specified for protocol
    TWAMP-LIGHT";
                    }
    
                    leaf burst-interval {
                      type uint32;
                      description
                        "Burst Interval (msec)";
                    }
    
                    leaf burst-interval-effective {
                      type uint32;
                      description
                        "Effective Burst Interval (msec)";
                    }
    
                    leaf burst-count {
                      type uint32;
                      description
                        "Number of burst in one probe";
                    }
    
                    leaf delay-measurement-mode {
                      type Pm-delay-mode;
                      description
                        "Delay Measurement Mode Type";
                    }
    
                    leaf router-alert {
                      type boolean;
                      description
                        "IP router alert option";
                    }
    
                    leaf encap-mode {
                      type Pm-encap-mode;
                      description "Encap Mode";
                    }
    
                    leaf payload-type {
                      type Pm-payload;
                      description
                        "Type of the probe packet payload";
                    }
    
                    leaf destination-sweeping-mode-enabled {
                      type boolean;
                      description
                        "Measure the delay with ECMP hashing by sweeping
    destination address";
                    }
    
                    leaf destination-sweeping-range {
                      type uint32;
                      description
                        "Number of IP addresses to sweep";
                    }
    
                    leaf periodic-advertisement-enabled {
                      type boolean;
                      description
                        "Advertisement Periodic Enabled";
                    }
    
                    leaf periodic-advertisement-interval {
                      type uint32;
                      description
                        "Advertisement Periodic Interval (sec)";
                    }
    
                    leaf periodic-advertisement-interval-effective {
                      type uint32;
                      description
                        "Advertisement Periodic Effective (sec)";
                    }
    
                    leaf periodic-advertisement-threshold {
                      type uint32;
                      description
                        "Advertisement Periodic Threshold (%)";
                    }
    
                    leaf periodic-advertisement-minimum-change {
                      type uint32;
                      description
                        "Advertisement Periodic Minimum Change (uSec)";
                    }
    
                    leaf accelerated-advertisement-threshold {
                      type uint32;
                      description
                        "Advertisement Accelerated Threshold (%)";
                    }
    
                    leaf accelerated-advertisement-minimum-change {
                      type uint32;
                      description
                        "Advertisement Accelerated Minimum Change (uSec)";
                    }
    
                    leaf advertisement-logging-delay-exceeded-enabled {
                      type boolean;
                      description
                        "Enable emitting syslog when delay exceeds
    threshold";
                    }
    
                    leaf accelerated-advertisement-enabled {
                      type boolean;
                      description
                        "Advertisement Accelerated Enabled";
                    }
    
                    leaf advertisement-threshold-check-average-delay {
                      type boolean;
                      description
                        "Check Average-delay For Advertisement Threshold
    Crossing";
                    }
    
                    leaf advertisement-threshold-check-minimum-delay {
                      type boolean;
                      description
                        "Check Minimum-delay For Advertisement Threshold
    Crossing";
                    }
    
                    leaf advertisement-threshold-check-maximum-delay {
                      type boolean;
                      description
                        "Check Maximum-delay For Advertisement Threshold
    Crossing";
                    }
    
                    leaf anomaly-check-advertisement-upper-bound {
                      type uint32;
                      description
                        "Advertisement Anomaly Check Upper Bound (uSec)";
                    }
    
                    leaf anomaly-check-advertisement-lower-bound {
                      type uint32;
                      description
                        "Advertisement Anomaly Check Lower Bound (uSec)";
                    }
    
                    leaf anomaly-check-advertisement-enabled {
                      type boolean;
                      description
                        "Advertisement Anomaly Check Enabled";
                    }
                  }  // container rsvp-te-delay-profile
    
                  container endpoint-delay-profile {
                    description
                      "Profile of Endpoint delay measurement";
                    container destination-sweeping-address {
                      description
                        "IPv4/IPv6 sweeping address";
                      leaf ip-address-type {
                        type Pm-addr;
                        description
                          "IPAddressType";
                      }
    
                      leaf ipv4 {
                        when
                          "../ip-address-type = 'ipv4'" {
                          description
                            "../IPAddressType = 'IPv4'";
                        }
                        type Pm-ipv4-addr;
                        description
                          "IPv4 address type";
                      }
    
                      leaf ipv6 {
                        when
                          "../ip-address-type = 'ipv6'" {
                          description
                            "../IPAddressType = 'IPv6'";
                        }
                        type Pm-ipv6-addr;
                        description
                          "IPv6 address type";
                      }
                    }  // container destination-sweeping-address
    
                    leaf probe-computation-interval {
                      type uint32;
                      description
                        "Probe Computation Interval (sec)";
                    }
    
                    leaf probe-computation-interval-effective {
                      type uint32;
                      description
                        "Effective Probe Computation Interval (sec)";
                    }
    
                    leaf tos-traffic-class-value {
                      type uint8;
                      description
                        "TOS Traffic Class value specified for protocol
    PM-MPLS";
                    }
    
                    leaf tos-dscp-value {
                      type uint8;
                      description
                        "TOS DSCP value specified for protocol
    TWAMP-LIGHT";
                    }
    
                    leaf burst-interval {
                      type uint32;
                      description
                        "Burst Interval (msec)";
                    }
    
                    leaf burst-interval-effective {
                      type uint32;
                      description
                        "Effective Burst Interval (msec)";
                    }
    
                    leaf burst-count {
                      type uint32;
                      description
                        "Number of burst in one probe";
                    }
    
                    leaf delay-measurement-mode {
                      type Pm-delay-mode;
                      description
                        "Delay Measurement Mode Type";
                    }
    
                    leaf router-alert {
                      type boolean;
                      description
                        "IP router alert option";
                    }
    
                    leaf encap-mode {
                      type Pm-encap-mode;
                      description "Encap Mode";
                    }
    
                    leaf payload-type {
                      type Pm-payload;
                      description
                        "Type of the probe packet payload";
                    }
    
                    leaf destination-sweeping-mode-enabled {
                      type boolean;
                      description
                        "Measure the delay with ECMP hashing by sweeping
    destination address";
                    }
    
                    leaf destination-sweeping-range {
                      type uint32;
                      description
                        "Number of IP addresses to sweep";
                    }
    
                    leaf periodic-advertisement-enabled {
                      type boolean;
                      description
                        "Advertisement Periodic Enabled";
                    }
    
                    leaf periodic-advertisement-interval {
                      type uint32;
                      description
                        "Advertisement Periodic Interval (sec)";
                    }
    
                    leaf periodic-advertisement-interval-effective {
                      type uint32;
                      description
                        "Advertisement Periodic Effective (sec)";
                    }
    
                    leaf periodic-advertisement-threshold {
                      type uint32;
                      description
                        "Advertisement Periodic Threshold (%)";
                    }
    
                    leaf periodic-advertisement-minimum-change {
                      type uint32;
                      description
                        "Advertisement Periodic Minimum Change (uSec)";
                    }
    
                    leaf accelerated-advertisement-threshold {
                      type uint32;
                      description
                        "Advertisement Accelerated Threshold (%)";
                    }
    
                    leaf accelerated-advertisement-minimum-change {
                      type uint32;
                      description
                        "Advertisement Accelerated Minimum Change (uSec)";
                    }
    
                    leaf advertisement-logging-delay-exceeded-enabled {
                      type boolean;
                      description
                        "Enable emitting syslog when delay exceeds
    threshold";
                    }
    
                    leaf accelerated-advertisement-enabled {
                      type boolean;
                      description
                        "Advertisement Accelerated Enabled";
                    }
    
                    leaf advertisement-threshold-check-average-delay {
                      type boolean;
                      description
                        "Check Average-delay For Advertisement Threshold
    Crossing";
                    }
    
                    leaf advertisement-threshold-check-minimum-delay {
                      type boolean;
                      description
                        "Check Minimum-delay For Advertisement Threshold
    Crossing";
                    }
    
                    leaf advertisement-threshold-check-maximum-delay {
                      type boolean;
                      description
                        "Check Maximum-delay For Advertisement Threshold
    Crossing";
                    }
    
                    leaf anomaly-check-advertisement-upper-bound {
                      type uint32;
                      description
                        "Advertisement Anomaly Check Upper Bound (uSec)";
                    }
    
                    leaf anomaly-check-advertisement-lower-bound {
                      type uint32;
                      description
                        "Advertisement Anomaly Check Lower Bound (uSec)";
                    }
    
                    leaf anomaly-check-advertisement-enabled {
                      type boolean;
                      description
                        "Advertisement Anomaly Check Enabled";
                    }
                  }  // container endpoint-delay-profile
                }  // container delay-profile
    
                container loss-profile {
                  description
                    "Profile info of loss measurement";
                  container interface-delay-profile {
                    description
                      "Profile info of Interface loss measurement";
                    leaf probe-interval {
                      type uint32;
                      description
                        "Probe Interval (sec)";
                    }
    
                    leaf encap-mode {
                      type Pm-encap-mode;
                      description "Encap Mode";
                    }
    
                    leaf periodic-advertisement-enabled {
                      type boolean;
                      description
                        "Advertisement Periodic Enabled";
                    }
    
                    leaf periodic-advertisement-interval {
                      type uint32;
                      description
                        "Advertisement Periodic Interval (sec)";
                    }
    
                    leaf effective-periodic-advertisement-interval {
                      type uint32;
                      description
                        "Advertisement Periodic Effective (sec)";
                    }
    
                    leaf periodic-advertisement-threshold {
                      type uint32;
                      description
                        "Advertisement Periodic Threshold (%)";
                    }
    
                    leaf periodic-advertisement-minimum-change {
                      type uint32;
                      description
                        "Advertisement Periodic Minimum Change (uSec)";
                    }
    
                    leaf accelerated-advertisement-threshold {
                      type uint32;
                      description
                        "Advertisement Accelerated Threshold (%)";
                    }
    
                    leaf accelerated-advertisement-minimum-change {
                      type uint32;
                      description
                        "Advertisement Accelerated Minimum Change (uSec)";
                    }
    
                    leaf accelerated-advertisement-enabled {
                      type boolean;
                      description
                        "Advertisement Accelerated Enabled";
                    }
                  }  // container interface-delay-profile
                }  // container loss-profile
    
                container liveness-profile {
                  description
                    "Profile info of liveness detection";
                  container sr-policy-liveness-profile {
                    description
                      "Profile of SR Policy liveness detection ";
                    container destination-sweeping-address {
                      description
                        "IPv4/IPv6 sweeping address";
                      leaf ip-address-type {
                        type Pm-addr;
                        description
                          "IPAddressType";
                      }
    
                      leaf ipv4 {
                        when
                          "../ip-address-type = 'ipv4'" {
                          description
                            "../IPAddressType = 'IPv4'";
                        }
                        type Pm-ipv4-addr;
                        description
                          "IPv4 address type";
                      }
    
                      leaf ipv6 {
                        when
                          "../ip-address-type = 'ipv6'" {
                          description
                            "../IPAddressType = 'IPv6'";
                        }
                        type Pm-ipv6-addr;
                        description
                          "IPv6 address type";
                      }
                    }  // container destination-sweeping-address
    
                    container liveness-detection-config {
                      description
                        "Liveness detection config";
                      container sr-policy-liveness-detection {
                        when
                          "../transport-type = 'sr-policy-transport-type'" {
                          description
                            "../TransportType = 'SRPolicyTransportType'";
                        }
                        description
                          "Liveness detection info of SR Policy";
                        leaf multiplier {
                          type uint8;
                          description
                            "Detect multiplier";
                        }
    
                        leaf logging-state-change-enabled {
                          type boolean;
                          description
                            "Emit syslog when the state of the session
    changes";
                        }
                      }  // container sr-policy-liveness-detection
    
                      container ep-liveness-detection {
                        when
                          "../transport-type = 'endpoiont-transport-type'" {
                          description
                            "../TransportType = 'EndpoiontTransportType'";
                        }
                        description
                          "Liveness detection info of Endpoint";
                        leaf multiplier {
                          type uint8;
                          description
                            "Detect multiplier";
                        }
    
                        leaf logging-state-change-enabled {
                          type boolean;
                          description
                            "Emit syslog when the state of the session
    changes";
                        }
                      }  // container ep-liveness-detection
    
                      leaf transport-type {
                        type Pm-transport;
                        description
                          "TransportType";
                      }
                    }  // container liveness-detection-config
    
                    leaf tos-dscp-value {
                      type uint8;
                      description
                        "TOS DSCP value specified for protocol
    TWAMP-LIGHT";
                    }
    
                    leaf burst-interval {
                      type uint32;
                      description
                        "Burst Interval (msec)";
                    }
    
                    leaf burst-interval-effective {
                      type uint32;
                      description
                        "Effective Burst Interval (msec)";
                    }
    
                    leaf delay-measurement-mode {
                      type Pm-delay-mode;
                      description
                        "Delay Measurement Mode Type";
                    }
    
                    leaf payload-type {
                      type Pm-payload;
                      description
                        "Type of the probe packet payload";
                    }
    
                    leaf encap-mode {
                      type Pm-encap-mode;
                      description "Encap Mode";
                    }
    
                    leaf destination-sweeping-mode-enabled {
                      type boolean;
                      description
                        "Measure liveness detection with ECMP hashing by
    sweeping destination address";
                    }
    
                    leaf destination-sweeping-range {
                      type uint32;
                      description
                        "Number of IP addresses to sweep";
                    }
                  }  // container sr-policy-liveness-profile
    
                  container endpoint-liveness-profile {
                    description
                      "Profile of Endpoint liveness detection ";
                    container destination-sweeping-address {
                      description
                        "IPv4/IPv6 sweeping address";
                      leaf ip-address-type {
                        type Pm-addr;
                        description
                          "IPAddressType";
                      }
    
                      leaf ipv4 {
                        when
                          "../ip-address-type = 'ipv4'" {
                          description
                            "../IPAddressType = 'IPv4'";
                        }
                        type Pm-ipv4-addr;
                        description
                          "IPv4 address type";
                      }
    
                      leaf ipv6 {
                        when
                          "../ip-address-type = 'ipv6'" {
                          description
                            "../IPAddressType = 'IPv6'";
                        }
                        type Pm-ipv6-addr;
                        description
                          "IPv6 address type";
                      }
                    }  // container destination-sweeping-address
    
                    container liveness-detection-config {
                      description
                        "Liveness detection config";
                      container sr-policy-liveness-detection {
                        when
                          "../transport-type = 'sr-policy-transport-type'" {
                          description
                            "../TransportType = 'SRPolicyTransportType'";
                        }
                        description
                          "Liveness detection info of SR Policy";
                        leaf multiplier {
                          type uint8;
                          description
                            "Detect multiplier";
                        }
    
                        leaf logging-state-change-enabled {
                          type boolean;
                          description
                            "Emit syslog when the state of the session
    changes";
                        }
                      }  // container sr-policy-liveness-detection
    
                      container ep-liveness-detection {
                        when
                          "../transport-type = 'endpoiont-transport-type'" {
                          description
                            "../TransportType = 'EndpoiontTransportType'";
                        }
                        description
                          "Liveness detection info of Endpoint";
                        leaf multiplier {
                          type uint8;
                          description
                            "Detect multiplier";
                        }
    
                        leaf logging-state-change-enabled {
                          type boolean;
                          description
                            "Emit syslog when the state of the session
    changes";
                        }
                      }  // container ep-liveness-detection
    
                      leaf transport-type {
                        type Pm-transport;
                        description
                          "TransportType";
                      }
                    }  // container liveness-detection-config
    
                    leaf tos-dscp-value {
                      type uint8;
                      description
                        "TOS DSCP value specified for protocol
    TWAMP-LIGHT";
                    }
    
                    leaf burst-interval {
                      type uint32;
                      description
                        "Burst Interval (msec)";
                    }
    
                    leaf burst-interval-effective {
                      type uint32;
                      description
                        "Effective Burst Interval (msec)";
                    }
    
                    leaf delay-measurement-mode {
                      type Pm-delay-mode;
                      description
                        "Delay Measurement Mode Type";
                    }
    
                    leaf payload-type {
                      type Pm-payload;
                      description
                        "Type of the probe packet payload";
                    }
    
                    leaf encap-mode {
                      type Pm-encap-mode;
                      description "Encap Mode";
                    }
    
                    leaf destination-sweeping-mode-enabled {
                      type boolean;
                      description
                        "Measure liveness detection with ECMP hashing by
    sweeping destination address";
                    }
    
                    leaf destination-sweeping-range {
                      type uint32;
                      description
                        "Number of IP addresses to sweep";
                    }
                  }  // container endpoint-liveness-profile
                }  // container liveness-profile
              }  // container profile
    
              container pps-summary {
                description
                  "Summary information for PPS on querier";
                container pps-pool {
                  description
                    "PPS resource pool";
                  container single-pps-pool {
                    when
                      "../pps-pool-type = 'single-pps-pool'" {
                      description
                        "../PPSPoolType = 'SinglePPSPool'";
                    }
                    description
                      "Single PPS pool";
                    leaf maximum-pps-for-all-session {
                      type uint32;
                      units "packet/s";
                      description
                        "Total maximum packets per second allowed for all
    the sessions";
                    }
    
                    leaf total-pps-requested {
                      type uint32;
                      units "packet/s";
                      description
                        "Total packets per second requested for all the
    sessions";
                    }
    
                    leaf minimum-pps-budget {
                      type uint32;
                      description
                        "Guaranteed Minimum PPS budget per transport type";
                    }
    
                    leaf pps-budget-rebalance-threshold {
                      type uint32;
                      description
                        "PPS budget will be rebalanced when the changed
    requested PPS crosses this threshold";
                    }
                  }  // container single-pps-pool
    
                  container multiple-pps-pool {
                    when
                      "../pps-pool-type = 'multiple-pps-pool'" {
                      description
                        "../PPSPoolType = 'MultiplePPSPool'";
                    }
                    description
                      "Multiple PPS pool";
                    leaf maximum-pps-for-interface-session {
                      type uint32;
                      units "packet/s";
                      description
                        "Total maximum packets per second allowed for
    Interface sessions";
                    }
    
                    leaf total-pps-requested-for-interface-session {
                      type uint32;
                      units "packet/s";
                      description
                        "Total packets per second requested for Interface
    sessions";
                    }
    
                    leaf maximum-pps-for-mutihop-session {
                      type uint32;
                      units "packet/s";
                      description
                        "Total maximum packets per second allowed for
    multi-hop delay sessions";
                    }
    
                    leaf total-pps-requested-for-mh-session {
                      type uint32;
                      units "packet/s";
                      description
                        "Total packets per second requested for multi-hop
    delay sessions";
                    }
    
                    leaf minimum-pps-budget {
                      type uint32;
                      description
                        "Guaranteed Minimum PPS budget per transport type";
                    }
    
                    leaf pps-budget-rebalance-threshold {
                      type uint32;
                      description
                        "PPS budget will be rebalanced when the changed
    requested PPS crosses this threshold";
                    }
                  }  // container multiple-pps-pool
    
                  leaf pps-pool-type {
                    type Pm-rl-pps-pool;
                    description "PPSPoolType";
                  }
                }  // container pps-pool
    
                container interface-session-info {
                  description
                    "Information for interface performance
    measurement sessions";
                  leaf pps-budget {
                    type uint32;
                    units "packet/s";
                    description
                      "Packets per second resource assigned for this
    type of session";
                  }
    
                  leaf requested-pps {
                    type uint32;
                    units "packet/s";
                    description
                      "Packets per second requested";
                  }
    
                  leaf current-multi-hop-burst-interval-stretch-factor {
                    type uint32;
                    units "percentage";
                    description
                      "Multi hop session's burst interval stretch
    factor percentage current value";
                  }
    
                  leaf dampened-multi-hop-burst-interval-stretch-factor {
                    type uint32;
                    units "percentage";
                    description
                      "Multi hop session's burst interval stretch
    factor percentage dampened value";
                  }
    
                  leaf inuse-multi-hop-burst-interval-stretch-factor {
                    type uint32;
                    units "percentage";
                    description
                      "Multi hop session's burst interval stretch
    factor percentage inuse value";
                  }
                }  // container interface-session-info
    
                container sr-policy-session-info {
                  description
                    "Information for SR Policy performance
    measurement sessions";
                  leaf pps-budget {
                    type uint32;
                    units "packet/s";
                    description
                      "Packets per second resource assigned for this
    type of session";
                  }
    
                  leaf requested-pps {
                    type uint32;
                    units "packet/s";
                    description
                      "Packets per second requested";
                  }
    
                  leaf current-multi-hop-burst-interval-stretch-factor {
                    type uint32;
                    units "percentage";
                    description
                      "Multi hop session's burst interval stretch
    factor percentage current value";
                  }
    
                  leaf dampened-multi-hop-burst-interval-stretch-factor {
                    type uint32;
                    units "percentage";
                    description
                      "Multi hop session's burst interval stretch
    factor percentage dampened value";
                  }
    
                  leaf inuse-multi-hop-burst-interval-stretch-factor {
                    type uint32;
                    units "percentage";
                    description
                      "Multi hop session's burst interval stretch
    factor percentage inuse value";
                  }
                }  // container sr-policy-session-info
    
                container rsvp-te-session-info {
                  description
                    "Information for RSVP-TE tunnel performance
    measurement sessions";
                  leaf pps-budget {
                    type uint32;
                    units "packet/s";
                    description
                      "Packets per second resource assigned for this
    type of session";
                  }
    
                  leaf requested-pps {
                    type uint32;
                    units "packet/s";
                    description
                      "Packets per second requested";
                  }
    
                  leaf current-multi-hop-burst-interval-stretch-factor {
                    type uint32;
                    units "percentage";
                    description
                      "Multi hop session's burst interval stretch
    factor percentage current value";
                  }
    
                  leaf dampened-multi-hop-burst-interval-stretch-factor {
                    type uint32;
                    units "percentage";
                    description
                      "Multi hop session's burst interval stretch
    factor percentage dampened value";
                  }
    
                  leaf inuse-multi-hop-burst-interval-stretch-factor {
                    type uint32;
                    units "percentage";
                    description
                      "Multi hop session's burst interval stretch
    factor percentage inuse value";
                  }
                }  // container rsvp-te-session-info
    
                container endpoint-session-info {
                  description
                    "Information for Endpoint performance measurement
    sessions";
                  leaf pps-budget {
                    type uint32;
                    units "packet/s";
                    description
                      "Packets per second resource assigned for this
    type of session";
                  }
    
                  leaf requested-pps {
                    type uint32;
                    units "packet/s";
                    description
                      "Packets per second requested";
                  }
    
                  leaf current-multi-hop-burst-interval-stretch-factor {
                    type uint32;
                    units "percentage";
                    description
                      "Multi hop session's burst interval stretch
    factor percentage current value";
                  }
    
                  leaf dampened-multi-hop-burst-interval-stretch-factor {
                    type uint32;
                    units "percentage";
                    description
                      "Multi hop session's burst interval stretch
    factor percentage dampened value";
                  }
    
                  leaf inuse-multi-hop-burst-interval-stretch-factor {
                    type uint32;
                    units "percentage";
                    description
                      "Multi hop session's burst interval stretch
    factor percentage inuse value";
                  }
                }  // container endpoint-session-info
              }  // container pps-summary
    
              container distribution-records {
                description
                  "Table of linecard session distribution records";
                list distribution-record {
                  key "record-name";
                  description
                    "linecard session distribution record";
                  leaf record-name {
                    type xr:Cisco-ios-xr-string;
                    description
                      "Distribution record name";
                  }
    
                  leaf distribution-record-name {
                    type string;
                    description
                      "Name of the distribution record";
                  }
    
                  leaf linecard-name {
                    type string;
                    description
                      "Name of the linecard";
                  }
    
                  leaf record-creation-timestamp {
                    type uint64;
                    units "second";
                    description
                      "Time when the distribution record were created
    (seconds since Jan. 1, 1970)";
                  }
    
                  list session {
                    description
                      "List of DR sessions";
                    leaf distribution-record-name {
                      type string;
                      description
                        "Name of the distribution record";
                    }
    
                    leaf lsp-id {
                      type uint32;
                      description "LSP ID";
                    }
    
                    leaf delay-notification-received {
                      type boolean;
                      description
                        "True if the delay notification message was
    received";
                    }
    
                    leaf liveness-notification-received {
                      type boolean;
                      description
                        "True if the liveness notification message was
    received";
                    }
                  }  // list session
                }  // list distribution-record
              }  // container distribution-records
    
              container name-profile {
                description "Profile Name";
                container delay-profile-rsvptes {
                  description
                    "RSVP-TE profile name table";
                  list delay-profile-rsvpte {
                    key "profile-name";
                    description
                      "RSVP-TE delay profile name";
                    leaf profile-name {
                      type xr:Cisco-ios-xr-string;
                      description "Profile name";
                    }
    
                    container profile {
                      description "Profile bag";
                      container delay {
                        when
                          "../measurement-type = 'delay-measurement-type'" {
                          description
                            "../MeasurementType = 'DelayMeasurementType'";
                        }
                        description
                          "Delay-Measurement name profile bag";
                        container destination-sweeping-address {
                          description
                            "IPv4/IPv6 sweeping address";
                          leaf ip-address-type {
                            type Pm-addr;
                            description
                              "IPAddressType";
                          }
    
                          leaf ipv4 {
                            when
                              "../ip-address-type = 'ipv4'" {
                              description
                                "../IPAddressType = 'IPv4'";
                            }
                            type Pm-ipv4-addr;
                            description
                              "IPv4 address type";
                          }
    
                          leaf ipv6 {
                            when
                              "../ip-address-type = 'ipv6'" {
                              description
                                "../IPAddressType = 'IPv6'";
                            }
                            type Pm-ipv6-addr;
                            description
                              "IPv6 address type";
                          }
                        }  // container destination-sweeping-address
    
                        leaf probe-computation-interval {
                          type uint32;
                          description
                            "Probe Computation Interval (sec)";
                        }
    
                        leaf probe-computation-interval-effective {
                          type uint32;
                          description
                            "Effective Probe Computation Interval (sec)";
                        }
    
                        leaf tos-traffic-class-value {
                          type uint8;
                          description
                            "TOS Traffic Class value specified for protocol
    PM-MPLS";
                        }
    
                        leaf tos-dscp-value {
                          type uint8;
                          description
                            "TOS DSCP value specified for protocol
    TWAMP-LIGHT";
                        }
    
                        leaf burst-interval {
                          type uint32;
                          description
                            "Burst Interval (msec)";
                        }
    
                        leaf burst-interval-effective {
                          type uint32;
                          description
                            "Effective Burst Interval (msec)";
                        }
    
                        leaf burst-count {
                          type uint32;
                          description
                            "Number of burst in one probe";
                        }
    
                        leaf delay-measurement-mode {
                          type Pm-delay-mode;
                          description
                            "Delay Measurement Mode Type";
                        }
    
                        leaf router-alert {
                          type boolean;
                          description
                            "IP router alert option";
                        }
    
                        leaf encap-mode {
                          type Pm-encap-mode;
                          description
                            "Encap Mode";
                        }
    
                        leaf payload-type {
                          type Pm-payload;
                          description
                            "Type of the probe packet payload";
                        }
    
                        leaf destination-sweeping-mode-enabled {
                          type boolean;
                          description
                            "Measure the delay with ECMP hashing by sweeping
    destination address";
                        }
    
                        leaf destination-sweeping-range {
                          type uint32;
                          description
                            "Number of IP addresses to sweep";
                        }
    
                        leaf periodic-advertisement-enabled {
                          type boolean;
                          description
                            "Advertisement Periodic Enabled";
                        }
    
                        leaf periodic-advertisement-interval {
                          type uint32;
                          description
                            "Advertisement Periodic Interval (sec)";
                        }
    
                        leaf periodic-advertisement-interval-effective {
                          type uint32;
                          description
                            "Advertisement Periodic Effective (sec)";
                        }
    
                        leaf periodic-advertisement-threshold {
                          type uint32;
                          description
                            "Advertisement Periodic Threshold (%)";
                        }
    
                        leaf periodic-advertisement-minimum-change {
                          type uint32;
                          description
                            "Advertisement Periodic Minimum Change (uSec)";
                        }
    
                        leaf accelerated-advertisement-threshold {
                          type uint32;
                          description
                            "Advertisement Accelerated Threshold (%)";
                        }
    
                        leaf accelerated-advertisement-minimum-change {
                          type uint32;
                          description
                            "Advertisement Accelerated Minimum Change (uSec)";
                        }
    
                        leaf advertisement-logging-delay-exceeded-enabled {
                          type boolean;
                          description
                            "Enable emitting syslog when delay exceeds
    threshold";
                        }
    
                        leaf accelerated-advertisement-enabled {
                          type boolean;
                          description
                            "Advertisement Accelerated Enabled";
                        }
    
                        leaf advertisement-threshold-check-average-delay {
                          type boolean;
                          description
                            "Check Average-delay For Advertisement Threshold
    Crossing";
                        }
    
                        leaf advertisement-threshold-check-minimum-delay {
                          type boolean;
                          description
                            "Check Minimum-delay For Advertisement Threshold
    Crossing";
                        }
    
                        leaf advertisement-threshold-check-maximum-delay {
                          type boolean;
                          description
                            "Check Maximum-delay For Advertisement Threshold
    Crossing";
                        }
    
                        leaf anomaly-check-advertisement-upper-bound {
                          type uint32;
                          description
                            "Advertisement Anomaly Check Upper Bound (uSec)";
                        }
    
                        leaf anomaly-check-advertisement-lower-bound {
                          type uint32;
                          description
                            "Advertisement Anomaly Check Lower Bound (uSec)";
                        }
    
                        leaf anomaly-check-advertisement-enabled {
                          type boolean;
                          description
                            "Advertisement Anomaly Check Enabled";
                        }
                      }  // container delay
    
                      container loss {
                        when
                          "../measurement-type = 'loss-measurement-type'" {
                          description
                            "../MeasurementType = 'LossMeasurementType'";
                        }
                        description
                          "Loss-Measurement name profile bag";
                        leaf probe-interval {
                          type uint32;
                          description
                            "Probe Interval (sec)";
                        }
    
                        leaf encap-mode {
                          type Pm-encap-mode;
                          description
                            "Encap Mode";
                        }
    
                        leaf periodic-advertisement-enabled {
                          type boolean;
                          description
                            "Advertisement Periodic Enabled";
                        }
    
                        leaf periodic-advertisement-interval {
                          type uint32;
                          description
                            "Advertisement Periodic Interval (sec)";
                        }
    
                        leaf effective-periodic-advertisement-interval {
                          type uint32;
                          description
                            "Advertisement Periodic Effective (sec)";
                        }
    
                        leaf periodic-advertisement-threshold {
                          type uint32;
                          description
                            "Advertisement Periodic Threshold (%)";
                        }
    
                        leaf periodic-advertisement-minimum-change {
                          type uint32;
                          description
                            "Advertisement Periodic Minimum Change (uSec)";
                        }
    
                        leaf accelerated-advertisement-threshold {
                          type uint32;
                          description
                            "Advertisement Accelerated Threshold (%)";
                        }
    
                        leaf accelerated-advertisement-minimum-change {
                          type uint32;
                          description
                            "Advertisement Accelerated Minimum Change (uSec)";
                        }
    
                        leaf accelerated-advertisement-enabled {
                          type boolean;
                          description
                            "Advertisement Accelerated Enabled";
                        }
                      }  // container loss
    
                      container liveness {
                        when
                          "../measurement-type = 'liveness-detection-type'" {
                          description
                            "../MeasurementType = 'LivenessDetectionType'";
                        }
                        description
                          "Liveness-detection name profile bag";
                        container destination-sweeping-address {
                          description
                            "IPv4/IPv6 sweeping address";
                          leaf ip-address-type {
                            type Pm-addr;
                            description
                              "IPAddressType";
                          }
    
                          leaf ipv4 {
                            when
                              "../ip-address-type = 'ipv4'" {
                              description
                                "../IPAddressType = 'IPv4'";
                            }
                            type Pm-ipv4-addr;
                            description
                              "IPv4 address type";
                          }
    
                          leaf ipv6 {
                            when
                              "../ip-address-type = 'ipv6'" {
                              description
                                "../IPAddressType = 'IPv6'";
                            }
                            type Pm-ipv6-addr;
                            description
                              "IPv6 address type";
                          }
                        }  // container destination-sweeping-address
    
                        container liveness-detection-config {
                          description
                            "Liveness detection config";
                          container sr-policy-liveness-detection {
                            when
                              "../transport-type = 'sr-policy-transport-type'" {
                              description
                                "../TransportType = 'SRPolicyTransportType'";
                            }
                            description
                              "Liveness detection info of SR Policy";
                            leaf multiplier {
                              type uint8;
                              description
                                "Detect multiplier";
                            }
    
                            leaf logging-state-change-enabled {
                              type boolean;
                              description
                                "Emit syslog when the state of the session
    changes";
                            }
                          }  // container sr-policy-liveness-detection
    
                          container ep-liveness-detection {
                            when
                              "../transport-type = 'endpoiont-transport-type'" {
                              description
                                "../TransportType = 'EndpoiontTransportType'";
                            }
                            description
                              "Liveness detection info of Endpoint";
                            leaf multiplier {
                              type uint8;
                              description
                                "Detect multiplier";
                            }
    
                            leaf logging-state-change-enabled {
                              type boolean;
                              description
                                "Emit syslog when the state of the session
    changes";
                            }
                          }  // container ep-liveness-detection
    
                          leaf transport-type {
                            type Pm-transport;
                            description
                              "TransportType";
                          }
                        }  // container liveness-detection-config
    
                        leaf tos-dscp-value {
                          type uint8;
                          description
                            "TOS DSCP value specified for protocol
    TWAMP-LIGHT";
                        }
    
                        leaf burst-interval {
                          type uint32;
                          description
                            "Burst Interval (msec)";
                        }
    
                        leaf burst-interval-effective {
                          type uint32;
                          description
                            "Effective Burst Interval (msec)";
                        }
    
                        leaf delay-measurement-mode {
                          type Pm-delay-mode;
                          description
                            "Delay Measurement Mode Type";
                        }
    
                        leaf payload-type {
                          type Pm-payload;
                          description
                            "Type of the probe packet payload";
                        }
    
                        leaf encap-mode {
                          type Pm-encap-mode;
                          description
                            "Encap Mode";
                        }
    
                        leaf destination-sweeping-mode-enabled {
                          type boolean;
                          description
                            "Measure liveness detection with ECMP hashing by
    sweeping destination address";
                        }
    
                        leaf destination-sweeping-range {
                          type uint32;
                          description
                            "Number of IP addresses to sweep";
                        }
                      }  // container liveness
    
                      leaf measurement-type {
                        type Pm-measurement;
                        description
                          "MeasurementType";
                      }
                    }  // container profile
    
                    leaf name {
                      type string;
                      description "Profile name";
                    }
    
                    leaf transport-type {
                      type Pm-transport;
                      description
                        "Transport type";
                    }
                  }  // list delay-profile-rsvpte
                }  // container delay-profile-rsvptes
    
                container delay-profile-endpoints {
                  description
                    "Endpoint profile name table";
                  list delay-profile-endpoint {
                    key "profile-name";
                    description
                      "Endpoint delay profile name";
                    leaf profile-name {
                      type xr:Cisco-ios-xr-string;
                      description "Profile name";
                    }
    
                    container profile {
                      description "Profile bag";
                      container delay {
                        when
                          "../measurement-type = 'delay-measurement-type'" {
                          description
                            "../MeasurementType = 'DelayMeasurementType'";
                        }
                        description
                          "Delay-Measurement name profile bag";
                        container destination-sweeping-address {
                          description
                            "IPv4/IPv6 sweeping address";
                          leaf ip-address-type {
                            type Pm-addr;
                            description
                              "IPAddressType";
                          }
    
                          leaf ipv4 {
                            when
                              "../ip-address-type = 'ipv4'" {
                              description
                                "../IPAddressType = 'IPv4'";
                            }
                            type Pm-ipv4-addr;
                            description
                              "IPv4 address type";
                          }
    
                          leaf ipv6 {
                            when
                              "../ip-address-type = 'ipv6'" {
                              description
                                "../IPAddressType = 'IPv6'";
                            }
                            type Pm-ipv6-addr;
                            description
                              "IPv6 address type";
                          }
                        }  // container destination-sweeping-address
    
                        leaf probe-computation-interval {
                          type uint32;
                          description
                            "Probe Computation Interval (sec)";
                        }
    
                        leaf probe-computation-interval-effective {
                          type uint32;
                          description
                            "Effective Probe Computation Interval (sec)";
                        }
    
                        leaf tos-traffic-class-value {
                          type uint8;
                          description
                            "TOS Traffic Class value specified for protocol
    PM-MPLS";
                        }
    
                        leaf tos-dscp-value {
                          type uint8;
                          description
                            "TOS DSCP value specified for protocol
    TWAMP-LIGHT";
                        }
    
                        leaf burst-interval {
                          type uint32;
                          description
                            "Burst Interval (msec)";
                        }
    
                        leaf burst-interval-effective {
                          type uint32;
                          description
                            "Effective Burst Interval (msec)";
                        }
    
                        leaf burst-count {
                          type uint32;
                          description
                            "Number of burst in one probe";
                        }
    
                        leaf delay-measurement-mode {
                          type Pm-delay-mode;
                          description
                            "Delay Measurement Mode Type";
                        }
    
                        leaf router-alert {
                          type boolean;
                          description
                            "IP router alert option";
                        }
    
                        leaf encap-mode {
                          type Pm-encap-mode;
                          description
                            "Encap Mode";
                        }
    
                        leaf payload-type {
                          type Pm-payload;
                          description
                            "Type of the probe packet payload";
                        }
    
                        leaf destination-sweeping-mode-enabled {
                          type boolean;
                          description
                            "Measure the delay with ECMP hashing by sweeping
    destination address";
                        }
    
                        leaf destination-sweeping-range {
                          type uint32;
                          description
                            "Number of IP addresses to sweep";
                        }
    
                        leaf periodic-advertisement-enabled {
                          type boolean;
                          description
                            "Advertisement Periodic Enabled";
                        }
    
                        leaf periodic-advertisement-interval {
                          type uint32;
                          description
                            "Advertisement Periodic Interval (sec)";
                        }
    
                        leaf periodic-advertisement-interval-effective {
                          type uint32;
                          description
                            "Advertisement Periodic Effective (sec)";
                        }
    
                        leaf periodic-advertisement-threshold {
                          type uint32;
                          description
                            "Advertisement Periodic Threshold (%)";
                        }
    
                        leaf periodic-advertisement-minimum-change {
                          type uint32;
                          description
                            "Advertisement Periodic Minimum Change (uSec)";
                        }
    
                        leaf accelerated-advertisement-threshold {
                          type uint32;
                          description
                            "Advertisement Accelerated Threshold (%)";
                        }
    
                        leaf accelerated-advertisement-minimum-change {
                          type uint32;
                          description
                            "Advertisement Accelerated Minimum Change (uSec)";
                        }
    
                        leaf advertisement-logging-delay-exceeded-enabled {
                          type boolean;
                          description
                            "Enable emitting syslog when delay exceeds
    threshold";
                        }
    
                        leaf accelerated-advertisement-enabled {
                          type boolean;
                          description
                            "Advertisement Accelerated Enabled";
                        }
    
                        leaf advertisement-threshold-check-average-delay {
                          type boolean;
                          description
                            "Check Average-delay For Advertisement Threshold
    Crossing";
                        }
    
                        leaf advertisement-threshold-check-minimum-delay {
                          type boolean;
                          description
                            "Check Minimum-delay For Advertisement Threshold
    Crossing";
                        }
    
                        leaf advertisement-threshold-check-maximum-delay {
                          type boolean;
                          description
                            "Check Maximum-delay For Advertisement Threshold
    Crossing";
                        }
    
                        leaf anomaly-check-advertisement-upper-bound {
                          type uint32;
                          description
                            "Advertisement Anomaly Check Upper Bound (uSec)";
                        }
    
                        leaf anomaly-check-advertisement-lower-bound {
                          type uint32;
                          description
                            "Advertisement Anomaly Check Lower Bound (uSec)";
                        }
    
                        leaf anomaly-check-advertisement-enabled {
                          type boolean;
                          description
                            "Advertisement Anomaly Check Enabled";
                        }
                      }  // container delay
    
                      container loss {
                        when
                          "../measurement-type = 'loss-measurement-type'" {
                          description
                            "../MeasurementType = 'LossMeasurementType'";
                        }
                        description
                          "Loss-Measurement name profile bag";
                        leaf probe-interval {
                          type uint32;
                          description
                            "Probe Interval (sec)";
                        }
    
                        leaf encap-mode {
                          type Pm-encap-mode;
                          description
                            "Encap Mode";
                        }
    
                        leaf periodic-advertisement-enabled {
                          type boolean;
                          description
                            "Advertisement Periodic Enabled";
                        }
    
                        leaf periodic-advertisement-interval {
                          type uint32;
                          description
                            "Advertisement Periodic Interval (sec)";
                        }
    
                        leaf effective-periodic-advertisement-interval {
                          type uint32;
                          description
                            "Advertisement Periodic Effective (sec)";
                        }
    
                        leaf periodic-advertisement-threshold {
                          type uint32;
                          description
                            "Advertisement Periodic Threshold (%)";
                        }
    
                        leaf periodic-advertisement-minimum-change {
                          type uint32;
                          description
                            "Advertisement Periodic Minimum Change (uSec)";
                        }
    
                        leaf accelerated-advertisement-threshold {
                          type uint32;
                          description
                            "Advertisement Accelerated Threshold (%)";
                        }
    
                        leaf accelerated-advertisement-minimum-change {
                          type uint32;
                          description
                            "Advertisement Accelerated Minimum Change (uSec)";
                        }
    
                        leaf accelerated-advertisement-enabled {
                          type boolean;
                          description
                            "Advertisement Accelerated Enabled";
                        }
                      }  // container loss
    
                      container liveness {
                        when
                          "../measurement-type = 'liveness-detection-type'" {
                          description
                            "../MeasurementType = 'LivenessDetectionType'";
                        }
                        description
                          "Liveness-detection name profile bag";
                        container destination-sweeping-address {
                          description
                            "IPv4/IPv6 sweeping address";
                          leaf ip-address-type {
                            type Pm-addr;
                            description
                              "IPAddressType";
                          }
    
                          leaf ipv4 {
                            when
                              "../ip-address-type = 'ipv4'" {
                              description
                                "../IPAddressType = 'IPv4'";
                            }
                            type Pm-ipv4-addr;
                            description
                              "IPv4 address type";
                          }
    
                          leaf ipv6 {
                            when
                              "../ip-address-type = 'ipv6'" {
                              description
                                "../IPAddressType = 'IPv6'";
                            }
                            type Pm-ipv6-addr;
                            description
                              "IPv6 address type";
                          }
                        }  // container destination-sweeping-address
    
                        container liveness-detection-config {
                          description
                            "Liveness detection config";
                          container sr-policy-liveness-detection {
                            when
                              "../transport-type = 'sr-policy-transport-type'" {
                              description
                                "../TransportType = 'SRPolicyTransportType'";
                            }
                            description
                              "Liveness detection info of SR Policy";
                            leaf multiplier {
                              type uint8;
                              description
                                "Detect multiplier";
                            }
    
                            leaf logging-state-change-enabled {
                              type boolean;
                              description
                                "Emit syslog when the state of the session
    changes";
                            }
                          }  // container sr-policy-liveness-detection
    
                          container ep-liveness-detection {
                            when
                              "../transport-type = 'endpoiont-transport-type'" {
                              description
                                "../TransportType = 'EndpoiontTransportType'";
                            }
                            description
                              "Liveness detection info of Endpoint";
                            leaf multiplier {
                              type uint8;
                              description
                                "Detect multiplier";
                            }
    
                            leaf logging-state-change-enabled {
                              type boolean;
                              description
                                "Emit syslog when the state of the session
    changes";
                            }
                          }  // container ep-liveness-detection
    
                          leaf transport-type {
                            type Pm-transport;
                            description
                              "TransportType";
                          }
                        }  // container liveness-detection-config
    
                        leaf tos-dscp-value {
                          type uint8;
                          description
                            "TOS DSCP value specified for protocol
    TWAMP-LIGHT";
                        }
    
                        leaf burst-interval {
                          type uint32;
                          description
                            "Burst Interval (msec)";
                        }
    
                        leaf burst-interval-effective {
                          type uint32;
                          description
                            "Effective Burst Interval (msec)";
                        }
    
                        leaf delay-measurement-mode {
                          type Pm-delay-mode;
                          description
                            "Delay Measurement Mode Type";
                        }
    
                        leaf payload-type {
                          type Pm-payload;
                          description
                            "Type of the probe packet payload";
                        }
    
                        leaf encap-mode {
                          type Pm-encap-mode;
                          description
                            "Encap Mode";
                        }
    
                        leaf destination-sweeping-mode-enabled {
                          type boolean;
                          description
                            "Measure liveness detection with ECMP hashing by
    sweeping destination address";
                        }
    
                        leaf destination-sweeping-range {
                          type uint32;
                          description
                            "Number of IP addresses to sweep";
                        }
                      }  // container liveness
    
                      leaf measurement-type {
                        type Pm-measurement;
                        description
                          "MeasurementType";
                      }
                    }  // container profile
    
                    leaf name {
                      type string;
                      description "Profile name";
                    }
    
                    leaf transport-type {
                      type Pm-transport;
                      description
                        "Transport type";
                    }
                  }  // list delay-profile-endpoint
                }  // container delay-profile-endpoints
    
                container liveness-profile-endpoints {
                  description
                    "Endpoint liveness profile name table";
                  list liveness-profile-endpoint {
                    key "profile-name";
                    description
                      "Endpoint liveness profile name";
                    leaf profile-name {
                      type xr:Cisco-ios-xr-string;
                      description "Profile name";
                    }
    
                    container profile {
                      description "Profile bag";
                      container delay {
                        when
                          "../measurement-type = 'delay-measurement-type'" {
                          description
                            "../MeasurementType = 'DelayMeasurementType'";
                        }
                        description
                          "Delay-Measurement name profile bag";
                        container destination-sweeping-address {
                          description
                            "IPv4/IPv6 sweeping address";
                          leaf ip-address-type {
                            type Pm-addr;
                            description
                              "IPAddressType";
                          }
    
                          leaf ipv4 {
                            when
                              "../ip-address-type = 'ipv4'" {
                              description
                                "../IPAddressType = 'IPv4'";
                            }
                            type Pm-ipv4-addr;
                            description
                              "IPv4 address type";
                          }
    
                          leaf ipv6 {
                            when
                              "../ip-address-type = 'ipv6'" {
                              description
                                "../IPAddressType = 'IPv6'";
                            }
                            type Pm-ipv6-addr;
                            description
                              "IPv6 address type";
                          }
                        }  // container destination-sweeping-address
    
                        leaf probe-computation-interval {
                          type uint32;
                          description
                            "Probe Computation Interval (sec)";
                        }
    
                        leaf probe-computation-interval-effective {
                          type uint32;
                          description
                            "Effective Probe Computation Interval (sec)";
                        }
    
                        leaf tos-traffic-class-value {
                          type uint8;
                          description
                            "TOS Traffic Class value specified for protocol
    PM-MPLS";
                        }
    
                        leaf tos-dscp-value {
                          type uint8;
                          description
                            "TOS DSCP value specified for protocol
    TWAMP-LIGHT";
                        }
    
                        leaf burst-interval {
                          type uint32;
                          description
                            "Burst Interval (msec)";
                        }
    
                        leaf burst-interval-effective {
                          type uint32;
                          description
                            "Effective Burst Interval (msec)";
                        }
    
                        leaf burst-count {
                          type uint32;
                          description
                            "Number of burst in one probe";
                        }
    
                        leaf delay-measurement-mode {
                          type Pm-delay-mode;
                          description
                            "Delay Measurement Mode Type";
                        }
    
                        leaf router-alert {
                          type boolean;
                          description
                            "IP router alert option";
                        }
    
                        leaf encap-mode {
                          type Pm-encap-mode;
                          description
                            "Encap Mode";
                        }
    
                        leaf payload-type {
                          type Pm-payload;
                          description
                            "Type of the probe packet payload";
                        }
    
                        leaf destination-sweeping-mode-enabled {
                          type boolean;
                          description
                            "Measure the delay with ECMP hashing by sweeping
    destination address";
                        }
    
                        leaf destination-sweeping-range {
                          type uint32;
                          description
                            "Number of IP addresses to sweep";
                        }
    
                        leaf periodic-advertisement-enabled {
                          type boolean;
                          description
                            "Advertisement Periodic Enabled";
                        }
    
                        leaf periodic-advertisement-interval {
                          type uint32;
                          description
                            "Advertisement Periodic Interval (sec)";
                        }
    
                        leaf periodic-advertisement-interval-effective {
                          type uint32;
                          description
                            "Advertisement Periodic Effective (sec)";
                        }
    
                        leaf periodic-advertisement-threshold {
                          type uint32;
                          description
                            "Advertisement Periodic Threshold (%)";
                        }
    
                        leaf periodic-advertisement-minimum-change {
                          type uint32;
                          description
                            "Advertisement Periodic Minimum Change (uSec)";
                        }
    
                        leaf accelerated-advertisement-threshold {
                          type uint32;
                          description
                            "Advertisement Accelerated Threshold (%)";
                        }
    
                        leaf accelerated-advertisement-minimum-change {
                          type uint32;
                          description
                            "Advertisement Accelerated Minimum Change (uSec)";
                        }
    
                        leaf advertisement-logging-delay-exceeded-enabled {
                          type boolean;
                          description
                            "Enable emitting syslog when delay exceeds
    threshold";
                        }
    
                        leaf accelerated-advertisement-enabled {
                          type boolean;
                          description
                            "Advertisement Accelerated Enabled";
                        }
    
                        leaf advertisement-threshold-check-average-delay {
                          type boolean;
                          description
                            "Check Average-delay For Advertisement Threshold
    Crossing";
                        }
    
                        leaf advertisement-threshold-check-minimum-delay {
                          type boolean;
                          description
                            "Check Minimum-delay For Advertisement Threshold
    Crossing";
                        }
    
                        leaf advertisement-threshold-check-maximum-delay {
                          type boolean;
                          description
                            "Check Maximum-delay For Advertisement Threshold
    Crossing";
                        }
    
                        leaf anomaly-check-advertisement-upper-bound {
                          type uint32;
                          description
                            "Advertisement Anomaly Check Upper Bound (uSec)";
                        }
    
                        leaf anomaly-check-advertisement-lower-bound {
                          type uint32;
                          description
                            "Advertisement Anomaly Check Lower Bound (uSec)";
                        }
    
                        leaf anomaly-check-advertisement-enabled {
                          type boolean;
                          description
                            "Advertisement Anomaly Check Enabled";
                        }
                      }  // container delay
    
                      container loss {
                        when
                          "../measurement-type = 'loss-measurement-type'" {
                          description
                            "../MeasurementType = 'LossMeasurementType'";
                        }
                        description
                          "Loss-Measurement name profile bag";
                        leaf probe-interval {
                          type uint32;
                          description
                            "Probe Interval (sec)";
                        }
    
                        leaf encap-mode {
                          type Pm-encap-mode;
                          description
                            "Encap Mode";
                        }
    
                        leaf periodic-advertisement-enabled {
                          type boolean;
                          description
                            "Advertisement Periodic Enabled";
                        }
    
                        leaf periodic-advertisement-interval {
                          type uint32;
                          description
                            "Advertisement Periodic Interval (sec)";
                        }
    
                        leaf effective-periodic-advertisement-interval {
                          type uint32;
                          description
                            "Advertisement Periodic Effective (sec)";
                        }
    
                        leaf periodic-advertisement-threshold {
                          type uint32;
                          description
                            "Advertisement Periodic Threshold (%)";
                        }
    
                        leaf periodic-advertisement-minimum-change {
                          type uint32;
                          description
                            "Advertisement Periodic Minimum Change (uSec)";
                        }
    
                        leaf accelerated-advertisement-threshold {
                          type uint32;
                          description
                            "Advertisement Accelerated Threshold (%)";
                        }
    
                        leaf accelerated-advertisement-minimum-change {
                          type uint32;
                          description
                            "Advertisement Accelerated Minimum Change (uSec)";
                        }
    
                        leaf accelerated-advertisement-enabled {
                          type boolean;
                          description
                            "Advertisement Accelerated Enabled";
                        }
                      }  // container loss
    
                      container liveness {
                        when
                          "../measurement-type = 'liveness-detection-type'" {
                          description
                            "../MeasurementType = 'LivenessDetectionType'";
                        }
                        description
                          "Liveness-detection name profile bag";
                        container destination-sweeping-address {
                          description
                            "IPv4/IPv6 sweeping address";
                          leaf ip-address-type {
                            type Pm-addr;
                            description
                              "IPAddressType";
                          }
    
                          leaf ipv4 {
                            when
                              "../ip-address-type = 'ipv4'" {
                              description
                                "../IPAddressType = 'IPv4'";
                            }
                            type Pm-ipv4-addr;
                            description
                              "IPv4 address type";
                          }
    
                          leaf ipv6 {
                            when
                              "../ip-address-type = 'ipv6'" {
                              description
                                "../IPAddressType = 'IPv6'";
                            }
                            type Pm-ipv6-addr;
                            description
                              "IPv6 address type";
                          }
                        }  // container destination-sweeping-address
    
                        container liveness-detection-config {
                          description
                            "Liveness detection config";
                          container sr-policy-liveness-detection {
                            when
                              "../transport-type = 'sr-policy-transport-type'" {
                              description
                                "../TransportType = 'SRPolicyTransportType'";
                            }
                            description
                              "Liveness detection info of SR Policy";
                            leaf multiplier {
                              type uint8;
                              description
                                "Detect multiplier";
                            }
    
                            leaf logging-state-change-enabled {
                              type boolean;
                              description
                                "Emit syslog when the state of the session
    changes";
                            }
                          }  // container sr-policy-liveness-detection
    
                          container ep-liveness-detection {
                            when
                              "../transport-type = 'endpoiont-transport-type'" {
                              description
                                "../TransportType = 'EndpoiontTransportType'";
                            }
                            description
                              "Liveness detection info of Endpoint";
                            leaf multiplier {
                              type uint8;
                              description
                                "Detect multiplier";
                            }
    
                            leaf logging-state-change-enabled {
                              type boolean;
                              description
                                "Emit syslog when the state of the session
    changes";
                            }
                          }  // container ep-liveness-detection
    
                          leaf transport-type {
                            type Pm-transport;
                            description
                              "TransportType";
                          }
                        }  // container liveness-detection-config
    
                        leaf tos-dscp-value {
                          type uint8;
                          description
                            "TOS DSCP value specified for protocol
    TWAMP-LIGHT";
                        }
    
                        leaf burst-interval {
                          type uint32;
                          description
                            "Burst Interval (msec)";
                        }
    
                        leaf burst-interval-effective {
                          type uint32;
                          description
                            "Effective Burst Interval (msec)";
                        }
    
                        leaf delay-measurement-mode {
                          type Pm-delay-mode;
                          description
                            "Delay Measurement Mode Type";
                        }
    
                        leaf payload-type {
                          type Pm-payload;
                          description
                            "Type of the probe packet payload";
                        }
    
                        leaf encap-mode {
                          type Pm-encap-mode;
                          description
                            "Encap Mode";
                        }
    
                        leaf destination-sweeping-mode-enabled {
                          type boolean;
                          description
                            "Measure liveness detection with ECMP hashing by
    sweeping destination address";
                        }
    
                        leaf destination-sweeping-range {
                          type uint32;
                          description
                            "Number of IP addresses to sweep";
                        }
                      }  // container liveness
    
                      leaf measurement-type {
                        type Pm-measurement;
                        description
                          "MeasurementType";
                      }
                    }  // container profile
    
                    leaf name {
                      type string;
                      description "Profile name";
                    }
    
                    leaf transport-type {
                      type Pm-transport;
                      description
                        "Transport type";
                    }
                  }  // list liveness-profile-endpoint
                }  // container liveness-profile-endpoints
    
                container delay-profile-sr-policies {
                  description
                    "SR Policy profile name table";
                  list delay-profile-sr-policy {
                    key "profile-name";
                    description
                      "SR Policy delay profile name";
                    leaf profile-name {
                      type xr:Cisco-ios-xr-string;
                      description "Profile name";
                    }
    
                    container profile {
                      description "Profile bag";
                      container delay {
                        when
                          "../measurement-type = 'delay-measurement-type'" {
                          description
                            "../MeasurementType = 'DelayMeasurementType'";
                        }
                        description
                          "Delay-Measurement name profile bag";
                        container destination-sweeping-address {
                          description
                            "IPv4/IPv6 sweeping address";
                          leaf ip-address-type {
                            type Pm-addr;
                            description
                              "IPAddressType";
                          }
    
                          leaf ipv4 {
                            when
                              "../ip-address-type = 'ipv4'" {
                              description
                                "../IPAddressType = 'IPv4'";
                            }
                            type Pm-ipv4-addr;
                            description
                              "IPv4 address type";
                          }
    
                          leaf ipv6 {
                            when
                              "../ip-address-type = 'ipv6'" {
                              description
                                "../IPAddressType = 'IPv6'";
                            }
                            type Pm-ipv6-addr;
                            description
                              "IPv6 address type";
                          }
                        }  // container destination-sweeping-address
    
                        leaf probe-computation-interval {
                          type uint32;
                          description
                            "Probe Computation Interval (sec)";
                        }
    
                        leaf probe-computation-interval-effective {
                          type uint32;
                          description
                            "Effective Probe Computation Interval (sec)";
                        }
    
                        leaf tos-traffic-class-value {
                          type uint8;
                          description
                            "TOS Traffic Class value specified for protocol
    PM-MPLS";
                        }
    
                        leaf tos-dscp-value {
                          type uint8;
                          description
                            "TOS DSCP value specified for protocol
    TWAMP-LIGHT";
                        }
    
                        leaf burst-interval {
                          type uint32;
                          description
                            "Burst Interval (msec)";
                        }
    
                        leaf burst-interval-effective {
                          type uint32;
                          description
                            "Effective Burst Interval (msec)";
                        }
    
                        leaf burst-count {
                          type uint32;
                          description
                            "Number of burst in one probe";
                        }
    
                        leaf delay-measurement-mode {
                          type Pm-delay-mode;
                          description
                            "Delay Measurement Mode Type";
                        }
    
                        leaf router-alert {
                          type boolean;
                          description
                            "IP router alert option";
                        }
    
                        leaf encap-mode {
                          type Pm-encap-mode;
                          description
                            "Encap Mode";
                        }
    
                        leaf payload-type {
                          type Pm-payload;
                          description
                            "Type of the probe packet payload";
                        }
    
                        leaf destination-sweeping-mode-enabled {
                          type boolean;
                          description
                            "Measure the delay with ECMP hashing by sweeping
    destination address";
                        }
    
                        leaf destination-sweeping-range {
                          type uint32;
                          description
                            "Number of IP addresses to sweep";
                        }
    
                        leaf periodic-advertisement-enabled {
                          type boolean;
                          description
                            "Advertisement Periodic Enabled";
                        }
    
                        leaf periodic-advertisement-interval {
                          type uint32;
                          description
                            "Advertisement Periodic Interval (sec)";
                        }
    
                        leaf periodic-advertisement-interval-effective {
                          type uint32;
                          description
                            "Advertisement Periodic Effective (sec)";
                        }
    
                        leaf periodic-advertisement-threshold {
                          type uint32;
                          description
                            "Advertisement Periodic Threshold (%)";
                        }
    
                        leaf periodic-advertisement-minimum-change {
                          type uint32;
                          description
                            "Advertisement Periodic Minimum Change (uSec)";
                        }
    
                        leaf accelerated-advertisement-threshold {
                          type uint32;
                          description
                            "Advertisement Accelerated Threshold (%)";
                        }
    
                        leaf accelerated-advertisement-minimum-change {
                          type uint32;
                          description
                            "Advertisement Accelerated Minimum Change (uSec)";
                        }
    
                        leaf advertisement-logging-delay-exceeded-enabled {
                          type boolean;
                          description
                            "Enable emitting syslog when delay exceeds
    threshold";
                        }
    
                        leaf accelerated-advertisement-enabled {
                          type boolean;
                          description
                            "Advertisement Accelerated Enabled";
                        }
    
                        leaf advertisement-threshold-check-average-delay {
                          type boolean;
                          description
                            "Check Average-delay For Advertisement Threshold
    Crossing";
                        }
    
                        leaf advertisement-threshold-check-minimum-delay {
                          type boolean;
                          description
                            "Check Minimum-delay For Advertisement Threshold
    Crossing";
                        }
    
                        leaf advertisement-threshold-check-maximum-delay {
                          type boolean;
                          description
                            "Check Maximum-delay For Advertisement Threshold
    Crossing";
                        }
    
                        leaf anomaly-check-advertisement-upper-bound {
                          type uint32;
                          description
                            "Advertisement Anomaly Check Upper Bound (uSec)";
                        }
    
                        leaf anomaly-check-advertisement-lower-bound {
                          type uint32;
                          description
                            "Advertisement Anomaly Check Lower Bound (uSec)";
                        }
    
                        leaf anomaly-check-advertisement-enabled {
                          type boolean;
                          description
                            "Advertisement Anomaly Check Enabled";
                        }
                      }  // container delay
    
                      container loss {
                        when
                          "../measurement-type = 'loss-measurement-type'" {
                          description
                            "../MeasurementType = 'LossMeasurementType'";
                        }
                        description
                          "Loss-Measurement name profile bag";
                        leaf probe-interval {
                          type uint32;
                          description
                            "Probe Interval (sec)";
                        }
    
                        leaf encap-mode {
                          type Pm-encap-mode;
                          description
                            "Encap Mode";
                        }
    
                        leaf periodic-advertisement-enabled {
                          type boolean;
                          description
                            "Advertisement Periodic Enabled";
                        }
    
                        leaf periodic-advertisement-interval {
                          type uint32;
                          description
                            "Advertisement Periodic Interval (sec)";
                        }
    
                        leaf effective-periodic-advertisement-interval {
                          type uint32;
                          description
                            "Advertisement Periodic Effective (sec)";
                        }
    
                        leaf periodic-advertisement-threshold {
                          type uint32;
                          description
                            "Advertisement Periodic Threshold (%)";
                        }
    
                        leaf periodic-advertisement-minimum-change {
                          type uint32;
                          description
                            "Advertisement Periodic Minimum Change (uSec)";
                        }
    
                        leaf accelerated-advertisement-threshold {
                          type uint32;
                          description
                            "Advertisement Accelerated Threshold (%)";
                        }
    
                        leaf accelerated-advertisement-minimum-change {
                          type uint32;
                          description
                            "Advertisement Accelerated Minimum Change (uSec)";
                        }
    
                        leaf accelerated-advertisement-enabled {
                          type boolean;
                          description
                            "Advertisement Accelerated Enabled";
                        }
                      }  // container loss
    
                      container liveness {
                        when
                          "../measurement-type = 'liveness-detection-type'" {
                          description
                            "../MeasurementType = 'LivenessDetectionType'";
                        }
                        description
                          "Liveness-detection name profile bag";
                        container destination-sweeping-address {
                          description
                            "IPv4/IPv6 sweeping address";
                          leaf ip-address-type {
                            type Pm-addr;
                            description
                              "IPAddressType";
                          }
    
                          leaf ipv4 {
                            when
                              "../ip-address-type = 'ipv4'" {
                              description
                                "../IPAddressType = 'IPv4'";
                            }
                            type Pm-ipv4-addr;
                            description
                              "IPv4 address type";
                          }
    
                          leaf ipv6 {
                            when
                              "../ip-address-type = 'ipv6'" {
                              description
                                "../IPAddressType = 'IPv6'";
                            }
                            type Pm-ipv6-addr;
                            description
                              "IPv6 address type";
                          }
                        }  // container destination-sweeping-address
    
                        container liveness-detection-config {
                          description
                            "Liveness detection config";
                          container sr-policy-liveness-detection {
                            when
                              "../transport-type = 'sr-policy-transport-type'" {
                              description
                                "../TransportType = 'SRPolicyTransportType'";
                            }
                            description
                              "Liveness detection info of SR Policy";
                            leaf multiplier {
                              type uint8;
                              description
                                "Detect multiplier";
                            }
    
                            leaf logging-state-change-enabled {
                              type boolean;
                              description
                                "Emit syslog when the state of the session
    changes";
                            }
                          }  // container sr-policy-liveness-detection
    
                          container ep-liveness-detection {
                            when
                              "../transport-type = 'endpoiont-transport-type'" {
                              description
                                "../TransportType = 'EndpoiontTransportType'";
                            }
                            description
                              "Liveness detection info of Endpoint";
                            leaf multiplier {
                              type uint8;
                              description
                                "Detect multiplier";
                            }
    
                            leaf logging-state-change-enabled {
                              type boolean;
                              description
                                "Emit syslog when the state of the session
    changes";
                            }
                          }  // container ep-liveness-detection
    
                          leaf transport-type {
                            type Pm-transport;
                            description
                              "TransportType";
                          }
                        }  // container liveness-detection-config
    
                        leaf tos-dscp-value {
                          type uint8;
                          description
                            "TOS DSCP value specified for protocol
    TWAMP-LIGHT";
                        }
    
                        leaf burst-interval {
                          type uint32;
                          description
                            "Burst Interval (msec)";
                        }
    
                        leaf burst-interval-effective {
                          type uint32;
                          description
                            "Effective Burst Interval (msec)";
                        }
    
                        leaf delay-measurement-mode {
                          type Pm-delay-mode;
                          description
                            "Delay Measurement Mode Type";
                        }
    
                        leaf payload-type {
                          type Pm-payload;
                          description
                            "Type of the probe packet payload";
                        }
    
                        leaf encap-mode {
                          type Pm-encap-mode;
                          description
                            "Encap Mode";
                        }
    
                        leaf destination-sweeping-mode-enabled {
                          type boolean;
                          description
                            "Measure liveness detection with ECMP hashing by
    sweeping destination address";
                        }
    
                        leaf destination-sweeping-range {
                          type uint32;
                          description
                            "Number of IP addresses to sweep";
                        }
                      }  // container liveness
    
                      leaf measurement-type {
                        type Pm-measurement;
                        description
                          "MeasurementType";
                      }
                    }  // container profile
    
                    leaf name {
                      type string;
                      description "Profile name";
                    }
    
                    leaf transport-type {
                      type Pm-transport;
                      description
                        "Transport type";
                    }
                  }  // list delay-profile-sr-policy
                }  // container delay-profile-sr-policies
    
                container delay-profile-interfaces {
                  description
                    "Interface profile name table";
                  list delay-profile-interface {
                    key "profile-name";
                    description
                      "Interface delay profile name";
                    leaf profile-name {
                      type xr:Cisco-ios-xr-string;
                      description "Profile name";
                    }
    
                    container profile {
                      description "Profile bag";
                      container delay {
                        when
                          "../measurement-type = 'delay-measurement-type'" {
                          description
                            "../MeasurementType = 'DelayMeasurementType'";
                        }
                        description
                          "Delay-Measurement name profile bag";
                        container destination-sweeping-address {
                          description
                            "IPv4/IPv6 sweeping address";
                          leaf ip-address-type {
                            type Pm-addr;
                            description
                              "IPAddressType";
                          }
    
                          leaf ipv4 {
                            when
                              "../ip-address-type = 'ipv4'" {
                              description
                                "../IPAddressType = 'IPv4'";
                            }
                            type Pm-ipv4-addr;
                            description
                              "IPv4 address type";
                          }
    
                          leaf ipv6 {
                            when
                              "../ip-address-type = 'ipv6'" {
                              description
                                "../IPAddressType = 'IPv6'";
                            }
                            type Pm-ipv6-addr;
                            description
                              "IPv6 address type";
                          }
                        }  // container destination-sweeping-address
    
                        leaf probe-computation-interval {
                          type uint32;
                          description
                            "Probe Computation Interval (sec)";
                        }
    
                        leaf probe-computation-interval-effective {
                          type uint32;
                          description
                            "Effective Probe Computation Interval (sec)";
                        }
    
                        leaf tos-traffic-class-value {
                          type uint8;
                          description
                            "TOS Traffic Class value specified for protocol
    PM-MPLS";
                        }
    
                        leaf tos-dscp-value {
                          type uint8;
                          description
                            "TOS DSCP value specified for protocol
    TWAMP-LIGHT";
                        }
    
                        leaf burst-interval {
                          type uint32;
                          description
                            "Burst Interval (msec)";
                        }
    
                        leaf burst-interval-effective {
                          type uint32;
                          description
                            "Effective Burst Interval (msec)";
                        }
    
                        leaf burst-count {
                          type uint32;
                          description
                            "Number of burst in one probe";
                        }
    
                        leaf delay-measurement-mode {
                          type Pm-delay-mode;
                          description
                            "Delay Measurement Mode Type";
                        }
    
                        leaf router-alert {
                          type boolean;
                          description
                            "IP router alert option";
                        }
    
                        leaf encap-mode {
                          type Pm-encap-mode;
                          description
                            "Encap Mode";
                        }
    
                        leaf payload-type {
                          type Pm-payload;
                          description
                            "Type of the probe packet payload";
                        }
    
                        leaf destination-sweeping-mode-enabled {
                          type boolean;
                          description
                            "Measure the delay with ECMP hashing by sweeping
    destination address";
                        }
    
                        leaf destination-sweeping-range {
                          type uint32;
                          description
                            "Number of IP addresses to sweep";
                        }
    
                        leaf periodic-advertisement-enabled {
                          type boolean;
                          description
                            "Advertisement Periodic Enabled";
                        }
    
                        leaf periodic-advertisement-interval {
                          type uint32;
                          description
                            "Advertisement Periodic Interval (sec)";
                        }
    
                        leaf periodic-advertisement-interval-effective {
                          type uint32;
                          description
                            "Advertisement Periodic Effective (sec)";
                        }
    
                        leaf periodic-advertisement-threshold {
                          type uint32;
                          description
                            "Advertisement Periodic Threshold (%)";
                        }
    
                        leaf periodic-advertisement-minimum-change {
                          type uint32;
                          description
                            "Advertisement Periodic Minimum Change (uSec)";
                        }
    
                        leaf accelerated-advertisement-threshold {
                          type uint32;
                          description
                            "Advertisement Accelerated Threshold (%)";
                        }
    
                        leaf accelerated-advertisement-minimum-change {
                          type uint32;
                          description
                            "Advertisement Accelerated Minimum Change (uSec)";
                        }
    
                        leaf advertisement-logging-delay-exceeded-enabled {
                          type boolean;
                          description
                            "Enable emitting syslog when delay exceeds
    threshold";
                        }
    
                        leaf accelerated-advertisement-enabled {
                          type boolean;
                          description
                            "Advertisement Accelerated Enabled";
                        }
    
                        leaf advertisement-threshold-check-average-delay {
                          type boolean;
                          description
                            "Check Average-delay For Advertisement Threshold
    Crossing";
                        }
    
                        leaf advertisement-threshold-check-minimum-delay {
                          type boolean;
                          description
                            "Check Minimum-delay For Advertisement Threshold
    Crossing";
                        }
    
                        leaf advertisement-threshold-check-maximum-delay {
                          type boolean;
                          description
                            "Check Maximum-delay For Advertisement Threshold
    Crossing";
                        }
    
                        leaf anomaly-check-advertisement-upper-bound {
                          type uint32;
                          description
                            "Advertisement Anomaly Check Upper Bound (uSec)";
                        }
    
                        leaf anomaly-check-advertisement-lower-bound {
                          type uint32;
                          description
                            "Advertisement Anomaly Check Lower Bound (uSec)";
                        }
    
                        leaf anomaly-check-advertisement-enabled {
                          type boolean;
                          description
                            "Advertisement Anomaly Check Enabled";
                        }
                      }  // container delay
    
                      container loss {
                        when
                          "../measurement-type = 'loss-measurement-type'" {
                          description
                            "../MeasurementType = 'LossMeasurementType'";
                        }
                        description
                          "Loss-Measurement name profile bag";
                        leaf probe-interval {
                          type uint32;
                          description
                            "Probe Interval (sec)";
                        }
    
                        leaf encap-mode {
                          type Pm-encap-mode;
                          description
                            "Encap Mode";
                        }
    
                        leaf periodic-advertisement-enabled {
                          type boolean;
                          description
                            "Advertisement Periodic Enabled";
                        }
    
                        leaf periodic-advertisement-interval {
                          type uint32;
                          description
                            "Advertisement Periodic Interval (sec)";
                        }
    
                        leaf effective-periodic-advertisement-interval {
                          type uint32;
                          description
                            "Advertisement Periodic Effective (sec)";
                        }
    
                        leaf periodic-advertisement-threshold {
                          type uint32;
                          description
                            "Advertisement Periodic Threshold (%)";
                        }
    
                        leaf periodic-advertisement-minimum-change {
                          type uint32;
                          description
                            "Advertisement Periodic Minimum Change (uSec)";
                        }
    
                        leaf accelerated-advertisement-threshold {
                          type uint32;
                          description
                            "Advertisement Accelerated Threshold (%)";
                        }
    
                        leaf accelerated-advertisement-minimum-change {
                          type uint32;
                          description
                            "Advertisement Accelerated Minimum Change (uSec)";
                        }
    
                        leaf accelerated-advertisement-enabled {
                          type boolean;
                          description
                            "Advertisement Accelerated Enabled";
                        }
                      }  // container loss
    
                      container liveness {
                        when
                          "../measurement-type = 'liveness-detection-type'" {
                          description
                            "../MeasurementType = 'LivenessDetectionType'";
                        }
                        description
                          "Liveness-detection name profile bag";
                        container destination-sweeping-address {
                          description
                            "IPv4/IPv6 sweeping address";
                          leaf ip-address-type {
                            type Pm-addr;
                            description
                              "IPAddressType";
                          }
    
                          leaf ipv4 {
                            when
                              "../ip-address-type = 'ipv4'" {
                              description
                                "../IPAddressType = 'IPv4'";
                            }
                            type Pm-ipv4-addr;
                            description
                              "IPv4 address type";
                          }
    
                          leaf ipv6 {
                            when
                              "../ip-address-type = 'ipv6'" {
                              description
                                "../IPAddressType = 'IPv6'";
                            }
                            type Pm-ipv6-addr;
                            description
                              "IPv6 address type";
                          }
                        }  // container destination-sweeping-address
    
                        container liveness-detection-config {
                          description
                            "Liveness detection config";
                          container sr-policy-liveness-detection {
                            when
                              "../transport-type = 'sr-policy-transport-type'" {
                              description
                                "../TransportType = 'SRPolicyTransportType'";
                            }
                            description
                              "Liveness detection info of SR Policy";
                            leaf multiplier {
                              type uint8;
                              description
                                "Detect multiplier";
                            }
    
                            leaf logging-state-change-enabled {
                              type boolean;
                              description
                                "Emit syslog when the state of the session
    changes";
                            }
                          }  // container sr-policy-liveness-detection
    
                          container ep-liveness-detection {
                            when
                              "../transport-type = 'endpoiont-transport-type'" {
                              description
                                "../TransportType = 'EndpoiontTransportType'";
                            }
                            description
                              "Liveness detection info of Endpoint";
                            leaf multiplier {
                              type uint8;
                              description
                                "Detect multiplier";
                            }
    
                            leaf logging-state-change-enabled {
                              type boolean;
                              description
                                "Emit syslog when the state of the session
    changes";
                            }
                          }  // container ep-liveness-detection
    
                          leaf transport-type {
                            type Pm-transport;
                            description
                              "TransportType";
                          }
                        }  // container liveness-detection-config
    
                        leaf tos-dscp-value {
                          type uint8;
                          description
                            "TOS DSCP value specified for protocol
    TWAMP-LIGHT";
                        }
    
                        leaf burst-interval {
                          type uint32;
                          description
                            "Burst Interval (msec)";
                        }
    
                        leaf burst-interval-effective {
                          type uint32;
                          description
                            "Effective Burst Interval (msec)";
                        }
    
                        leaf delay-measurement-mode {
                          type Pm-delay-mode;
                          description
                            "Delay Measurement Mode Type";
                        }
    
                        leaf payload-type {
                          type Pm-payload;
                          description
                            "Type of the probe packet payload";
                        }
    
                        leaf encap-mode {
                          type Pm-encap-mode;
                          description
                            "Encap Mode";
                        }
    
                        leaf destination-sweeping-mode-enabled {
                          type boolean;
                          description
                            "Measure liveness detection with ECMP hashing by
    sweeping destination address";
                        }
    
                        leaf destination-sweeping-range {
                          type uint32;
                          description
                            "Number of IP addresses to sweep";
                        }
                      }  // container liveness
    
                      leaf measurement-type {
                        type Pm-measurement;
                        description
                          "MeasurementType";
                      }
                    }  // container profile
    
                    leaf name {
                      type string;
                      description "Profile name";
                    }
    
                    leaf transport-type {
                      type Pm-transport;
                      description
                        "Transport type";
                    }
                  }  // list delay-profile-interface
                }  // container delay-profile-interfaces
    
                container liveness-profile-sr-policies {
                  description
                    "SR Policy profile name table";
                  list liveness-profile-sr-policy {
                    key "profile-name";
                    description
                      "SR Policy liveness profile name";
                    leaf profile-name {
                      type xr:Cisco-ios-xr-string;
                      description "Profile name";
                    }
    
                    container profile {
                      description "Profile bag";
                      container delay {
                        when
                          "../measurement-type = 'delay-measurement-type'" {
                          description
                            "../MeasurementType = 'DelayMeasurementType'";
                        }
                        description
                          "Delay-Measurement name profile bag";
                        container destination-sweeping-address {
                          description
                            "IPv4/IPv6 sweeping address";
                          leaf ip-address-type {
                            type Pm-addr;
                            description
                              "IPAddressType";
                          }
    
                          leaf ipv4 {
                            when
                              "../ip-address-type = 'ipv4'" {
                              description
                                "../IPAddressType = 'IPv4'";
                            }
                            type Pm-ipv4-addr;
                            description
                              "IPv4 address type";
                          }
    
                          leaf ipv6 {
                            when
                              "../ip-address-type = 'ipv6'" {
                              description
                                "../IPAddressType = 'IPv6'";
                            }
                            type Pm-ipv6-addr;
                            description
                              "IPv6 address type";
                          }
                        }  // container destination-sweeping-address
    
                        leaf probe-computation-interval {
                          type uint32;
                          description
                            "Probe Computation Interval (sec)";
                        }
    
                        leaf probe-computation-interval-effective {
                          type uint32;
                          description
                            "Effective Probe Computation Interval (sec)";
                        }
    
                        leaf tos-traffic-class-value {
                          type uint8;
                          description
                            "TOS Traffic Class value specified for protocol
    PM-MPLS";
                        }
    
                        leaf tos-dscp-value {
                          type uint8;
                          description
                            "TOS DSCP value specified for protocol
    TWAMP-LIGHT";
                        }
    
                        leaf burst-interval {
                          type uint32;
                          description
                            "Burst Interval (msec)";
                        }
    
                        leaf burst-interval-effective {
                          type uint32;
                          description
                            "Effective Burst Interval (msec)";
                        }
    
                        leaf burst-count {
                          type uint32;
                          description
                            "Number of burst in one probe";
                        }
    
                        leaf delay-measurement-mode {
                          type Pm-delay-mode;
                          description
                            "Delay Measurement Mode Type";
                        }
    
                        leaf router-alert {
                          type boolean;
                          description
                            "IP router alert option";
                        }
    
                        leaf encap-mode {
                          type Pm-encap-mode;
                          description
                            "Encap Mode";
                        }
    
                        leaf payload-type {
                          type Pm-payload;
                          description
                            "Type of the probe packet payload";
                        }
    
                        leaf destination-sweeping-mode-enabled {
                          type boolean;
                          description
                            "Measure the delay with ECMP hashing by sweeping
    destination address";
                        }
    
                        leaf destination-sweeping-range {
                          type uint32;
                          description
                            "Number of IP addresses to sweep";
                        }
    
                        leaf periodic-advertisement-enabled {
                          type boolean;
                          description
                            "Advertisement Periodic Enabled";
                        }
    
                        leaf periodic-advertisement-interval {
                          type uint32;
                          description
                            "Advertisement Periodic Interval (sec)";
                        }
    
                        leaf periodic-advertisement-interval-effective {
                          type uint32;
                          description
                            "Advertisement Periodic Effective (sec)";
                        }
    
                        leaf periodic-advertisement-threshold {
                          type uint32;
                          description
                            "Advertisement Periodic Threshold (%)";
                        }
    
                        leaf periodic-advertisement-minimum-change {
                          type uint32;
                          description
                            "Advertisement Periodic Minimum Change (uSec)";
                        }
    
                        leaf accelerated-advertisement-threshold {
                          type uint32;
                          description
                            "Advertisement Accelerated Threshold (%)";
                        }
    
                        leaf accelerated-advertisement-minimum-change {
                          type uint32;
                          description
                            "Advertisement Accelerated Minimum Change (uSec)";
                        }
    
                        leaf advertisement-logging-delay-exceeded-enabled {
                          type boolean;
                          description
                            "Enable emitting syslog when delay exceeds
    threshold";
                        }
    
                        leaf accelerated-advertisement-enabled {
                          type boolean;
                          description
                            "Advertisement Accelerated Enabled";
                        }
    
                        leaf advertisement-threshold-check-average-delay {
                          type boolean;
                          description
                            "Check Average-delay For Advertisement Threshold
    Crossing";
                        }
    
                        leaf advertisement-threshold-check-minimum-delay {
                          type boolean;
                          description
                            "Check Minimum-delay For Advertisement Threshold
    Crossing";
                        }
    
                        leaf advertisement-threshold-check-maximum-delay {
                          type boolean;
                          description
                            "Check Maximum-delay For Advertisement Threshold
    Crossing";
                        }
    
                        leaf anomaly-check-advertisement-upper-bound {
                          type uint32;
                          description
                            "Advertisement Anomaly Check Upper Bound (uSec)";
                        }
    
                        leaf anomaly-check-advertisement-lower-bound {
                          type uint32;
                          description
                            "Advertisement Anomaly Check Lower Bound (uSec)";
                        }
    
                        leaf anomaly-check-advertisement-enabled {
                          type boolean;
                          description
                            "Advertisement Anomaly Check Enabled";
                        }
                      }  // container delay
    
                      container loss {
                        when
                          "../measurement-type = 'loss-measurement-type'" {
                          description
                            "../MeasurementType = 'LossMeasurementType'";
                        }
                        description
                          "Loss-Measurement name profile bag";
                        leaf probe-interval {
                          type uint32;
                          description
                            "Probe Interval (sec)";
                        }
    
                        leaf encap-mode {
                          type Pm-encap-mode;
                          description
                            "Encap Mode";
                        }
    
                        leaf periodic-advertisement-enabled {
                          type boolean;
                          description
                            "Advertisement Periodic Enabled";
                        }
    
                        leaf periodic-advertisement-interval {
                          type uint32;
                          description
                            "Advertisement Periodic Interval (sec)";
                        }
    
                        leaf effective-periodic-advertisement-interval {
                          type uint32;
                          description
                            "Advertisement Periodic Effective (sec)";
                        }
    
                        leaf periodic-advertisement-threshold {
                          type uint32;
                          description
                            "Advertisement Periodic Threshold (%)";
                        }
    
                        leaf periodic-advertisement-minimum-change {
                          type uint32;
                          description
                            "Advertisement Periodic Minimum Change (uSec)";
                        }
    
                        leaf accelerated-advertisement-threshold {
                          type uint32;
                          description
                            "Advertisement Accelerated Threshold (%)";
                        }
    
                        leaf accelerated-advertisement-minimum-change {
                          type uint32;
                          description
                            "Advertisement Accelerated Minimum Change (uSec)";
                        }
    
                        leaf accelerated-advertisement-enabled {
                          type boolean;
                          description
                            "Advertisement Accelerated Enabled";
                        }
                      }  // container loss
    
                      container liveness {
                        when
                          "../measurement-type = 'liveness-detection-type'" {
                          description
                            "../MeasurementType = 'LivenessDetectionType'";
                        }
                        description
                          "Liveness-detection name profile bag";
                        container destination-sweeping-address {
                          description
                            "IPv4/IPv6 sweeping address";
                          leaf ip-address-type {
                            type Pm-addr;
                            description
                              "IPAddressType";
                          }
    
                          leaf ipv4 {
                            when
                              "../ip-address-type = 'ipv4'" {
                              description
                                "../IPAddressType = 'IPv4'";
                            }
                            type Pm-ipv4-addr;
                            description
                              "IPv4 address type";
                          }
    
                          leaf ipv6 {
                            when
                              "../ip-address-type = 'ipv6'" {
                              description
                                "../IPAddressType = 'IPv6'";
                            }
                            type Pm-ipv6-addr;
                            description
                              "IPv6 address type";
                          }
                        }  // container destination-sweeping-address
    
                        container liveness-detection-config {
                          description
                            "Liveness detection config";
                          container sr-policy-liveness-detection {
                            when
                              "../transport-type = 'sr-policy-transport-type'" {
                              description
                                "../TransportType = 'SRPolicyTransportType'";
                            }
                            description
                              "Liveness detection info of SR Policy";
                            leaf multiplier {
                              type uint8;
                              description
                                "Detect multiplier";
                            }
    
                            leaf logging-state-change-enabled {
                              type boolean;
                              description
                                "Emit syslog when the state of the session
    changes";
                            }
                          }  // container sr-policy-liveness-detection
    
                          container ep-liveness-detection {
                            when
                              "../transport-type = 'endpoiont-transport-type'" {
                              description
                                "../TransportType = 'EndpoiontTransportType'";
                            }
                            description
                              "Liveness detection info of Endpoint";
                            leaf multiplier {
                              type uint8;
                              description
                                "Detect multiplier";
                            }
    
                            leaf logging-state-change-enabled {
                              type boolean;
                              description
                                "Emit syslog when the state of the session
    changes";
                            }
                          }  // container ep-liveness-detection
    
                          leaf transport-type {
                            type Pm-transport;
                            description
                              "TransportType";
                          }
                        }  // container liveness-detection-config
    
                        leaf tos-dscp-value {
                          type uint8;
                          description
                            "TOS DSCP value specified for protocol
    TWAMP-LIGHT";
                        }
    
                        leaf burst-interval {
                          type uint32;
                          description
                            "Burst Interval (msec)";
                        }
    
                        leaf burst-interval-effective {
                          type uint32;
                          description
                            "Effective Burst Interval (msec)";
                        }
    
                        leaf delay-measurement-mode {
                          type Pm-delay-mode;
                          description
                            "Delay Measurement Mode Type";
                        }
    
                        leaf payload-type {
                          type Pm-payload;
                          description
                            "Type of the probe packet payload";
                        }
    
                        leaf encap-mode {
                          type Pm-encap-mode;
                          description
                            "Encap Mode";
                        }
    
                        leaf destination-sweeping-mode-enabled {
                          type boolean;
                          description
                            "Measure liveness detection with ECMP hashing by
    sweeping destination address";
                        }
    
                        leaf destination-sweeping-range {
                          type uint32;
                          description
                            "Number of IP addresses to sweep";
                        }
                      }  // container liveness
    
                      leaf measurement-type {
                        type Pm-measurement;
                        description
                          "MeasurementType";
                      }
                    }  // container profile
    
                    leaf name {
                      type string;
                      description "Profile name";
                    }
    
                    leaf transport-type {
                      type Pm-transport;
                      description
                        "Transport type";
                    }
                  }  // list liveness-profile-sr-policy
                }  // container liveness-profile-sr-policies
              }  // container name-profile
    
              leaf node {
                type xr:Node-id;
                description "Node";
              }
            }  // list node
          }  // container nodes
        }  // container performance-measurement
    
        container performance-measurement-responder {
          config false;
          description
            "Performance Measurement operational data";
          container nodes {
            description
              "Node table for node-specific operational data";
            list node {
              key "node";
              description
                "Node-specific data for a particular node";
              container summary {
                description
                  "Summary information for all the measurement
                 and transportation type on responder";
                container responder-counters {
                  description
                    "Global counters of responder";
                  leaf reply-packet-sent {
                    type uint64;
                    description
                      "Number of response packets sent";
                  }
    
                  leaf reply-packet-sent-error {
                    type uint64;
                    description
                      "Number of response packets sent error";
                  }
    
                  leaf query-packet-received {
                    type uint64;
                    description
                      "Number of response packets received";
                  }
    
                  leaf received-packet-error-uro-tlv-not-present {
                    type uint64;
                    description
                      "Number of received packet error caused by URO
    TLV not present";
                  }
    
                  leaf received-packet-error-invalid-source-port-number {
                    type uint64;
                    description
                      "Number of received packet error caused by source
    port number is invaid";
                  }
    
                  leaf received-packet-error-no-source-address {
                    type uint64;
                    description
                      "Number of received packet error caused by no
    source address";
                  }
    
                  leaf received-packet-error-no-return-path {
                    type uint64;
                    description
                      "Number of received packet error caused by no
    return path";
                  }
    
                  leaf received-packet-error-invalid-querier-control-code {
                    type uint64;
                    description
                      "Number of received packet error caused by
    querier control code is invalid";
                  }
    
                  leaf received-packet-error-unsupported-timestamp-format {
                    type uint64;
                    description
                      "Number of received packet error caused by
    timestamp format in the packet is not supported";
                  }
    
                  leaf received-packet-error-timestamp-not-available {
                    type uint64;
                    description
                      "Number of packet error caused by timestamp in
    received packet is not available";
                  }
    
                  leaf received-packet-error-unsupported-mandatory-tlv {
                    type uint64;
                    description
                      "Number of received packet error caused by
    unsupported mandatory TLV";
                  }
    
                  leaf received-packet-error-invalid-packet {
                    type uint64;
                    description
                      "Number of received packet error caused by
    invalid packet";
                  }
                }  // container responder-counters
    
                leaf total-interfaces {
                  type uint32;
                  description
                    "Number of interfaces in the responder cache";
                }
    
                leaf packet-rate {
                  type uint32;
                  description
                    "Global incoming packet rate";
                }
    
                leaf packet-rate-high-water-mark {
                  type uint32;
                  description
                    "Global incoming packet rate high water mark";
                }
              }  // container summary
    
              container interfaces {
                description
                  "Table of interfaces";
                list interface {
                  key "interface-name";
                  description
                    "Interface information";
                  leaf interface-name {
                    type xr:Interface-name;
                    description "Interface name";
                  }
    
                  container interface-counters {
                    description
                      "Per interface responder counters";
                    leaf reply-packet-sent {
                      type uint64;
                      description
                        "Number of response packets sent";
                    }
    
                    leaf reply-packet-sent-error {
                      type uint64;
                      description
                        "Number of response packets sent error";
                    }
    
                    leaf query-packet-received {
                      type uint64;
                      description
                        "Number of response packets received";
                    }
    
                    leaf received-packet-error-uro-tlv-not-present {
                      type uint64;
                      description
                        "Number of received packet error caused by URO
    TLV not present";
                    }
    
                    leaf received-packet-error-invalid-source-port-number {
                      type uint64;
                      description
                        "Number of received packet error caused by source
    port number is invaid";
                    }
    
                    leaf received-packet-error-no-source-address {
                      type uint64;
                      description
                        "Number of received packet error caused by no
    source address";
                    }
    
                    leaf received-packet-error-no-return-path {
                      type uint64;
                      description
                        "Number of received packet error caused by no
    return path";
                    }
    
                    leaf received-packet-error-invalid-querier-control-code {
                      type uint64;
                      description
                        "Number of received packet error caused by
    querier control code is invalid";
                    }
    
                    leaf received-packet-error-unsupported-timestamp-format {
                      type uint64;
                      description
                        "Number of received packet error caused by
    timestamp format in the packet is not supported";
                    }
    
                    leaf received-packet-error-timestamp-not-available {
                      type uint64;
                      description
                        "Number of packet error caused by timestamp in
    received packet is not available";
                    }
    
                    leaf received-packet-error-unsupported-mandatory-tlv {
                      type uint64;
                      description
                        "Number of received packet error caused by
    unsupported mandatory TLV";
                    }
    
                    leaf received-packet-error-invalid-packet {
                      type uint64;
                      description
                        "Number of received packet error caused by
    invalid packet";
                    }
                  }  // container interface-counters
    
                  leaf interface-name-xr {
                    type string;
                    description
                      "Name of the interface";
                  }
    
                  leaf interface-handle {
                    type uint32;
                    description
                      "Ifhandle of the interface";
                  }
    
                  leaf source-address {
                    type inet:ipv4-address;
                    description
                      "Source Address of the interface";
                  }
    
                  leaf source-v6-address {
                    type inet:ipv6-address;
                    description
                      "Source V6 Address of the interface";
                  }
    
                  leaf link-local-iv6-address {
                    type inet:ipv6-address;
                    description
                      "Link local IPv6 of the interface";
                  }
    
                  leaf packet-rate {
                    type uint32;
                    description
                      "Incoming packet rate of the interface";
                  }
    
                  leaf packet-rate-high-water-mark {
                    type uint32;
                    description
                      "Incoming packet rate high water mark of the
    interface";
                  }
    
                  leaf cleanup-time-remaining {
                    type uint32;
                    units "second";
                    description
                      "Seconds until an inactive interface is cleaned
    up";
                  }
                }  // list interface
              }  // container interfaces
    
              leaf node {
                type xr:Node-id;
                description "Node";
              }
            }  // list node
          }  // container nodes
        }  // container performance-measurement-responder
      }  // module Cisco-IOS-XR-perf-meas-oper
    

© 2023 YumaWorks, Inc. All rights reserved.