Cisco-IOS-XR-perf-meas-cfg

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

  • Version: 2020-12-19

    Cisco-IOS-XR-perf-meas-cfg@2020-12-19


    
      module Cisco-IOS-XR-perf-meas-cfg {
    
        yang-version 1;
    
        namespace
          "http://cisco.com/ns/yang/Cisco-IOS-XR-perf-meas-cfg";
    
        prefix perf-meas-cfg;
    
        import ietf-inet-types {
          prefix inet;
        }
        import Cisco-IOS-XR-types {
          prefix xr;
        }
        import cisco-semver {
          prefix semver;
        }
    
        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 configuration.
         
         This module contains definitions
         for the following management objects:
           performance-measurement: The root of performance-measurement
             configuration
         
         Copyright (c) 2013-2020 by Cisco Systems, Inc.
         All rights reserved.";
    
        revision "2020-12-19" {
          description
            "Updated liveness profile for endpoint support.
           2020-12-12
             Add interface delay-profile name schema class and hide delay-profile liveness-detction.
           2020-12-02
             Added sr-policy liveness profile config schema.
           2020-11-16
             Added default keyword for default profile configuration.
           2020-10-27
             Endpoint support.
           2020-10-27
             Added anomaly support for sr-policy min delay metrics.
           2020-10-02
             Added anomaly support for interface min delay metrics
           2020-07-21
             Remove deprecated interface profile probe interval and burst interval.";
        }
    
        revision "2020-03-31" {
          description
            "721 nohelp CLI for liveness, loopback, endpoint, src-port, named profile, distribution.
           2020-02-24
           Modifid type of service knobs from array to integer.
           2020-02-20
           Modifid type of service knobs from array to integer.
           2020-01-08
           Added new configure knob to specify source port for end-to-end DM session on RP.
           2019-11-29
           Revision IOS XR 7.2.1 Added PM named profile development.
           2019-11-14
           Revision IOS XR 7.2.1 Upate PM advertise delay config range.";
        }
    
        revision "2019-09-18" {
          description
            "Hid and disabled unsupported features for 7.1.1.";
        }
    
        revision "2019-04-05" {
          description
            "Establish semantic version baseline.";
        }
    
        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";
    
        typedef Pm-vrf-name-max-length {
          type xr:Cisco-ios-xr-string {
            length "1..32";
          }
          description "Pm vrf name max length";
        }
    
        typedef Profile-name-max-length {
          type xr:Cisco-ios-xr-string {
            length "1..256";
          }
          description "Profile name max length";
        }
    
        typedef Pm-measurement-mode {
          type enumeration {
            enum
              "pm-measurement-mode-type-one-way" {
              value 0;
              description
                "One-way measurement collecting only timestamp 1
               and 2";
            }
            enum
              "pm-measurement-mode-type-two-way" {
              value 1;
              description
                "two-way measurement collecting only timestamp 1
               , 2, 3 and 4";
            }
            enum
              "pm-measurement-mode-type-loop-back" {
              value 2;
              description
                "loopback measurement collecting only timestamp
               1 and 4";
            }
          }
          description "Pm measurement mode";
        }
    
        typedef Pm-afi {
          type string {
            pattern "(ipv4)|(ipv6)";
          }
          description
            "ipv4: Comment: v4 address family string, ipv6:
           Comment: v6 address family string";
        }
    
        typedef Pm-protocol-and-encap {
          type enumeration {
            enum
              "pm-payload-protocol-type-pm-mpls" {
              value 1;
              description
                "Use RF6374 with MPLS Encapsulation";
            }
            enum
              "pm-payload-protocol-type-twamp-light" {
              value 3;
              description "Use RFC5357";
            }
          }
          description "Pm protocol and encap";
        }
    
        typedef Pm-ip-address {
          type enumeration {
            enum "pm-ip-address-type-ipv4" {
              value 0;
              description "IPv4 nexthop address";
            }
            enum "pm-ip-address-type-ipv6" {
              value 1;
              description "IPv6 nexthop address";
            }
            enum "pm-ip-address-type-unknown" {
              value 2;
              description
                "unknown nexthop addrss type";
            }
          }
          description "Pm ip address";
        }
    
        typedef Pm-ld-measurement-mode {
          type enumeration {
            enum
              "pm-measurement-mode-type-loop-back" {
              value 2;
              description
                "loopback measurement collecting only timestamp
               1 and 4";
            }
          }
          description "Pm ld measurement mode";
        }
    
        grouping LIVENESS-DETECTION {
          description
            "Common node of liveness-profile-endpoint,
           liveness-name-profile-endpoint";
          container liveness-detection {
            description
              "PM Endpoint Liveness Detection";
            container logging {
              description
                "Enable syslog for liveness detection";
              leaf state-change {
                type empty;
                description
                  "Emit syslog when the liveness state change
                 detected";
              }
            }  // container logging
    
            leaf multiplier {
              type uint32 {
                range "2..10";
              }
              description
                "Liveness detection multiplier";
            }
          }  // container liveness-detection
        }  // grouping LIVENESS-DETECTION
    
        grouping THRESHOLD-CROSSING-CHECK-MINIMUM-DELAY {
          description
            "Common node of delay-profile-rsvp-te,
           delay-profile-sr-policy, delay-profile-endpoint,
           delay-name-profile-sr-policy,
           delay-name-profile-endpoint";
          leaf threshold-crossing-check-minimum-delay {
            type boolean;
            description
              "Enable Minimum-delay Threshold-check.";
          }
        }  // grouping THRESHOLD-CROSSING-CHECK-MINIMUM-DELAY
    
        grouping THRESHOLD-CROSSING-CHECK-AVERAGE-DELAY {
          description
            "Common node of delay-profile-rsvp-te,
           delay-profile-sr-policy, delay-profile-endpoint,
           delay-name-profile-sr-policy,
           delay-name-profile-endpoint";
          leaf threshold-crossing-check-average-delay {
            type boolean;
            description
              "Enable Average-delay Threshold-check.";
          }
        }  // grouping THRESHOLD-CROSSING-CHECK-AVERAGE-DELAY
    
        grouping PM-LIVENESS-DETECTION {
          description
            "Common node of liveness-profile-sr-policy,
           liveness-name-profile-sr-policy";
          container pm-liveness-detection {
            description "PM Liveness Detection";
            leaf multiplier {
              type uint32 {
                range "2..10";
              }
              description
                "Liveness detection multiplier";
            }
          }  // container pm-liveness-detection
        }  // grouping PM-LIVENESS-DETECTION
    
        grouping ADVERTISEMENT {
          description
            "Common node of delay-profile-interface,
           delay-profile-sr-policy, delay-profile-rsvp-te,
           delay-profile-endpoint,
           delay-name-profile-interface,
           delay-name-profile-sr-policy,
           delay-name-profile-endpoint";
          container advertisement {
            description "Advertisement Profile";
            container logging {
              description
                "Syslog configuration options";
              leaf delay-exceeded {
                type empty;
                description
                  "Emit syslog when the delay exceeds the
                 threshold";
              }
            }  // container logging
    
            container anomaly-check {
              description
                "Anomaly Check Advertisement Profile";
              container bounds {
                description
                  "Range of upper and lower bound in uSec";
                leaf upper-bound {
                  type uint32 {
                    range "0..200000";
                  }
                  description
                    "Upper Bound in uSec";
                }
    
                leaf lower-bound {
                  type uint32 {
                    range "0..200000";
                  }
                  description
                    "Lower Bound in uSec";
                }
              }  // container bounds
            }  // container anomaly-check
    
            container accelerated {
              description
                "Accelerated Advertisement Profile";
              leaf threshold {
                type uint32 {
                  range "0..100";
                }
                units "percentage";
                default "20";
                description
                  "Accelerated advertisement threshold percentage";
              }
    
              leaf minimum-change {
                type uint32 {
                  range "0..100000";
                }
                default "500";
                description
                  "Accelerated advertisement minimum value in
                 uSec";
              }
    
              leaf enable {
                type empty;
                description
                  "Enable Accelerated Advertisement";
              }
            }  // container accelerated
    
            container periodic {
              description
                "Periodic Advertisement Profile";
              leaf interval {
                type uint32 {
                  range "30..3600";
                }
                units "second";
                default "120";
                description
                  "Periodic advertisement and metric aggregation
                 interval in seconds";
              }
    
              leaf threshold {
                type uint32 {
                  range "0..100";
                }
                units "percentage";
                default "10";
                description
                  "Periodic advertisement threshold percentage
                 change (compared to last advertisement)";
              }
    
              leaf minimum-change {
                type uint32 {
                  range "0..100000";
                }
                description
                  "Periodic advertisement minimum change in uSec
                 (compared to last advertisement)";
              }
    
              leaf disable {
                type empty;
                description
                  "Enable Performance Measurement Periodic
                 Advertisement";
              }
            }  // container periodic
          }  // container advertisement
        }  // grouping ADVERTISEMENT
    
        grouping THRESHOLD-CROSSING-CHECK-MAXIMUM-DELAY {
          description
            "Common node of delay-profile-rsvp-te,
           delay-profile-sr-policy, delay-profile-endpoint,
           delay-name-profile-sr-policy,
           delay-name-profile-endpoint";
          leaf threshold-crossing-check-maximum-delay {
            type boolean;
            description
              "Enable Maximum-delay Threshold-check.";
          }
        }  // grouping THRESHOLD-CROSSING-CHECK-MAXIMUM-DELAY
    
        grouping PROBE {
          description
            "Common node of delay-profile-endpoint,
           delay-name-profile-endpoint";
          container probe {
            description "PM Delay Profile Probe";
            container type-of-service {
              description
                "PM Delay Profile Type Of Service";
              leaf dscp-value {
                type uint32 {
                  range "0..63";
                }
                description
                  "DSCP value indicating TOS level used by
                 protocol twamp-light";
              }
            }  // container type-of-service
    
            leaf computation-interval {
              type uint32 {
                range "1..3600";
              }
              units "second";
              description
                "The value for delay profile probe computation
               interval in seconds";
            }
    
            leaf measurement-mode {
              type Pm-measurement-mode;
              description
                "Configuration for measurement mode";
            }
    
            leaf burst-interval {
              type uint32 {
                range "30..15000";
              }
              description
                "The value for delay profile probe burst
               interval";
            }
          }  // container probe
        }  // grouping PROBE
    
        grouping PM-SRPOLICY-PROBE-CFG-PROBE {
          description
            "Common node of delay-profile-endpoint,
           delay-name-profile-endpointCommon node of
           delay-profile-sr-policy,
           delay-name-profile-sr-policy";
          container probe {
            description "PM Delay Profile Probe";
            container type-of-service {
              description
                "PM Delay Profile Type Of Service";
              leaf dscp-value {
                type uint32 {
                  range "0..63";
                }
                description
                  "DSCP value indicating TOS level used by
                 protocol twamp-light";
              }
    
              leaf traffic-class-value {
                type uint32 {
                  range "0..7";
                }
                description
                  "Traffic Class value indicating TOS level used
                 by protocol pm-mpls";
              }
            }  // container type-of-service
    
            container sweep {
              description
                "Enable ECMP hashing by sweeping a field in the
               probe packet";
              container destination {
                description
                  "Configuration for destination address sweeping
                 range, only IPv4 address is supported. Used by
                 IPv4, IPv6 and NULL endpoint SR Policy.";
                leaf address-type {
                  type Pm-ip-address;
                  description
                    "Type of address (Only supports
                   PM_IP_ADDRESS_TYPE_IPV4)";
                }
    
                leaf address {
                  type inet:ip-address-no-zone;
                  description
                    "Starting address for destination sweeping";
                }
    
                leaf range {
                  type uint32 {
                    range "0..128";
                  }
                  description "Sweeping range";
                }
              }  // container destination
            }  // container sweep
    
            container protocol {
              description
                "Protocol used for measurement probe messages";
              leaf protocol-type {
                type Pm-protocol-and-encap;
                description "Type of protocol";
              }
            }  // container protocol
    
            leaf computation-interval {
              type uint32 {
                range "1..3600";
              }
              units "second";
              description
                "The value for delay profile probe computation
               interval in seconds";
            }
    
            leaf measurement-mode {
              type Pm-measurement-mode;
              description
                "Configuration for measurement mode";
            }
    
            leaf burst-interval {
              type uint32 {
                range "30..15000";
              }
              description
                "The value for delay profile probe burst
               interval";
            }
          }  // container probe
        }  // grouping PM-SRPOLICY-PROBE-CFG-PROBE
    
        grouping PM-PROBE-CFG-PROBE {
          description
            "Common node of delay-profile-endpoint,
           delay-name-profile-endpointCommon node of
           delay-profile-sr-policy,
           delay-name-profile-sr-policyCommon node of
           delay-profile-interface,
           delay-name-profile-interface";
          container probe {
            description "PM Delay Profile Probe";
            container type-of-service {
              description
                "PM Delay Profile Type Of Service";
              leaf traffic-class-value {
                type uint32 {
                  range "0..7";
                }
                description
                  "Traffic Class value indicating TOS level used
                 by protocol pm-mpls";
              }
    
              leaf dscp-value {
                type uint32 {
                  range "0..63";
                }
                description
                  "DSCP value indicating TOS level used by
                 protocol twamp-light";
              }
            }  // container type-of-service
    
            container protocol {
              description
                "Protocol used for measurement probe messages";
              leaf protocol-type {
                type Pm-protocol-and-encap;
                description "Type of protocol";
              }
            }  // container protocol
    
            leaf measurement-mode {
              type Pm-measurement-mode;
              description
                "Configuration for measurement mode";
            }
    
            leaf burst-interval {
              type uint32 {
                range "30..15000";
              }
              default "3000";
              description
                "The value for delay profile burst interval in
               mSec";
            }
    
            leaf computation-interval {
              type uint32 {
                range "1..3600";
              }
              units "second";
              default "30";
              description
                "The value for delay profile probe computation
               interval in seconds";
            }
          }  // container probe
        }  // grouping PM-PROBE-CFG-PROBE
    
        grouping PM-SRPOLICY-LIVE-PROBE-CFG-PROBE {
          description
            "Common node of delay-profile-endpoint,
           delay-name-profile-endpointCommon node of
           delay-profile-sr-policy,
           delay-name-profile-sr-policyCommon node of
           delay-profile-interface,
           delay-name-profile-interfaceCommon node of
           liveness-profile-sr-policy,
           liveness-name-profile-sr-policy";
          container probe {
            description
              "PM Liveness Profile Probe";
            container type-of-service {
              description
                "PM Liveness Profile Type Of Service";
              leaf dscp-value {
                type uint32 {
                  range "0..63";
                }
                description
                  "DSCP value indicating TOS level used by
                 protocol twamp-light";
              }
            }  // container type-of-service
    
            container sweep {
              description
                "Enable ECMP hashing by sweeping a field in the
               probe packet";
              container destination {
                description
                  "Configuration for destination address sweeping
                 range, only IPv4 address is supported. Used by
                 IPv4, IPv6 and NULL endpoint SR Policy.";
                leaf address-type {
                  type Pm-ip-address;
                  description
                    "Type of address (Only supports
                   PM_IP_ADDRESS_TYPE_IPV4)";
                }
    
                leaf address {
                  type inet:ip-address-no-zone;
                  description
                    "Starting address for destination sweeping";
                }
    
                leaf range {
                  type uint32 {
                    range "0..128";
                  }
                  description "Sweeping range";
                }
              }  // container destination
            }  // container sweep
    
            leaf measurement-mode {
              type Pm-ld-measurement-mode;
              description
                "Configuration for measurement mode";
            }
    
            leaf burst-interval {
              type uint32 {
                range "30..15000";
              }
              description
                "The value for delay profile probe burst
               interval";
            }
          }  // container probe
        }  // grouping PM-SRPOLICY-LIVE-PROBE-CFG-PROBE
    
        grouping PM-ENDPOINT-LIVENESS-DETECTION-PROBE-CFG-PROBE {
          description
            "Common node of delay-profile-endpoint,
           delay-name-profile-endpointCommon node of
           delay-profile-sr-policy,
           delay-name-profile-sr-policyCommon node of
           delay-profile-interface,
           delay-name-profile-interfaceCommon node of
           liveness-profile-sr-policy,
           liveness-name-profile-sr-policyCommon node of
           liveness-profile-endpoint,
           liveness-name-profile-endpoint";
          container probe {
            description
              "PM Endpoint Liveness Profile Probe";
            container type-of-service {
              description
                "PM Liveness Profile Type Of Service";
              leaf dscp-value {
                type uint32 {
                  range "0..63";
                }
                description
                  "DSCP value indicating TOS level used by
                 protocol twamp-light";
              }
            }  // container type-of-service
    
            leaf burst-interval {
              type uint32 {
                range "30..15000";
              }
              description
                "The value for delay profile probe burst
               interval";
            }
    
            leaf measurement-mode {
              type Pm-ld-measurement-mode;
              description
                "Configuration for measurement mode";
            }
          }  // container probe
        }  // grouping PM-ENDPOINT-LIVENESS-DETECTION-PROBE-CFG-PROBE
    
        container performance-measurement {
          description
            "The root of performance-measurement configuration";
          container liveness-profile-sr-policy {
            description
              "Performance-measurement SR Policy liveness
             profile";
            uses PM-LIVENESS-DETECTION;
    
            uses PM-SRPOLICY-LIVE-PROBE-CFG-PROBE;
          }  // container liveness-profile-sr-policy
    
          container liveness-name-profile-endpoints {
            description
              "Endpointliveness name profile table";
            list liveness-name-profile-endpoint {
              key "profile-name";
              description
                "Endpoint liveness name profile";
              leaf profile-name {
                type Profile-name-max-length;
                description "Profile name";
              }
    
              uses LIVENESS-DETECTION;
    
              uses PM-ENDPOINT-LIVENESS-DETECTION-PROBE-CFG-PROBE;
            }  // list liveness-name-profile-endpoint
          }  // container liveness-name-profile-endpoints
    
          container protocol {
            description "PM protocols";
            container twamp-light {
              description "Twamp-light protocol";
              container delay-measurement {
                description "Delay measurement";
                container unauthenticated {
                  description
                    "Unauthenticated mode";
                  leaf querier-source-port {
                    type uint32 {
                      range "862..14999";
                    }
                    description
                      "UDP port opened on Route Processor to be
                     used as source port in queries, support
                     range from 1024 to 14999";
                  }
    
                  leaf ipv4-timestamp1 {
                    type uint32 {
                      range "256..23999";
                    }
                    description
                      "Label to put timestamp 1 on a IPv4 packet";
                  }
    
                  leaf ipv6-timestamp2 {
                    type uint32 {
                      range "256..23999";
                    }
                    description
                      "Label to put timestamp2 on a IPv6 packet";
                  }
    
                  leaf ipv4-timestamp2 {
                    type uint32 {
                      range "256..23999";
                    }
                    description
                      "Label to put timestamp2 on a IPv4 packet";
                  }
    
                  leaf querier-destination-port {
                    type uint32 {
                      range "862..14999";
                    }
                    description
                      "UDP port opened to be used as destination
                     port in queries, support reserved 862 port
                     for TWAMP or 1024 to 14999";
                  }
    
                  leaf ipv6-timestamp1 {
                    type uint32 {
                      range "256..23999";
                    }
                    description
                      "Label to put timestamp 1 on a IPv6 packet";
                  }
                }  // container unauthenticated
              }  // container delay-measurement
            }  // container twamp-light
          }  // container protocol
    
          container delay-profile-endpoint {
            description
              "Performance-measurement Endpoint delay profile";
            uses THRESHOLD-CROSSING-CHECK-AVERAGE-DELAY;
    
            uses ADVERTISEMENT;
    
            uses THRESHOLD-CROSSING-CHECK-MAXIMUM-DELAY;
    
            uses PROBE;
    
            uses THRESHOLD-CROSSING-CHECK-MINIMUM-DELAY;
          }  // container delay-profile-endpoint
    
          container delay-name-profile-sr-policies {
            description
              "SR Policy delay name profile table";
            list delay-name-profile-sr-policy {
              key "profile-name";
              description
                "SR Policy delay name profile";
              leaf profile-name {
                type Profile-name-max-length;
                description "Profile name";
              }
    
              uses THRESHOLD-CROSSING-CHECK-AVERAGE-DELAY;
    
              uses ADVERTISEMENT;
    
              uses THRESHOLD-CROSSING-CHECK-MAXIMUM-DELAY;
    
              uses PM-SRPOLICY-PROBE-CFG-PROBE;
    
              uses THRESHOLD-CROSSING-CHECK-MINIMUM-DELAY;
            }  // list delay-name-profile-sr-policy
          }  // container delay-name-profile-sr-policies
    
          container delay-profile-rsvp-te {
            description
              "Performance-measurement RSVP-TE delay profile";
            container probe {
              description
                "PM Delay Profile Probe";
              container type-of-service {
                description
                  "PM Delay Profile Type Of Service";
                leaf dscp-value {
                  type uint32 {
                    range "0..63";
                  }
                  description
                    "DSCP value indicating TOS level used by
                   protocol twamp-light";
                }
    
                leaf traffic-class-value {
                  type uint32 {
                    range "0..7";
                  }
                  description
                    "Traffic Class value indicating TOS level used
                   by protocol pm-mpls";
                }
              }  // container type-of-service
    
              container protocol {
                description
                  "Protocol used for measurement probe messages";
                leaf protocol-type {
                  type Pm-protocol-and-encap;
                  description "Type of protocol";
                }
              }  // container protocol
    
              leaf burst-interval {
                type uint32 {
                  range "30..15000";
                }
                description
                  "The value for delay profile probe burst
                 interval";
              }
    
              leaf measurement-mode {
                type Pm-measurement-mode;
                description
                  "Configuration for measurement mode";
              }
    
              leaf computation-interval {
                type uint32 {
                  range "1..3600";
                }
                units "second";
                description
                  "The value for delay profile probe computation
                 interval in seconds";
              }
            }  // container probe
    
            uses THRESHOLD-CROSSING-CHECK-AVERAGE-DELAY;
    
            uses ADVERTISEMENT;
    
            uses THRESHOLD-CROSSING-CHECK-MAXIMUM-DELAY;
    
            uses THRESHOLD-CROSSING-CHECK-MINIMUM-DELAY;
          }  // container delay-profile-rsvp-te
    
          container delay-name-profile-endpoints {
            description
              "Endpoint delay name profile table";
            list delay-name-profile-endpoint {
              key "profile-name";
              description
                "Endpoint delay name profile";
              leaf profile-name {
                type Profile-name-max-length;
                description "Profile name";
              }
    
              uses THRESHOLD-CROSSING-CHECK-AVERAGE-DELAY;
    
              uses ADVERTISEMENT;
    
              uses THRESHOLD-CROSSING-CHECK-MAXIMUM-DELAY;
    
              uses PROBE;
    
              uses THRESHOLD-CROSSING-CHECK-MINIMUM-DELAY;
            }  // list delay-name-profile-endpoint
          }  // container delay-name-profile-endpoints
    
          container liveness-profile-endpoint {
            description
              "Performance-measurement Endpoint liveness
             profile";
            uses LIVENESS-DETECTION;
    
            uses PM-ENDPOINT-LIVENESS-DETECTION-PROBE-CFG-PROBE;
          }  // container liveness-profile-endpoint
    
          container delay-profile-interface {
            description
              "Performance-measurement interface delay profile";
            uses ADVERTISEMENT;
    
            uses PM-PROBE-CFG-PROBE;
          }  // container delay-profile-interface
    
          container delay-name-profile-interfaces {
            description
              "Interface delay name profile table";
            list delay-name-profile-interface {
              key "profile-name";
              description
                "Interface delay name profile";
              leaf profile-name {
                type Profile-name-max-length;
                description "Profile name";
              }
    
              uses ADVERTISEMENT;
    
              uses PM-PROBE-CFG-PROBE;
            }  // list delay-name-profile-interface
          }  // container delay-name-profile-interfaces
    
          container endpoints {
            description
              "Configure performance-measurement Endpoint";
            list endpoint {
              key "dst-addr-type dst-addr vrf";
              description
                "Configure performance-measurement Endpoint";
              container endpoint-delay-measurement {
                description
                  "Endpoint delay measurement";
                leaf endpoint-profile-name {
                  type xr:Cisco-ios-xr-string {
                    length "1..256";
                  }
                  description
                    "Endpoint delay profile name";
                }
    
                leaf endpoint-enable-delay-measurement {
                  type empty;
                  description
                    "Enable endpoint delay measurement";
                }
              }  // container endpoint-delay-measurement
    
              container source-address {
                presence
                  "Indicates a source-address node is configured.";
                description
                  "Endpoint source address";
                leaf src-addr-type {
                  type Pm-ip-address;
                  mandatory true;
                  description
                    "Type of IP Address";
                }
    
                leaf src-addr {
                  type inet:ip-address-no-zone;
                  mandatory true;
                  description
                    "Source IP Address";
                }
              }  // container source-address
    
              leaf enable-endpoint {
                type empty;
                description
                  "Enable endpoint submode";
              }
    
              leaf description {
                type string {
                  length "1..255";
                }
                description
                  "A textual description of the Endpoint";
              }
    
              leaf dst-addr-type {
                type Pm-afi;
                description "Type of IP Address";
              }
    
              leaf dst-addr {
                type inet:ip-address-no-zone;
                description
                  "Destination IP address";
              }
    
              leaf vrf {
                type Pm-vrf-name-max-length;
                description "VRF name";
              }
            }  // list endpoint
          }  // container endpoints
    
          container delay-profile-sr-policy {
            description
              "Performance-measurement SR Policy delay profile";
            uses THRESHOLD-CROSSING-CHECK-AVERAGE-DELAY;
    
            uses ADVERTISEMENT;
    
            uses THRESHOLD-CROSSING-CHECK-MAXIMUM-DELAY;
    
            uses PM-SRPOLICY-PROBE-CFG-PROBE;
    
            uses THRESHOLD-CROSSING-CHECK-MINIMUM-DELAY;
          }  // container delay-profile-sr-policy
    
          container interfaces {
            description
              "Configure performance-measurement interfaces";
            list interface {
              key "interface-name";
              description
                "Configure a performance-measurement interface";
              container delay-measurement {
                description
                  "Interface delay measurement";
                container delay-profile {
                  description
                    "Interface delay profile";
                  leaf pm-profile-name {
                    type xr:Cisco-ios-xr-string {
                      length "1..256";
                    }
                    description
                      "Interface delay profile name";
                  }
                }  // container delay-profile
    
                leaf enable-delay-measurement {
                  type empty;
                  description
                    "Enable interface delay measurement";
                }
    
                leaf advertise-delay {
                  type uint32 {
                    range "1..16777215";
                  }
                  description
                    "The value for interface delay measurement
                   advertisement delay in uSec";
                }
              }  // container delay-measurement
    
              container nexthop-address {
                description
                  "PM Delay Nexthop Address";
                leaf nexthop-address-type {
                  type Pm-ip-address;
                  description
                    "Type of IP Address of nexthop";
                }
    
                leaf nexthop-address {
                  type inet:ip-address-no-zone;
                  description
                    "Address of nexthop";
                }
              }  // container nexthop-address
    
              leaf enable-interface {
                type empty;
                description
                  "Enable interface submode";
              }
    
              leaf interface-name {
                type xr:Interface-name;
                description "Interface name";
              }
            }  // list interface
          }  // container interfaces
    
          container liveness-name-profile-sr-policies {
            description
              "SR Policy liveness name profile table";
            list liveness-name-profile-sr-policy {
              key "profile-name";
              description
                "SR Policy liveness name profile";
              leaf profile-name {
                type Profile-name-max-length;
                description "Profile name";
              }
    
              uses PM-LIVENESS-DETECTION;
    
              uses PM-SRPOLICY-LIVE-PROBE-CFG-PROBE;
            }  // list liveness-name-profile-sr-policy
          }  // container liveness-name-profile-sr-policies
    
          leaf enable-performance-measurement {
            type empty;
            description
              "Enable the performance measurement feature";
          }
        }  // container performance-measurement
      }  // module Cisco-IOS-XR-perf-meas-cfg
    

© 2023 YumaWorks, Inc. All rights reserved.