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";
        }
    
        container performance-measurement {
          description
            "The root of performance-measurement configuration";
          container liveness-profile-sr-policy {
            description
              "Performance-measurement SR Policy liveness
             profile";
            container pm-liveness-detection {
              description
                "PM Liveness Detection";
              leaf multiplier {
                type uint32 {
                  range "2..10";
                }
                description
                  "Liveness detection multiplier";
              }
            }  // container pm-liveness-detection
    
            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
          }  // 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";
              }
    
              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
    
              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
            }  // 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";
            leaf threshold-crossing-check-average-delay {
              type boolean;
              description
                "Enable Average-delay Threshold-check.";
            }
    
            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
    
            leaf threshold-crossing-check-maximum-delay {
              type boolean;
              description
                "Enable Maximum-delay Threshold-check.";
            }
    
            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
    
            leaf threshold-crossing-check-minimum-delay {
              type boolean;
              description
                "Enable Minimum-delay Threshold-check.";
            }
          }  // 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";
              }
    
              leaf threshold-crossing-check-average-delay {
                type boolean;
                description
                  "Enable Average-delay Threshold-check.";
              }
    
              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
    
              leaf threshold-crossing-check-maximum-delay {
                type boolean;
                description
                  "Enable Maximum-delay Threshold-check.";
              }
    
              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
    
              leaf threshold-crossing-check-minimum-delay {
                type boolean;
                description
                  "Enable Minimum-delay Threshold-check.";
              }
            }  // 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
    
            leaf threshold-crossing-check-average-delay {
              type boolean;
              description
                "Enable Average-delay Threshold-check.";
            }
    
            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
    
            leaf threshold-crossing-check-maximum-delay {
              type boolean;
              description
                "Enable Maximum-delay Threshold-check.";
            }
    
            leaf threshold-crossing-check-minimum-delay {
              type boolean;
              description
                "Enable Minimum-delay Threshold-check.";
            }
          }  // 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";
              }
    
              leaf threshold-crossing-check-average-delay {
                type boolean;
                description
                  "Enable Average-delay Threshold-check.";
              }
    
              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
    
              leaf threshold-crossing-check-maximum-delay {
                type boolean;
                description
                  "Enable Maximum-delay Threshold-check.";
              }
    
              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
    
              leaf threshold-crossing-check-minimum-delay {
                type boolean;
                description
                  "Enable Minimum-delay Threshold-check.";
              }
            }  // list delay-name-profile-endpoint
          }  // container delay-name-profile-endpoints
    
          container liveness-profile-endpoint {
            description
              "Performance-measurement Endpoint liveness
             profile";
            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
    
            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
          }  // container liveness-profile-endpoint
    
          container delay-profile-interface {
            description
              "Performance-measurement interface delay profile";
            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
    
            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
          }  // 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";
              }
    
              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
    
              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
            }  // 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";
            leaf threshold-crossing-check-average-delay {
              type boolean;
              description
                "Enable Average-delay Threshold-check.";
            }
    
            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
    
            leaf threshold-crossing-check-maximum-delay {
              type boolean;
              description
                "Enable Maximum-delay Threshold-check.";
            }
    
            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
    
            leaf threshold-crossing-check-minimum-delay {
              type boolean;
              description
                "Enable Minimum-delay Threshold-check.";
            }
          }  // 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";
              }
    
              container pm-liveness-detection {
                description
                  "PM Liveness Detection";
                leaf multiplier {
                  type uint32 {
                    range "2..10";
                  }
                  description
                    "Liveness detection multiplier";
                }
              }  // container pm-liveness-detection
    
              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
            }  // 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.